Middleman で独自の Ruby ロジック(変数)を組み込む方法(ヘルパー導入)

公式ドキュメント

まずここから見ましょう。

Middleman: ヘルパーメソッド

やり方

いくつかやり方が書いてありますが、今から新しくやるならば helpers ディレクトリを作ってその中に放り込むのが一番ラクです。

ハマりどころ

いくつかハマりどころがあります*1

1. helplers ディレクトリを置く場所はプロジェクト配下の場所である

間違っても source/helpers などと作ってはいけません。source/ と同列の場所に helpers/ を作ります。

2. helpers 内に置くヘルパのファイルの「ファイル名」は自由

「ファイル名には」命名規則はありません。

3. ヘルパの「モジュール名」には命名規則がある

ヘルパの「モジュール名」には、「ファイル名」に基づいた命名規則があります。いつものやつです。以下の例を参考にしてください。

3-1. ファイル名が hello.rb の場合

「モジュール名」は Hello になります。

3-2. ファイル名が my_helper.rb の場合

「モジュール名」は MyHelper になります。

実例

以下のようなヘルパファイルを作ったとします。場所(ファイル名)は project_root/helpers/our_helper.rb とします。our_helper.rb の中身は以下であるとします。

module OurHelper
  def greet
    @aisatsu = 'OHAYO!'
  end
end

あとは $ middleman server してあげます。エラーが出なければ OK です。erb ならば以下のようにして OHAYO! が表示されるはずです。

(省略)
<% greet %>
<%= @aisatsu %>
(省略)

*1:ええ、3時間ぐらいハマりました

Powered by はてなブログ