6

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

通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他位置,例如blog_articles文件夹或类似位置。

这可能吗?

4

5 回答 5

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

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

请注意,我还必须设置blog.permalinkblog.sources仅设置并没有解决问题。

额外提示:我activate :directory_indexesconfig.rb文件中有。此设置为您提供了漂亮的 URL,没有.html部分。如果你希望你的博客文章也一样,你可以.html从你的blog.permalink设置中删除。像这样:

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

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

于 2013-02-08T10:28:52.860 回答
0

我搞砸了中间人博客扩展,但因为它相对不透明而放弃了。但是,在查看源代码时,该选项似乎prefix可以为您解决问题?有点不清楚前缀是 URL 前缀还是本地路径前缀:

activate :blog do |blog|
  blog.prefix = "/blog_articles"
end
于 2013-01-15T14:38:24.887 回答
0

通过查看它发生的代码:sources,您可以使用一个选项。如果您在源代码中四处寻找,则有一个示例:

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

于 2013-01-16T19:07:46.827 回答
0

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

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

永久链接是它将出现在 Web 浏览器 url 中的位置,其中源是帖子的位置。

使用中间人 3.2.1

于 2014-01-01T17:21:53.987 回答
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
于 2014-06-23T13:45:03.910 回答