ちょっとしたコードをシェアするのにGistは便利ですが、HTML
としてそのままブラウザに表示したり、JSON
として利用するには少々難があります。レスポンスヘッダのContent-Type
がtext/plain
固定なので、Rawデータにアクセスしてもソース表示に。(↓スクリーンショット)
Gistを中継するサービス
HTMLの共有ではjsfiddle.netやjsdo.itが人気ですが、HEAD
要素内の変更ができず、モバイル向けのサンプル表示には向きません。例えば、<meta name="viewport" content="user-scalable=no">
とかが出来ません。なんとかならないかなと思っていたところ、良さそうなサービスが2つほどありました。どちらも機能はだいたい同じです。
- githack: https://raw.githack.com/
- RawGit: https://rawgit.com/
githackの使い方
githackを例に説明すると、特定のGistのURLについてドメイン部分をgithubusercontent
からgithack
に書き換えるだけです。拡張子に従って適切なContent-Type
で送出してくれます。
https://gist.githubusercontent.com/cognitom/xxxx/raw/yyyy/index.html
https://gist.githack.com/cognitom/xxxx/raw/yyyy/index.html
一応、まとめておきます。こんな感じ(↓)ですね。
アクセス先 | 見え方 | Content-Type |
---|---|---|
Gistのパーマリンク | 普段のGistのページ | n/a |
GistのRawデータ | ソース表示 | text/plain |
githack経由 | Web表示 | text/html |
というわけで、無事、ブラウザで表示できました。
Gistのほか、GitHub, Bitbucketに対応しているのも嬉しいところです。
githackの仕組み
ちなみに、このgithackですが、サービスのソースコードがGitHubで公開されています。といっても、中身はnginx.conf
とproxy.conf
だけ。要はnginx
そのもの転送サービスですね。