我希望有人可以提供帮助 -
在我的Middleman项目中,我希望博客文章位于/source/
内的子目录中(例如'/ source / webdev / blog /)。
我按照说明进行了操作,混淆了(我是Middleman的新手和一个完整的Ruby新手)并在调用时显示了链接:article.path
但是 - 无论我在config.rb中设置什么,链接都显示为相对URL。
我已禁用:relative_assets
(似乎无论如何都没有任何区别),而且我没有使用'directory_indexes'。任何帮助都是巨大的!
我的config.rb看起来像这样:
activate :blog do |blog|
# set options on blog
blog.permalink = "/webdev/blog/{year}/{title}.html" # but article.path ends up relative!
blog.sources = "/webdev/blog/{year}/{title}.html"
end
所以我的博客文章建立在/webdev/blog/2014/test-article.html
之上,这就是我想要的。
部分我希望在网站的任何地方使用,而不仅仅是主页:
<ul>
<% blog.articles.each do |article| %>
<li>
<%= link_to article.title, article.path %>
</li>
<% end %>
</ul>
这给了我一个链接列表,如预期的那样,但是有相对的URL - 也就是说,当链接列表在/webdev/
的页面上时,它们会将我带到/webdev/webdev/blog/2014/some-article.html
grrrr。 ..
我可能做错了什么?我错过了哪些选项?
感谢您的期待
答案 0 :(得分:0)
嗯,这不是我想要的答案,但我已经设法修复了#39;现在的问题 - 不是很优雅,我会承认(我提到过我不会说Ruby吗?)。
在经历了一些绝望的混乱之后,我实际上向article.path
添加了一个正斜杠:
= link_to article.title, '/'+ article.path
..它有效。
我现在就这样做。
我仍然想知道这个小问题是否真的有解决方案......
答案 1 :(得分:0)
以下配置需要添加到config.rb
:
activate :blog do |blog|
blog.prefix = "webdev/blog"
end
然后,您的博客帖子应该在您想要的位置生成。