WEB・アプリ開発

Middlemanでerbのコードブロックをerbに書く方法

記事内にerbのコードブロックを書くとエラーが発生

私は記事をMarkdownで書いていますが、より柔軟に変数やロジックを使いたいため、拡張子を.html.md.erbとし、erbで動的に生成したMarkdownがhtmlに変換されるようにしています。

その記事内で以下のコードを書きました。


すると以下のエラーが発生しました。


エラーの全量はこちら

原因

erbのファイルなので、erbのコードが実行されてしまうということです。実行されるべき場所ではないので、エラーが発生します。

解決策

%を2つにするとerbのコードをエスケープ(実行されないように)できます。見た目は意図した通り%1つだけ表示されます。具体的には以下のように書きます。

スポンサーリンク

拡張子が.html.md.erbの場合

拡張子が.html.erbの場合

参考

erbのタグをエスケープするには%% とパーセントを2つ書く。