WEB・アプリ開発

middleman-blogでyearやmonthやdayやtagページの生成をしない方法

記事内に商品プロモーションを含む場合があります

“middleman build --verbose” 実行時にエラーが発生

mddleman build --verboseで下のようなエラーが出ました。

エラーの全量のログはこちら
middleman-blogのバージョンはv3.6.0.beta.2です。

原因

middleman-blogは年ごと、月ごと、日ごとの一覧ページを自動的に生成します。ただ、私の場合は月ごとのみしか必要としていないので、calendar.slimを月ごと専用に変更してしまっています。
それなのに、middleman-blogは年ごとのページを生成しようとし、calendar.slimでmonthという変数が呼ばれてしまい、エラーが発生するということです。

解決策

現状のバージョンだとできないのですが、まだリリースバージョンにはマージされていないpull requestでそれぞれのページの生成をしないようにする機能が追加されました。

Add option to disable generating year, month, day or tag pages #235

これは後々リリースされると思いますが、現時点でも以下のようにすると使うことができます。

Gemfileの修正

middleman-blogの行を以下のように修正します。上記のpull requestのバージョンを直接 指定しています。

そしてbundle installをコマンドラインで実行します。

config.rbに追加

middleman-blogの設定をする箇所で、以下のように生成を止めたいページに対して、falseを指定します。

これでエラーは発生しなくなります。

そして、一つお願いしたいことがあります。

もしこの記事がお役に立てたのなら、下のボタンからSNSでシェアするか、あなたのブログでご紹介頂けないでしょうか?検索エンジンの仕組みで、同じ問題で今困っている方の目に届きやすくなります。もちろん、私としても記事を書くモチベーションになります。

記事への要望やダメ出しを書いて頂いても嬉しいです。定期的にエゴサーチしており、今後の記事で活かさせて頂きます。よろしくお願いいたします!