ChienomiChienomiPureDocとKramdownのhn要素のidを統一する「Markdownで書いたページがTOCのリンクが切れている」という問題に気づき、急遽対処を行った問題は、Kramdownが生成するヘッダーIDが、単純にテキストを用いるものではなかった、ということだ。KramdownはどうしてもIDにACSIIのみを使うようになっており、そのためになかなか複雑な処理をしている。これを統一するため、Kramdownのこの処理をしているところを探したところ、base.rbにあるKramdown::Converter::Base#generate_idであることがわかった。これを、常にテキストを用いるようにオーバーライトする。ほんとはオーバーライドしたかったのだが、Kramdownの構造的にそれは割と難しい。PureBuilderのコードをいじれば、一応動くようにはなる。これは、そのままのテキストを使うようにして、PureDocと揃えたためだ。GistPureDocのほうも複数の形式をサポート。その中でデフォルトは今までどおりテキストを使う形式だが、Kramdownに合わせ、重複した場合の対処を加えた。これによってテキストだけではIDを判断できなくなったので、IDもTOCの中に含めるようにした。