Jekyllに夢中

ブログ頑張るとか、デザイン変えたりしたけどあんまり書いていない。すみません。結構前からではあるんですが Jekyll に夢中なんです。

静的サイトジェネレータ

Jekyllは静的サイトジェネレータなんて呼ばれ方もしますが、htmlファイルを作るビルドツールです。htmlファイルを作るとはどういうことかというと、

_post/2013-01-01-hello.htmlというファイルに

はろー

って書いてビルド(jekyll build)コマンドを打つと _site/2013/01/01/hello.htmlが作られます。あとは_siteをpublic_htmlとかにftpで転送すればいいです。

といってもこれだと拡張子がhtmlなだけで中身はテキストじゃんってなるのでレイアウトファイル _layout/post.htmlを以下のように書いて

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
</head>
<body>
{{ content }}
</body>
</html>

_post/2013-01-01-hello.htmlを

---
layout: post
title: はろー
---
はろー

ってすると{{page.title}}と{{content}}が展開されて_site/2013/01/01/hello.htmlが以下のようになります。便利っす。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>はろー</title>
</head>
<body>
はろー
</body>
</html>

なんだか疲れたよパトラッシュ

今ブログはWordPressを使っていますが、WordPressが悪いというわけじゃないんです。ただもうhtmlを書くのが疲れたんです。せめてZen Coding(Emmet)使わせてくれよってことでたまにSublime Textで書いてWordPressに貼り付けたりしてます。

Jekyllはただのビルドツールなのでソースファイルを作るときは任意のエディタを使うことができます。なので好きなエディタでZen Codingも使えますが僕がJekyllが好きなのはソースファイルをMarkdownやTextileでも書けることです。

JekyllはRubyで書かれていてMarkdownの変換にredcarpetを使えます。redcarpetを使うとGitHub Flavored Markdownが使えるのでGitHubやQiitaで書いているようなソフトウェアエンジニア向けのMarkdownがかけて超便利。GitHub Flavored Markdownでサイト作りたいっていう動機がメインといっても過言ではない。(僕はMarkdownが好きですが、html書くのが面倒って話であればRubyなのでhamlテンプレートにも拡張可能)

Jekyllいつ始める?いまでしょ!

Jekyllは特に新しいツールじゃないです。GitHub Pageでも使われているし、ブログとしてはテンプレートやプラグイン込み込みのoctopressがメジャーですね。なんかこんなテーマのブログを見かけたことがあるんじゃないでしょうか。

Jekyllはずっと0.xっていうバージョンがついてたんですが先月(2013/05)くらいに1.0になりました。コマンドが若干修正されて、サイトもかっこ良くなりました。

なので今から始めるのは割りとありなんじゃないかなと思います。僕はシンプルなので0から拡張していますが、楽をしたい人はまずはoctopressで初めて見るのもいいんじゃないですかね。

別にブログじゃなくても自分のドメインやサービスのサイトを書くのに使うのもありだと思います。実際、僕はそのために使おうとしてます。