Categories
9 ページ目
プログラミング
見出しの階層をif/elseで組むと分岐が爆発する。PerlとMooのCompositeで目次ツリーを組み直す全8回【目次】
リンク付きの目次を、既存のクラスに触れずに足す。見出しからアンカーIDを作る【開放閉鎖原則】
同じツリーからMarkdown・HTML・JSONの目次を出す。入れ子のHTMLも再帰で正しく閉じる【複数フォーマット出力】
見出しの配列から親子のツリーを自動で組む。H2を飛ばしたH3も複数のH1もスタック1本で扱う【スタック】
子を持つ見出しも持たない見出しも、同じrenderで描く。分岐を書かずに階層を出す【Composite】
見出しがH1からH3に飛ぶと、ulが2重に開いて目次のHTMLが壊れる。分岐で塞ぐと増え続ける【条件分岐の爆発】
インデントを足せば目次らしく見える。でも配列には親子関係がなく、入れ子のHTMLは組みにくい【フラット配列】
「## 第1章」からレベル2と「第1章」を取り出す。正規表現1本で見出しを抜く【キャプチャ】
目次ジェネレーターの土台に、Markdownを全行読み込むクラスをPerlとMooで作る【lazy】