魔王「この我のものとなれ、勇者よ」勇者「断る!」 を ePub化
魔王「この我のものとなれ、勇者よ」勇者「断る!」 が非常に面白い。
でも、電車の中で読むときに、iPhoneからsafariで読むと読み込みに時間がかかってしまうし、なにより途中でやめると最初からやり直しなのがつらい。1スレが長い一つのhtmlで書かれているので、例えば700から読みなおそうと思ったときにものすごくスクロールが大変なわけです。
というわけで、epub版を作ってみました。htmlをとってきて、UTF-8にして、reStructuredText形式にpythonで変換および日付やIDなどを除去して、sphinxでePub化。元々がHTMLなんだからsphinxを使わなくても簡単にePub化できると思いますが、まあその辺は置いといて。
古いiPhone 3Gで、Stanzaを使って読みましたが問題ありません。一行が長いので、フォントをちょっと小さめにして横持ちすると読みやすいです。
配布していいのかな…
問題があればコメントください。速攻消します。
また、単に自動変換しただけなので、どこか変な場所があるかもしれません。まだ7スレ目までしか読んでないので全部をチェックはしていません(ですが、今のところ問題はありません)。ご了承ください。
変換方法
- 1. 配布元サイトから、全てのスレをそれぞれCtrl-Aで全選択、Ctrl-Cでコピー
- 2. UTF-8が扱えるエディタにペースト。それぞれ、1.html、2.html .. とする
- 本当は単なるテキストなんですけどね…
- コピーは全部できていないことがあるので、最後の番数をちゃんとチェックすること
- 3. 12スレまで保存したら、以下のスクリプトを実行
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import re def convert(filename): outputf = filename.replace(".html",".rst") f = open(outputf,'w') f.write(filename.split(".")[0]) f.write("\n") f.write("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n") p = re.compile('^([0-9]+)') for line in open(filename, 'r'): # line = line.rstrip() if ("inserted by FC2 system" in line): continue if ("INDEX" in line): continue if ("NEXT" in line): continue if (line.startswith("ID:")): continue if ("魔王「この我のものとなれ、勇者よ」" in line): # 最初の行は飛ばす continue m = p.match(line) if (m): s = "\n**" + m.group(1) + " --- --- --- --- :**\n\n" else: s = "| " + line f.write(s) f.close() if __name__ == '__main__': print os.path.dirname(__file__) files = os.listdir(".") for file in files: if (file.endswith(".html")): convert(file)
sphinxのepub作成を試したかったのでこうしたのですが、普通にePubを作るのであれば、HTML形式で保存し、 sigilを使った方がいいと思います。