私は自分のサイトに Middleman Blog gem を使用していますが、デフォルトでは、ブログ記事を配置する必要があるように見えますが/source
、vim でツリーを見て、そこにある他のファイルの 1 つを見つけようとすると、特に適切ではありません (たとえばテンプレート)。
ドキュメントを見ると、ブログの記事を移動して、blog_articles
フォルダーなどの別の場所に保存する方法があるかどうかわかりません。
これは可能ですか?
以下を 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
。(ファイルを変更するときは middleman を再起動する必要があるかもしれませんconfig.rb
。)
blog.permalink
も設定する必要があったことに注意してくださいblog.sources
。設定だけではうまくいきませんでした。
おまけのヒント: 私はactivate :directory_indexes
自分のconfig.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
。
ソースディレクトリ内にブログフォルダを作りました。次に、投稿ディレクトリを作成し、すべての投稿をそこに移動しました。ソース/ブログ/投稿/...
そしてconfig.rb内
activate :blog do |blog|
..........
blog.permalink = "blog/:year/:month/:day/:title.html"
blog.sources = "blog/posts/:year-:month-:day-:title.html"
.........
end
それが発生するコードを見ると、:sources
使用できるオプションがあります。ソースを調べてみると、次の例があります。
https://github.com/middleman/middleman-blog/tree/master/fixtures/article-dirs-app
上記の解決策は、パーマリンク/ソース構成オプションに次の変更を加えたときに機能しました。
blog.permalink = ":title.html"
blog.sources = "posts/:year-:month-:day-:title.html"
パーマリンクは、ソースが投稿の場所である Web ブラウザーの URL に表示される場所です。
仲介者の使用 3.2.1
私は middleman-blog 拡張機能をいじりましたが、その相対的な不透明さのためにあきらめました。ただし、ソースを見ると、オプションがうまくいくように見えprefix
ますか? プレフィックスが URL プレフィックスなのかローカル パス プレフィックスなのか、やや不明確です。
activate :blog do |blog|
blog.prefix = "/blog_articles"
end