使い方
日本語の README がリポジトリにあるのでそちらを見てください。
なぜつくったか
これまでは小説を Jekyll のフォーマットで書いて Jekyll + jekyll-build-ebook で電子書籍を生成していた。 しかし、Jekyll は静的サイトジェネレータであり、電子書籍だけを生成するには不要な機能が多い。 そこで、Makimono では電子書籍の生成だけを目的に、よりシンプルなフォーマットで小説を書けるようにすることを目指した。
類似のツール
でんでんコンバーター
マークダウンを電子書籍に変換する Web アプリケーション。 Makimono の使い方がわからない、Makimono では機能が足りない、という場合はこちらを使うのがよい。 ただ、プログラムから利用する方法が提供されていないため、CI で電子書籍の作成を自動化したいという私の用途には合わなかった。 Makimono のインターフェースもでんでんコンバーターを参考にしたところが大きい。
Cheepub
1ファイルのマークダウンから EPUB や PDF を生成できるコマンドラインツール。 1ファイルで手軽にやりたいというときはこちらがおすすめ。 私の場合は、複数ファイルに分けて書きたいのと、マークダウンの変換に FujiMarkdown を利用しかったというのがあり、採用を断念した。
Makimono + GitHub Actions による電子書籍のリリース自動化
小説のリポジトリに以下のような .github/workflows/ebook.yml
を追加して、tag を push すると EPUB をビルドして GitHub Releases にアップロードするようにしている。
on: push: [ tags ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: 2.7 - run: gem install makimono - run: makimono build - uses: actions/create-release@v1 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Release ${{ github.ref }} - uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: out/book.epub asset_name: ${{ github.event.repository.name }}.epub asset_content_type: application/epub+zip