GitHubではREADME.mdのレンダリングにはGitHub Flavored Markdownが使われている。その基本はRedcarpetみたいなんだけど、見出しリンクがなんか違う気がするなーと思った。特に半角記号の辺り。GitHubカンニング・ペーパーのToCを作ろうとした時に色々面倒だった。

Demo: GFMの見出しリンクで削除される文字列を検証

Gistでも同じだろうと思うので、Gistでテストした。ほとんどはUTF-8でURLエンコードされると思って良さそうだったので、半角記号の扱いを主に重点的にチェックしている。

という感じのようだ。日本語+英語となるとハイフンとアンダースコア以外の記号を削除してURLエンコード、最後に小文字化で良さそう。