読者です 読者をやめる 読者になる 読者になる

M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

JekyllをJavaに載せ替えてみた

Java Ruby

f:id:m12i:20140215180946p:plain

ここ1周間ほどかけて,ブログちっくなコンテンツを静的ファイルとして生成する一種のCMSJekyllがんばってJava化してみました。……というほどにもものは出来上がっておらず、実際には動作確認すらまともに行っていないのですが。

Jekyllってなに?

とりあえず公式サイトから1パラを引っ張ってきましょう:

So what is Jekyll, exactly?

Jekyll is a simple, blog-aware, static site generator. It takes a template directory containing raw text files in various formats, runs it through Markdown (or Textile) and Liquid converters, and spits out a complete, ready-to-publish static website suitable for serving with your favorite web server. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your project’s page, blog, or website from GitHub’s servers for free.

それで、結局のところJekyllってなんなの?

Jekyllはシンプルな、ブログちっくな静的サイト生成アプリケーションです。Jekyllはさまざまなフォーマットで書かれた原稿テキストファイルの格納されたディレクトリを入力データとして、Markdown(もしくはTextile)とLiquidの変換処理プログラムに通して、ファイルを出力。あなたのお好みのWebサーバ上で公開する準備のできた静的ファイルのセットが完成します。JekyllはGitHub Pagesのコンテンツ生成エンジンとしても使用されています。あなたはご自身のプロジェクトのWebページやブログ投稿、あるいはWebサイト全体をGitHubのサーバ上で無償で公開することができるのです。

Jekyll - Documentation

なんでわざわざJava化するの?

Jekyllの環境への依存度や使用者の技術レベル依存度が高すぎるためです。気軽/手軽にインストールして使うことができないのです。

Jekyll自体は機能的にみれば非常にシンプルなツールですが、その機能を使用するためには以下のようなモノが必要になります:

私は現在Windowsマシンを使用しています。Windows環境でもCygwinというエミュレータ上でRubyその他の道具を用意して、Jekyllの動作環境をセットアップすることが不可能ではないようですが、私の持ち合わせていた技術的知識では太刀打ちできず挫折しました。(実装上、JekyllはLinux/Unix系OS以外のことは一切考慮していません。)

そんなわけで、もともとRubyという言語そのものに良くない心象を抱いているところに、四苦八苦の末の挫折という経験が重なって、「勢い」でつくっちゃった、というのが実際のところですが。

今後はこのJava化で得られた知識や教訓をもとに、スクラッチで静的サイト・ジェネレータを作ってみたいなーと考えています。(もちろんRubyではなくJavaScalaで。)