我有一个网站我正在创建,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
但那并没有做任何事情,所以也许我误解了那是为了什么。任何帮助非常感谢。
答案 0 :(得分:1)
好吧,让它运转起来!作为参考,这是我做的:
我创建了一个名为testblog的独立项目文件夹。在其中,我使用博客类型命令初始化中间人:
middleman init --template=blog
在我已创建的非博客类型的中间人网站中,我设置了我的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
我在/ source中创建了所有必需的新博客文件,但index.html.erb除外:
我将test.html中的tag.html.erb,feed.xml.builder和calendar.html.erb的内容复制到我个人网站博客中的相应文件中。
在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>
然后,我从testblog项目中获取了source / index.html.erb的内容,并将其粘贴到我希望博客出现的页面中,在本例中是我的updates.html.erb文件。
捆绑安装,在我的情况下,我必须更新以使其全部正常工作,但那就是它!