Nanocのバージョンアップに合わせてフィルターを更新する

Nanocのバージョンアップに合わせてフィルターを更新する

Nanocのバージョンを4.4系から4.11系にジャンプアップしたらカスタムフィルターでコンパイルエラーが出たので修正。

元のコード

module Nanoc::Filter
  class RemoveEmptyParagraph < Nanoc::Filter
    def run(content, params = {})
      content.gsub(/<p><\/p>/, "")
    end
  end

  Nanoc::Filter.register "::Nanoc::Filters::RemoveEmptyParagraph", :remove_empty_paragraph
end

修正後のコード

class RemoveEmptyParagraph < Nanoc::Filter
  identifier :remove_empty_paragraph

  def run(content, params = {})
    content.gsub(/<p><\/p>/, "")
  end
end
  • Moduleで囲ってあるのをやめる
  • モジュール内でNanoc::Filter.registerする代わりにクラス内でidentiferを記述する

シンプルに書けるようになっていて良いと思った。