githubのmarkdownに目次(Table of Contents)をつける

README.md がごちゃごちゃしてきたので、簡単に目次つけれないかと探していたら ekalinin/github-markdown-toc: Easy TOC creation for GitHub
というものがとても簡単だったのでご紹介。

How to use it

$ wget https://raw.githubusercontent.com/ekalinin/github-markdown-toc/master/gh-md-toc
$ chmod a+x gh-md-toc

localファイルもremoteファイルも実行できます。

$ gh-md-toc README.md

Table of Contents
=================

   * [git-trend](#git-trend)
      * [Requirements](#requirements)
      * [Installation](#installation)
      * [Usage of a gem](#usage-of-a-gem)
         * [Fetch trending](#fetch-trending)
         * [Use language and since options](#use-language-and-since-options)
         * [Show enable languages](#show-enable-languages)
      * [Usage of a command line tool](#usage-of-a-command-line-tool)
         * [Fetch daily trending](#fetch-daily-trending)
         * [Fetch daily trending with JSON format](#fetch-daily-trending-with-json-format)
         * [Fetch daily trending without description](#fetch-daily-trending-without-description)
         * [Fetch daily trending by language](#fetch-daily-trending-by-language)
         * [Fetch weekly/monthly trending](#fetch-weeklymonthly-trending)
         * [Fetch number of trending](#fetch-number-of-trending)
         * [Show enable languages](#show-enable-languages-1)
      * [Tips](#tips)
      * [Implementation of other language](#implementation-of-other-language)
      * [Contributing](#contributing)

Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)

sorce

ソース見て驚いたのですが、これbashなんです。
markdownをhtmlに変換して、h1-6 タグを sed/awk でごにょごにょして出力しています。

htmlの変換処理

githubmarkdown変換用のAPIを利用しているだけなんですが、こんなものがあったんですね。
Markdown | GitHub Developer Guide

$ curl -X POST --data '{"text": "Hello world github/linguist#1 **cool**, and #1!"}' https://api.github.com/markdown
<p>Hello world github/linguist#1 <strong>cool</strong>, and #1!</p>

その他

見るだけなら、こちらのbookmarkletが便利でした。
GitHub の Markdown に TOC (目次) を付けるブックマークレット (vanilla JS 編) - Qiita