KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

FixedEpub3JSのnode.js版を作ってみた。

 漫画用のEPUB作成ツールの node.js版を作ってみた。ブラウザ上で動く奴は前に作ったが、いろいろ限界を感じていた。そこで、画像が入っているフォルダーや目次などの設定ファイルを読み込ませたらEPUBを出力するようにしたい。

 node.js版は初心者向けではなくなってしまった。正直だれか使う人がいるのだろうかわからないが、自分で使ってはいる。kindlegenでmobiに変換する機能なども付けてみるのもいいかもしれない。そのほかに、ネイティブアプリに対応させるとスマホやデスクトップアプリなども作れるかも。現在はとりあえずEPUBを出力できるようにはなっているが、まだバグが多くエラー処理もほとんどかけていない。

 

kyukyunyorituryo.github.io

 ウェブページ版では書き込んだ状態の保存はクッキーかローカルストレージに保存して読みだすようにした。ただ、もう少しバグチェックしたいので更新をやや見送っている。

 

 

github.com

 

www.npmjs.com

 npmからパッケージを読むことができる。

npm install fxlepub3
パッケージの読み込みは。dataに入れるのは設定ファイルでjson形式になっている。urlは画像が入っているフォルダーを表している。windowsのフォルダー構造だとこうなる。¥や\で区切るのではなく/で区切っているのがみそ。
 outputが出力するepubの保存する場所と名前を入れる。
 indexが目次で、画像ファイルと目次との対応関係。画像ファイル名はepub出力時に書き換えられる。
 page_directionは本の開く方向rtlが右から左、ltrにすると左から右になる。
 panel_viewはキンドルパネルビューの移動方向の設定。horizontalとverticalを選べて-でつなげてrlとlrと選べるようになっている。horizontal-rlは普通の漫画向け設定、vertical-rlにすると四コマ向けになる。rlをlrにすると左綴じになる。
 画像のファイル名がcoverのファイルを表紙に設定している。
 
var epub = require('fxlepub3'); 
 
var data={
"url":"C:/Users/user/Downloads/comic/testdata/",
"output":'C:/Users/user/Downloads/comic/fxlsample/out.epub',
"title": "タイトル",
"author1": "著者名1",
"author2": "著者名2",
"index": [
    ["cover.jpg", "表紙"],
    ["00001.jpg", "目次"],
    ["00005.jpg", "最終ページ"]
    ],
"page_direction": "rtl",
"panel_view": "horizontal-rl",
"cover_file": {},
"files": []
}
epub.gen(data)
 

 

node.js使ってたら何気なく、npm installとやると勝手にモジュールを入れてくれるのである。あれ、どうやって作るんだろうと疑問に思ったので作ってみた。npm initをしてなかったので、後から追加するとpackage.jsonにdependenciesが追加されていなかった。なので、もう一度、npm installからモジュールを追加し直した。

qiita.com

qiita.com

 モジュールを追加するときに、requireで読み込めるようにするにはどうすればいいのだろうかと思っていた。

var epub = require('./fxlepub3.js');

epub.gen(data)

簡単にやるには全体をfunctionで囲んだだけで行けた。

 exports.gen= function (data) {}

本来なら関数を細かく分けて見やすくしたほうがいいのだろうけど、そこまで労力をかける気がしなかった。

phiary.me

node.jsのejsはこの本読んである程度理解した。第1版のほうだった。

Node.js超入門[第2版]

Node.js超入門[第2版]

 

 

きちんとわかる! JavaScript とことん入門

きちんとわかる! JavaScript とことん入門