2014-12-13 75 views
2

我希望有人能帮助 -Middleman博客 - 如何确保article.path转化为绝对路径?

在我的中间人的项目,我想的博客文章是在一个子目录中/source/(所以例如“/源/ Webdev的/博客/)。 我按照说明操作,混淆了(我是Middleman和一个完整的Ruby新手),并在调用时出现链接:article.path 但是 - 无论我设置了什么,链接都显示为相关url config.rb。

我禁用了: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

我不熟悉中间人,但是你不需要'blog.sources'中的前导斜杠吗? – 2014-12-13 16:33:20

+0

从我收集的内容来看,在Middleman博客中,'blog.sources'是查找要构建的文章文件的位置,并且该部分正在为我工​​作,无论是否带有前导斜杠。谢谢你指出,但我会编辑,以避免任何混淆 – soba3 2014-12-14 11:52:27

回答

0

那么,这是不是很我一直在寻找的答案,但我已经成功地“修复”现在的问题 - 不是很优雅,我承认(我有没有提到我不会说Ruby?)。

后有些绝望折腾了,我身体加斜杠来article.path像这样:

= link_to article.title, '/'+ article.path 

..和它的工作。

我现在就与这一点。

我还是很想知道是否有真正解决这个小问题有...

0

下面的配置需要被添加到您的config.rb

activate :blog do |blog| 
blog.prefix = "webdev/blog" 
end 

你的博客文章应该在你想要的位置生成。

+0

谢谢 - 这是我原来的配置设置,但我删除/改变它到我目前的设置,因为我不能'blog.articles.each'选择建立任何链接。由于我对这一切都很陌生,因此我决定解读URL问题比为什么blog.articles上的迭代变得空白更简单。 – soba3 2015-01-20 13:40:48

相关问题