Sphinx mobi builder¶
Sphinx Advent Calendar 2012 の一日目です。
昨年は技評さんがいろいろなアドベントカレンダーをePub化してくれました 参考 。
SphinxはePub builderが標準で付いてきますので、ePubに簡単に出来ます。
ただし、sphinx-quickstartを実行した時に、ePubを作るかと聞かれるのに、y を答えてください。
> Do you want to use the epub builder (y/N) [n]: y
そうしておけば、 make epub と打つだけでepubにしてくれます。
mobi¶
話は変わりますが、ついに Kindle が日本でも発売されましたね。しかし、 KindleはそのままではePubは読み込めません。
というわけで、 mobi builderというのがあります。
実装は今のところたぶん二つあります。
1つめは最近更新されました。でも、読むと分かるのですがこれはePubにちょっ と手なおしたものを吐き出して、kindlegenで変換するという形式のようです。
2つめは某前会長作です。こっちはmobi形式のheaderや圧縮方式であるpalmdoc までpythonで実装されているという本格派です。さすがです。
ということで、後者のほうを使ってみましょう。
kindlebuilder¶
まずはレポジトリからcloneします。
% cd ~/Works/
% hg clone https://bitbucket.org/shibu/kindlebuilder
あとは、conf.pyを以下のように書き換えるだけです。
sys.path.insert(0, os.path.abspath('/home/r_rudi/Works/kindlebuilder/'))
extensions = ['kindlebuilder']
あとはこう打ちます。
% sphinx-build -b kindle -d _build/doctrees . _build/kindle
ずらずらと出てきたあとで、 _build/kindle/以下に default.azw というファ イルができますので、あとはこれをkindleに送ればOKです。
OKです…
あ、あれ…
kindleに送ってもリストに出てきませんね…
しょうがない¶
kindlegenを使うことにします。
ここ からkindlegenをダウンロード
make epub
kindlegen hoge.epub
これで、 hoge.mobi ファイルが生成されます。さすが謹製だけあってほぼ完 璧です。
最初っからこっち使えばいいじゃん、と言うのは却下です。
一応¶
がんばってkindle previewerで表示できるようにはしました。正確には、 mobi header内ではtitleが32byteとなってるんですが、長い場合はそのまま 32byte以上になってた、という問題で32byteで切るようにしただけです。
https://bitbucket.org/r_rudi/kindlebuilder
でも、Kindle paperwhiteに送ってもだめなんですよねぇ…
しょっぱなから中途半端で大変申し訳ないのですが、ゆるふわということで許 してください。
次は @ymotongpoo 先生です。先生、お願いします!
Comments
comments powered by Disqus