Open2
vivliostyleでMarkdownから本を作成する手順

vivliostyleでMarkdownから本を作成する詳細手順
1. 環境構築
Node.jsのインストール
# macOSの場合(Homebrew使用)
brew install node
# Windowsの場合
# Node.jsの公式サイトからインストーラーをダウンロード
Vivliostyle CLIのインストール
npm install -g @vivliostyle/cli
2. プロジェクト作成
プロジェクトの初期化
mkdir my-book
cd my-book
npm init -y
vivliostyle init
これにより基本的なプロジェクト構造が作成されます。
Markdownファイルの配置
manuscripts
ディレクトリにMarkdownファイルを配置します:
my-book/
├── manuscripts/
│ ├── 01-chapter1.md
│ ├── 02-chapter2.md
│ └── 03-chapter3.md
├── vivliostyle.config.js
└── package.json
3. 設定ファイルの編集
vivliostyle.config.jsの設定
module.exports = {
title: '私の本のタイトル',
author: '著者名',
language: 'ja',
size: 'A5',
theme: '@vivliostyle/theme-techbook', // テーマを選択
entry: [
'manuscripts/01-chapter1.md',
'manuscripts/02-chapter2.md',
'manuscripts/03-chapter3.md'
],
output: [
'book.pdf',
'book.html'
],
workspaceDir: '.vivliostyle',
toc: true,
}
テーマのインストール
npm install --save @vivliostyle/theme-techbook
利用可能なテーマ:
- @vivliostyle/theme-techbook(技術書向け)
- @vivliostyle/theme-academic(学術書向け)
- @vivliostyle/theme-bunko(文庫本向け)
- @vivliostyle/theme-slide(スライド向け)
4. Markdownの書き方
基本的なMarkdown構文
# 章タイトル
## 見出し2
### 見出し3
本文テキスト。**太字**、*斜体*、`コード`。
- リスト項目1
- リスト項目2
1. 番号付きリスト1
2. 番号付きリスト2
> 引用文
[リンクテキスト](URL)

Vivliostyle拡張構文 - ページスタイル指定
<!-- class: 特殊ページ -->
特別なスタイルを適用したいコンテンツ
5. ビルドと出力
プレビュー
vivliostyle preview
これでブラウザが開き、リアルタイムプレビューが表示されます。
PDF生成
vivliostyle build
設定ファイルで指定した出力先にPDFが生成されます。
6. カスタマイズ
カスタムCSSの追加
theme.css
ファイルを作成し、設定ファイルで指定:
/* theme.css */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
body {
font-family: 'Noto Sans JP', sans-serif;
}
h1 {
color: #0066cc;
page-break-before: always;
}
/* 必要に応じてスタイルを追加 */
設定ファイルを更新:
module.exports = {
// ...他の設定
theme: [
'@vivliostyle/theme-techbook',
'./theme.css' // 自作のCSSを追加
],
// ...
}
7. 目次の生成
Markdownファイルの先頭に目次用のプレースホルダーを追加:
<!-- toc -->
# 本文開始
8. よくある問題と解決法
- 画像が表示されない: 相対パスが正しいか確認
- 日本語フォントの問題: カスタムCSSでWebフォントを指定
-
改ページされない:
page-break-before: always;
をCSSで指定

エラーメッセージを確認したところ、Vivliostyleの実行中に必要なライブラリが見つからないという問題が発生しています。具体的には、libnss3.so
というライブラリファイルが見つからないことが原因です。
問題の解決方法
このエラーはLinux環境で発生しており、Chromiumの実行に必要なライブラリが不足しています。以下の手順で解決しましょう:
Ubuntuまたはその派生ディストリビューションの場合
sudo apt-get update
sudo apt-get install libnss3
インストール後
ライブラリをインストールした後、再度Vivliostyleのビルドコマンドを実行してみてください:
vivliostyle build
もしこれでも問題が解決しない場合は、Playwrightのブラウザを再インストールすることも効果的です:
npx playwright install chromium
または、Vivliostyleが使用しているPlaywrightの依存関係を明示的にインストールする:
npx @playwright/browser-chromium install
これらの手順で問題が解決するはずです。必要なシステムライブラリをインストールすることで、Chromiumベースのブラウザがヘッドレスモードで正常に動作し、PDFの生成ができるようになります。