魔王「この我のものとなれ、勇者よ」勇者「断る!」 を ePub化
魔王「この我のものとなれ、勇者よ」勇者「断る!」 が非常に面白い。
でも、電車の中で読むときに、iPhoneからsafariで読むと読み込みに時間がかかってしまうし、なにより途中でやめると最初からやり直しなのがつらい。1スレが長い一つのhtmlで書かれているので、例えば700から読みなおそうと思ったときにものすごくスクロールが大変なわけです。
というわけで、epub版を作ってみました。htmlをとってきて、UTF-8にして、reStructuredText形式にpythonで変換および日付やIDなどを除去して、sphinxでePub化。元々がHTMLなんだからsphinxを使わなくても簡単にePub化できると思いますが、まあその辺は置いといて。
古いiPhone 3Gで、Stanzaを使って読みましたが問題ありません。一行が長いので、フォントをちょっと小さめにして横持ちすると読みやすいです。
配布していいのかな…
問題があればコメントください。速攻消します。 また、単に自動変換しただけなので、どこか変な場所があるかもしれません。まだ7スレ目までしか読んでないので全部をチェックはしていません(ですが、今のところ問題はありません)。ご了承ください。
変換方法
- 配布元サイトから、全てのスレをそれぞれCtrl-Aで全選択、Ctrl-Cでコピー
- 2. UTF-8が扱えるエディタにペースト。それぞれ、1.html、2.html .. とする * 本当は単なるテキストなんですけどね… * コピーは全部できていないことがあるので、最後の番数をちゃんとチェックすること
- 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)
- {1-12}.rstが出来ているので、あとはこれを sphinx でmake epubしてあげればOK。
sphinxのepub作成を試したかったのでこうしたのですが、普通にePubを作るのであれば、HTML形式で保存し、 sigil を使った方がいいと思います。