GitHubのWikiをマークダウン形式で取得する
背景
ときどき、GitHubのリポジトリで、ツールの使い方などがバージョン管理されたファイルではなく、Wikiに書かれていることがある。
ブラウザから参照することも可能だが、このWikiで書かれたテキストをマークダウンで取得したくなるときがまれによくある。
GitHub API
とりあえず、GitHub APIでなにか提供されていないか調べるのが王道だろう。
で、調べてみたのだが、なんとWikiに関するAPIが一切存在しない。おぉ、マジか。
curl
じゃあ、curlで適当なURL叩いたら取れないかと思い試行錯誤したら取れた。
curl -s https://raw.githubusercontent.com/wiki/<user>/<repo_name>/<title>.md
たとえば、jqコマンドのWikiのページを取得するときはこんな感じ。
curl -s https://raw.githubusercontent.com/wiki/stedolan/jq/Home.md
タイトルに空白が含まれる場合は、ハイフンで置換すればいい。たとえば、Advanced Topicsのページはこうなる。
curl -s https://raw.githubusercontent.com/wiki/stedolan/jq/Advanced-Topics.md
git clone
余談だが、Wikiの内容はgit cloneすることができる。
git clone git@github.com:<user>/<repo_name>.wiki.git
さきほど同様、jqコマンドのWikiを例にするとこんな感じ。
git clone git@github.com:stedolan/jq.wiki.git
どういうときに必要になるのか分からないが、何かのときに使えるかもしれない。