GitHub Actions 上で HonKit の PDF を出力する

これ。


HonKit はOSSでなくなった Gitbook をフォークして作られた OSS。

HonKit の PDF 出力は Calibre という Ebook 管理ソフトを利用しているので、これのインストールが必要。公式でインストール用の Shell スクリプトを公開しているので、それを使えばよい。

また、 GitHub Actions はそのままだと日本語フォントがインストールされていないので、こちらも追加で対応が必要。

最終的な設定はこんな感じになる。

yml
name: build PDF

on:
  workflow_call:

jobs:
  publish-pdf:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version-file: '.node-version'
          cache: 'npm'

      - name: Install Node.js dependencies
        run: npm install

      - name: Install Calibre
        run: |
          sudo -v
          sudo apt-get update -y && sudo apt-get install -y libegl1 libopengl0 fonts-noto
          wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

      - name: Generate PDF
        run: npx honkit pdf ./ ./output.pdf

      - name: Upload PDF
        uses: actions/upload-artifact@v3
        with:
          name: documents
          path: ./output.pdf

Install Calibre のステップで、日本語フォントに加えて libegl1libopengl0 をインストールしている。これらをインストールしないと、下記のようなエラーが出て Calibre のインストールに失敗する。

You are missing the system library libEGL.so.1. Try installing packages such as libegl1 and libopengl0