在Middleman中移动博客文章位置

时间:2013-01-14 12:09:50

标签: ruby blogs middleman

我正在为我的网站使用Middleman Blog gem,但默认情况下,博客文章似乎需要位于/source,这在查看vim中的树并尝试定位时并不是特别好其中一个其他文件(例如模板)。

从文档中看,我无法看到是否有任何方式移动博客文章,以便将它们存储在其他位置,例如blog_articles文件夹或类似文件。

这可能吗?

5 个答案:

答案 0 :(得分:11)

将以下内容放入config.rb文件中。

activate :blog do |blog|
  blog.permalink = ":year-:month-:day-:title.html"
  blog.sources = "blog_articles/:title.html"
end

假设您在2012-01-01-example-article.html.markdown文件夹中存储了帖子source/blog_articles

您现在应该看到包含此​​网址的帖子:http://localhost:4567/2012-01-01-example-article.html。 (更改config.rb文件时可能需要重新启动中间人。)

请注意,我还必须设置blog.permalink,仅blog.sources设置无法解决问题。

奖励提示:我的activate :directory_indexes文件中有config.rb。此设置为您提供外观漂亮的网址,而不包含.html部分。 如果您希望在博文中使用相同内容,则可以从.html设置中删除blog.permalink。像这样:

activate :blog do |blog|
  blog.permalink = ":year-:month-:day-:title"
  blog.sources = "blog_articles/:title.html"
end

现在,您可以使用以下网址查看帖子:http://localhost:4567/2012-01-01-example-article

答案 1 :(得分:0)

我与中间人博客扩展混淆,但放弃了它的相对不透明性。但是,在查看the source时,prefix选项似乎可以帮您解决问题?有些不清楚前缀是URL前缀还是本地路径前缀:

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

答案 2 :(得分:0)

通过查看它发现的代码,您可以使用:sources选项。如果你在源代码中找到了一个例子:

https://github.com/middleman/middleman-blog/tree/master/fixtures/article-dirs-app

答案 3 :(得分:0)

当我对永久链接/源配置选项进行以下更改时,上面的解决方案对我有用:

blog.permalink = ":title.html"
blog.sources   = "posts/:year-:month-:day-:title.html"

固定链接是指在网络浏览器网址中显示的位置,其中来源是帖子的位置。

使用中间人3.2.1

答案 4 :(得分:0)

我在源目录中创建了博客文件夹。然后我制作帖子目录并将所有帖子移到那里。源极/博客/帖子/...

然后在config.rb里面

activate :blog do |blog|
..........
  blog.permalink = "blog/:year/:month/:day/:title.html"
  blog.sources = "blog/posts/:year-:month-:day-:title.html"
  .........
end