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. mobi-builder

  2. kindlebuilder

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を使うことにします。

  1. ここ からkindlegenをダウンロード

  2. make epub

  3. kindlegen hoge.epub

これで、 hoge.mobi ファイルが生成されます。さすが謹製だけあってほぼ完 璧です。

../../../_images/mobi_sphinx.png

最初っからこっち使えばいいじゃん、と言うのは却下です。

一応

がんばってkindle previewerで表示できるようにはしました。正確には、 mobi header内ではtitleが32byteとなってるんですが、長い場合はそのまま 32byte以上になってた、という問題で32byteで切るようにしただけです。

https://bitbucket.org/r_rudi/kindlebuilder

でも、Kindle paperwhiteに送ってもだめなんですよねぇ…

しょっぱなから中途半端で大変申し訳ないのですが、ゆるふわということで許 してください。

次は @ymotongpoo 先生です。先生、お願いします!

Comments

comments powered by Disqus