Chrome extension 作りました¶
別名WEB漫画epubにする君です。自サイトで作品公開されているような漫画を対象に、ページに表示された画像データを抽出し、epubを出力します。
html 1ページが1話として扱われ、epubに任意の話数を追加できます
(一般的な書籍に合わせて1つのepubが200ページ前後になるようにするのが良いと思われます)
1話ごとのタイトルが論理目次としてepub出力されます
画像のサイズを集計して表示し、ページサイズを画像サイズに合わせて指定できます
ライセンスはMITです。リポジトリはこちら: https://github.com/ykrods/web-comic-to-epub
ものの紹介的には以上という感じなので、背景とか書きます。技術的なことは別の記事で。
なんで作ったか¶
自分が欲しかったからです。
趣味でマンガを書いている作者さんがWEBで作品を公開するという文化はわりと昔からありまして、WEB上で作品を公開する場合、昔はもっぱら自サイトを作ってhtmlと画像ファイルをアップロードする、というのが主流でした。今は漫画の配信サイトも色々できていて環境が整っていますが、長く連載続けてらっしゃる場合では、自サイトで続けている方も結構いらっしゃるようです。
こういった自サイトでちょっと不便なのが「スマホで見ると画像が読み込み中断して表示されなかったり、レイアウトが画面幅にあってなくて読み難い」という点です。おそらくhtml知識が無いであろう作者さんにスマホ対応まで求めるのは酷なので大人しくPCで読んでいたのですが、できればスマホで読みたかったのでした。
また、気に入った作品はローカルに保存しておきたいこともあります。これはサイトがなくなる等で閲覧不可になってしまい、残念な気分を味わったことも何度かあった(商業作品ですが ス●ーライト・マナ●ーン とか)ためです。しかし単純に画像を一つづつ保存するのはファイルがたくさんできて管理が面倒ですし、OSの画像ビューワーでは読み辛いです。ブラウザでhtmlを「Webページ完全」で保存したり、PDFで保存するという手もありますが、この場合広告まで保存されることがありますし、スマホで見辛い問題は解決しません。
…はい、というわけで、「1ファイルにまとめたい」「スマホでも読みたい」を満たす方法としてこのツールを作りました。
今後の展望¶
少なくとも私が使う分の最低限の機能は備えているので機能拡張とかあまり考えてないんですけどまぁ使ってくれる人いたらなぁという感じですかね
1ページ1話というのはサイトによって違う場合もあるでしょうからページをマージしたり任意の画像を追加できるような機能はあったほうが良いような気もしています
epub生成のライブラリが Node.js で動くものしか npm になかった為、ブラウザ・Node両対応のライブラリを作ろうとしたんですが、時間的に余裕がなくなってきたのでとりあえずこのエクステンションで使えるまで作って中断してしまいました。こちらに関してはそのうちやりたい。
余談¶
正直なところ作るのが4,5年遅かったのではという感じもしてますが、まぁその辺は時間取れなかったので仕方ないですね。マンガでもOSSでも趣味で公開続けている人は本当にすごいです。
Chrome extension 作りました — ykrods note
https://www.ykrods.net/posts/2019/09/20/web-comic-epub-is-published/