Undefined Title

日本語ページ作った with Jekyll on gh-pages

2013-02-11

10ヶ月くらい慣れない英語でブログを書いてきたのは、英語のライティングの練習と、 閲覧者数を考えた場合にやっぱり日本語よりは英語のほうが多いだろうなあ、ということから。

でもやっぱり日本語で書きたいときもあるので、日本語ページを作った。 って、それだけじゃただのアナウンスなので、どうやったか書く。


このサイトはドメインを見れば分かるようにgh-pagesで公開している。 ということは当然Jekyllベースだ。

公開リポジトリの tmtk75.github.com.git を覗いてみてもらうと分かるが、 たとえばレイアウトファイルなんかはHamlで書いてある。 で、公開前にこんなrakeのタスクで.htmlへ変換してからpushしている。

それぞれの.hamlファイルはjekyllのYAML-Front-Matterを生成するために、 オレオレルールを使って書いている部分がある。 Hamlのコメントは-だけど、-#から始まる行はYAML-Front-Matterの行として生成するというルール。

-#layout: default
-#lang: ja
%div Hello World

だから上のようなファイルを、次のように変換する。

---
lang: ja
---
<div>Hello World</div>

で、ここで定義したlangは、_layouts以下のレイアウトファイルでは、page.langとして参照可能。 なので、_layouts/default.html.hamlなどの中では、それらの値をLiquidのifタグで使って 表示する記事をフィルタしたりリンク先のURLを変更したりしている。

{% raw %}
{% if page.lang == 'ja' %}
%a.brand{href:'/index.ja.html'}{{site.title}}
{% else %}
%a.brand{href:'/'}{{site.title}}
{% endif %}
{% endraw %}

こんな感じ。

オレオレルールを使ってるのがちょっとイケてないが、まあ目的は達成できているのでよしとしている。