middleman-blogのレイアウト設定について
middleman-blogの記事一覧でlayoutが有効にならない
middleman-blogでlayoutの指定を行っていたのですが、なぜだか反映されません…。
activate :blog do |blog|
blog.name = 'blog'
blog.prefix = 'blog'
blog.layout = 'blog-layout' # ブログ用のカスタムレイアウトを指定。デフォルトはlayout
end
この状態で、 http://localhost:4567/blog/ にアクセスしてみても、blog-layout
が反映されておらず、layout
のままでした。
個別の記事は反映されていることが判明
ここで、2017-01-17-middleman.md
という記事を作ってみます。
---
title: 初めての記事
---
# ヘッダー1
初めての記事です。
その後、 http://localhost:4567/blog/2017/01/17/middleman.html にアクセスしてみたところ、blog-layout
が反映されていました。
middleman-blogのlayoutでの指定は、個別記事のレイアウト指定であり、一覧記事のレイアウト指定はconfig.rb
では、できないようです。
記事一覧でレイアウトを指定する方法
index.html.erb
や、calendar.html.erb
や、tag.html.erb
のような記事一覧を扱うテンプレート側で、Frontmatterでレイアウトを指定すれば、個別でレイアウトを適用することができます。
---
pageable: true
per_page: 10
layout: blog-layout
---
省略
blog.layoutが効かない!と思ったら、この辺りを変更してみるとよいかと思います。
一括でレイアウト指定する方法はある
個別記事も記事一覧も同じレイアウトにしたいということであれば、config.rb
で設定することができます。
page '/blog/*.html', layout: 'blog-layout'
このようにすると、/blog/
以下は全てblog-layout
を使うようになるので、普段はこれでもいいかもしれません。
ただし、以下のようなイレギュラーなことをしようとすると、これだと行き詰まりました。
page '/blog/*.html', layout: 'blog-layout'
page '/blog/special/*.html', layout: 'special-layout' # 適用されずにblog-layoutになってしまう
こういう場合は、個別のテンプレートファイルのFrontmatterでlayoutを指定したほうがよさそうです。
Author And Source
この問題について(middleman-blogのレイアウト設定について), 我々は、より多くの情報をここで見つけました https://qiita.com/patorash/items/76e0deb24981e3035277著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .