markdown2impressってのを書きました。

https://github.com/yoshiki/markdown2impress

これはmarkdownで書いた文章をimpress.jsに対応したHTMLに変換するものです。impress.jsっていうのは、CSS3をつかって文字とかをぎゅんぎゅん動かすことのできるプレゼンフレームワークです(prezi.comにインスパイアされて作ったらしい)。

impress.jsを使ってプレゼンをゼロから作ってもいいんですが、HTMLをいちいち書くのめんどかったのでmarkdown形式で書いたものをそれ用に変換してくれたらいいなと思って書いてみました。基本的にはmarkdownで書いた文章の1つのセクションが1つのスライドになるようになっていて、githubのリポジトリのREADME.mdをこのプログラムで変換するとプレゼンに変換されます。

使い方は簡単で、
% markdown2impress.pl README.md
とやるだけでOK。

こうするとカレントディレクトリにindex.html、js/impress.js、css/impress.cssの3つのファイルが生成されます。

もしCSSを変えたければcss/impress.cssを直接編集してやればいいです。ちなみに生成されるcss/impress.cssは元のimpress.jsに含まれるcssをちょっとだけ加工してあります。

markdown2impressは、なにも指定せずにmarkdownを変換してやるとスライドの位置(縦横幅や位置)を勝手に計算してくれるのですが、以下のようにセクション内にHTMLのコメント形式でimpress.jsが理解できる data-x や data-y などのアトリビュートを書くことでスライドの位置を変更することもできます。
<!-- data-x="1000" -->
もちろん data-xやdata-y以外のdata-z、data-rotate、data-scaleなども使えます。

ちなみにコマンドラインのオプションとして以下が指定できるようになっています。
  • --width
    スライドの横幅(default: 1200)
  • --height
    スライドの縦幅(default: 800)
  • --column
    スライドの横の数(default: 5)
  • --outputdir
    出力ディレクトリ(default: current dir)

興味があったら使ってみてください。

※生成されるimpress.jsが最新ではない場合があるので、その場合は本家のjsとcssの最新版をコピってくれれば動くはずです。