廃墟

本ブログは更新を終了しました。 技術的な記事のみ、有用性を鑑みて残しておきます。

RailsやMiddleman で自動的に目次を作るにはどうすればいいのか

せっかくなのでブログでも共有しておく。

お世話になってる先輩が泣いているのは忍びなかったので適当にサンプルコードをつくった。

考え

リポジトリにも書いたんだけど、以下の様な感じで考えて作った。何かの参考になるかもしれないので公開しておく。

目次の責任範囲はどこにある?

  • テンプレートエンジン、ジェネレータ
    • そういう考え方もある
  • h2の代わりになるタグをヘルパで定義して使う
    • Dirty! Dirty! Dirty!
    • 再利用性低すぎ!
  • レイアウトファイル
    • あ、行けそう

ということでレイアウトファイルが目次を作るのはそれなりにアリだと思います。

拡張の仕方

  • レイアウトファイルの中の処理をゴリゴリ書く
  • レイアウトファイルの中の処理をHelperに切り出す

例:ヘッダへのリンクが貼りたい

  • ヘッダにname要素やid要素をつける (どうせセマンティック的には自分でつけるべき)
  • パースした方でゴリ押し