HTML5+javascriptを使ってブラウザでEPUB3を作成する
まえに、ブラウザでのEPUBファイル生成するサイトを作った。今度はnode.jsに移植してみようかなと調べている。違いはテンプレートエンジンのejsを積極的に使って楽をしようと思っている。まえはDOMを使っていたのでコードが長くてしんどかった。
node.jsにしたらどうなるかというと、ブラウザではなくコマンドラインでEPUBを生成する。初心者向けではなくなるが、設定を保存したり処理が軽くなるだろうと思う。
設定の指定
画像ファイルをどのように読み込むか表紙画像はファイルで指定する。本文の画像ファイルはフォルダーから読み込みを考えたが、そうすると表紙画像を同じフォルダーに入れていると指定がめんどいな。 node.jsのnpm等を見ながらどういうパッケージのライブラリなら使いやすいかを考えている。
- フォルダーを読み込んで
- 表紙画像の指定
- ソート方法を指定。
- 目次、ファイル名を指定。
jsonのデータ形式
記述形式は話題になったjsonにしよう。 こちらを参考にJSON形式で書いてみた。
var option = {
title:"タイトル"
author:"著者"content: [
{
cover:[cover.png,表紙]sort:name,
navigation:{
001.png :"キャラ紹介",
005.png:"目次"
}
]}
ファイル自体をどのように渡すか、ファイルパスを渡す方法とアドレスを渡す方法などを後で考える。
mimetypeは"mimetype", "application/epub+zip" こんな感じに直接書いて、container.xmlとfixed-layout-jp.cssはそのままファイルを読み込んで保存する。
standard.opf
nav.xhtml
toc.ncx
p-cover.xhtml
これらはテンプレートエンジンから作ればいいかと。テンプレートエンジンを使うとだんだん青空EPUB3に似てきた。