いろいろ試した結果、Web上になんか書く時には,とりあえずGistに書いておいて,それをGitHub pagesで束ねるだけでこんな風にそれなりにブログっぽくなっていいんじゃないかと思うにいたったので,そのことについて書こうかと思う.ソースはこちら.
GitHub Pagesにコンテンツをホストする方法はいろんなところに書かれているので省略.今回はHTMLにビルドしてからpushするのではなくて,.md
ファイルのままpushして,GitHub pagesのJekyllにビルドを任せるやり方.
- GitHub pagesのデフォルトテーマの一つをとってきて,ちょっといじる.デフォルトデーマはレスポンシブでiPhoneで見るときもいい感じ.
- サイトの記事部分は埋め込みGistを使うので,埋め込みGistのCSSをいじって(上書きして)サイトのテーマになじませる
- テーマはJekyllのお作法に合わせ
_layout
におく
- 書きたいことをGistにマークダウンで書いておく
- 書いたことを束ねるインデックスページ
index.md
をつくる index.md
から書いておいたGistへリンクする.各記事は埋め込みGistとして表示される.つまり,各記事のxxx.md
ファイルは単にGistへのリンクになるので中身はたとえば以下のようになる
---
author: narutaro
---
<script src="https://gist.github.com/narutaro/ddcf6a91c863f9561124d8d64320c01b.js"></script>
ブログなので,イメージを貼り付けたいことがある.GitHubではリポジトリのIssues
にイメージのコピー&ペーストができる.しかも,イメージをペーストした時のIssuesのソースを見るとイメージへのURLがマークダウンな書式で見える.つまり,イメージのホストおよびURL管理もGitHub上で一元的にできる.これ結構いい.FlickrとかS3とかDropboxとか別の場所にイメージを置いてそこへリンクするといった,めんどくさいことをしなくてもよい
- GitHubのマークダウンだとテーブルとかいろいと書ける.GistはWebUI上でも
git clone
してからローカルでも作成・編集できる - GitHub Pagesを使うと,ビルドの部分は
push
した時にGitHub側のjekyll
がやってくれるので,基本的にマークダウンファイルだけを管理すればよい(静的サイトジェネレータでローカルでビルドしたHTMLをどこかにホストするとかしなくてよい) - 各記事は埋め込みGistとして扱うので,WebUIでGist書き換えたらブログ側にも即反映.さらにコードハイライトとか,いろいろ便利なもんがついてくる
- 管理系の機能たとえばコメントや過去記事検索もついてくる.コメント書きたい人は,オリジナルのGistに行けばコメント機能があるので,コメント機能を別途用意しなくても良い.自分の過去記事の検索したいときは,Gist側で検索できる
- テンプレートとか設定をいじりたければ
_layouts
とか_config.yml
とかJekyllの設定をいじればよい