いままでWordで管理されてた提携先企業に渡す仕様書をMarkdownに書き換えて、CIでPDF出力するように変えたった。今日はいい仕事した気がする…。ありがとうHonKit
— せーい (@_yshrsmz) September 27, 2022
これ。
HonKit はOSSでなくなった Gitbook をフォークして作られた OSS。
HonKit の PDF 出力は Calibre という Ebook 管理ソフトを利用しているので、これのインストールが必要。公式でインストール用の Shell スクリプトを公開しているので、それを使えばよい。
また、 GitHub Actions はそのままだと日本語フォントがインストールされていないので、こちらも追加で対応が必要。
最終的な設定はこんな感じになる。
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
のステップで、日本語フォントに加えて libegl1
と libopengl0
をインストールしている。これらをインストールしないと、下記のようなエラーが出て Calibre のインストールに失敗する。
You are missing the system library libEGL.so.1. Try installing packages such as libegl1 and libopengl0