2016-08-30 96 views
2

我有一个网站,我正在创建,here与Middleman。我想要一个博客,通过“更新”导航按钮在网站上访问,但我似乎无法弄清楚。我知道如何建立中间人博客网站,但是这使得博客本身位于index.html。那么,如何设置配置和其他文件,以便我可以访问newsite.com/updates.html并查看博客?博客中间人:如何配置博客不在主页上的网站?

我尝试通过在目录中运行middleman init --template = blog来设置我的现有项目中的博客,该工具获取文件,但它创建了我不想要的单独索引文件。我试着改变config.rb来说:

activate :blog do |blog| 
    blog.prefix = "updates" (also tried "updates.html") 
end 

但是这并没有做任何事情,所以也许我误解了这是什么。任何帮助非常感谢。

回答

1

好吧,让它工作!作为参考,这是我做的:

  1. 我创建了一个单独的项目文件夹,名为testblog。在这里面,我用博客type命令初始化中间人:

    middleman init --template=blog 
    
  2. 我已经创建,非博客类网站的中间人

    ,我建立了我的config.rb和Gemfile中包括所有的博客的东西,我现在已经在testblog中了。具体来说,我的Gemfile我说:

    gem 'middleman-blog' 
    
    gem "builder", "~> 3.0" 
    
    gem 'redcarpet', '~> 3.3', '>= 3.3.3' 
    

    和我config.rb我说:

    activate :blog do |blog| 
        blog.tag_template = "tag.html" 
        blog.calendar_template = "calendar.html" 
    end 
    
  3. 我创建/源中的所有必要的新博客的文件,除了index.html.erb :

    • tag.html.erb
    • layout.erb
    • feed.xml.buil明镜
    • calendar.html.erb
  4. 我复制tag.html.erb,feed.xml.builder和calendar.html.erb的内容从testblog到各自的文件在我的个人网站博客。

  5. 在layout.erb,我复制并粘贴从testblog项目的内容,我和别人一样真实的项目,但后来我删除了所有的基础html标签,离开这个:

    <div id="main" role="main"> 
        <%= yield %> 
    </div> 
    
    <aside> 
        <h2>Recent Articles</h2> 
        <ol> 
        <% blog.articles[0...10].each do |article| %> 
         <li><%= link_to article.title, article %> <span><%= article.date.strftime('%b %e') %></span></li> 
        <% end %> 
        </ol> 
    
        <h2>Tags</h2> 
        <ol> 
        <% blog.tags.each do |tag, articles| %> 
         <li><%= link_to "#{tag} (#{articles.size})", tag_path(tag) %></li> 
        <% end %> 
        </ol> 
    
        <h2>By Year</h2> 
        <ol> 
        <% blog.articles.group_by {|a| a.date.year }.each do |year, articles| %> 
         <li><%= link_to "#{year} (#{articles.size})", blog_year_path(year) %></li> 
        <% end %> 
        </ol> 
    </aside> 
    
  6. 然后,我从testblog项目中获取source/index.html.erb的内容,并将其粘贴到我希望博客出现的页面中,在这种情况下,我的updates.html.erb文件。

  7. 捆绑安装,在我的情况下,我不得不更新,以得到它的所有工作,但就是这样!