关于中间人的博客:如何使用不在主页上的博客配置网站?

时间:2016-08-30 21:08:55

标签: ruby-on-rails middleman

我有一个网站我正在创建,here与Middleman。我希望有一个博客,可通过"更新"在网站上访问。导航按钮,但我似乎无法弄明白。我知道如何建立中间人博客网站,但这将博客本身放在index.html。那么如何设置配置和其他文件以便我可以访问newsite.com/updates.html并查看博客?

我尝试在现有项目中设置博客,在目录中运行midman init --template = blog,这样可以获取文件,但它创建了我不想要的单独索引文件。我尝试将config.rb更改为:

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

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

1 个答案:

答案 0 :(得分:1)

好吧,让它运转起来!作为参考,这是我做的:

  1. 我创建了一个名为testblog的独立项目文件夹。在其中,我使用博客类型命令初始化中间人:

    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. 我在/ source中创建了所有必需的新博客文件,但index.html.erb除外:

    • tag.html.erb
    • layout.erb
    • feed.xml.builder
    • calendar.html.erb
  4. 我将test.html中的tag.html.erb,feed.xml.builder和calendar.html.erb的内容复制到我个人网站博客中的相应文件中。

  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. 捆绑安装,在我的情况下,我必须更新以使其全部正常工作,但那就是它!