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

どういうときに必要になるのか分からないが、何かのときに使えるかもしれない。