こんにちは、鈴木俊吾(すずしん)です。
「何か自分でも使いたいアプリを開発してみたい!」
そう思った私。
どうせ作るなら実用的なミニツールから始めてみようと考えました。
そこで、今回作ったのは『mkepub』というCLIツール。
マークダウンファイル(MD)からEPUBを自動生成するミニアプリとなっています。
これを使うことで、KDPなどに提出できるEPUBファイルを作ることが可能となります。
今回の記事では、この『mkepub』の開発背景や簡単な使い方について解説します。
CLIツール『mkepub』をなぜ作ろうと思ったのか?
これまで、私はKDPにKindle書籍のデータを提出する際には、Pandocというアプリを使用していました。
特にこれといった大きな不満はありませんが、強いて言えば少々使いづらいような印象がありましたね。
「MD→EPUB変換のツールなら、もしかしたらそれほど手間をかけずに実装できるのでは?」
EPUBというのは、内部的には特定のフォーマットに沿ったZIPファイル。
つまり、その形式に合うファイル群を自動生成するようにすれば良いわけですよね。
今ならAIのサポートもあります。
そこで、アプリ開発の練習の意味も兼ねて『mkepub』を作ってみることにしたんです。
ちなみに『mkepub』はCLIツールとしていますが…。
これは自動変換のみというシンプルなものなので、わざわざGUIを用意するまでも無いと判断しました。
『mkepub』の簡単な使い方
『mkepub』はGitHubにてOSSとして公開しています(GitHubリポジトリはこちら)。
プロジェクトのクローンもしくはbunのグローバルインストールで導入可能です。
bun install -g github:suzushin7/mkepub『mkepub』の使い方は非常にシンプル。
オプションで色々なメタデータを指定可能です。
ちなみに、カスタムCSSを指定することもできますよ。
bunx mkepub sample.md -o sample.epub --cover cover.png --css sample.css --toc --title "Sample Book" --author "Shingo Suzuki"-oは出力ファイル名、—coverはカバー画像、—cssはカスタムCSSファイル、—tocは目次、—titleはタイトル、—authorは著者名をそれぞれ指定します。
『mkepub』で生成したサンプルのEPUBファイルはこんな感じになります。
きちんと出力されているのが分かりますよね。
今後の展開
今後、私は『mkepub』を使って自分のEPUBファイルを作成するようにしたいと思います。
やっぱり自分で作ったアプリが動いているのを見ると嬉しいですよね!
現状の『mkepub』はMVP段階。
つまり、必要最低限の機能のみを実装しています。
ここから、さらに便利になりそうな機能を追加していくことを検討中です。
もし、こんな機能があると嬉しいという要望などがあれば、ぜひ私に教えてください。
今後の開発の参考にさせていただきます。
最後に
もし、あなたもマークダウンファイルからEPUBを自動生成するツールを探しているのなら…。
ぜひこの『mkepub』を試してみてくださいね!!
きっとあなたのお役に立てるはずです。