Tech系サービスやガジェットの使い心地、自分の作業環境、資産運用について気が向いたときに記録を残しています。

記事内のAmazonアソシエイト適格販売及び、Google Adsenseでお小遣いを得ています。

vivliostyleを使って技術書を爆速で執筆開始するためのリポジトリを公開しました

技術同人誌や評論同人誌、やってみたいと思ったことはありませんか?

でも、「WEBサイトや増田ならともかく、原稿の作り方が分からない」そう思う人は多いと思います。

そんな人たちのために、Markdownファイルで原稿を作るだけで本文入稿用のPDFを作成できるボイラープレートを作成しました。

コミケの評論島や、技術書典を更に賑やかな場にしていければという思いで、C100の原稿から汎用的に利用できる部分を抜き出し、公開しました。

vivliostyle-techbook-boilerplate

GitHubにテンプレートリポジトリとして公開しています。

github.com

テンプレートリポジトリはGitHub固有の機能で、公開されたリポジトリを元に一切のGit履歴なく自分のリポジトリを作成することができます。

publicリポジトリとして公開されたリポジトリをfolkする場合、GitHubでは必ずPublicとする必要がありましたが、テンプレートリポジトリではPrivateかつ元のリポジトリとの関係を無くして自分のコードを書くことができます。

同人誌の執筆という特性上、コンテンツを公開することは適切でないため、テンプレートリポジトリとしての公開を選択しました。

vivliostyleとは

CSS組版という概念を実現するためのnpmパッケージです。

vivliostyle.org

最新 Web 標準技術により、電子出版や Web 出版のための 新しい組版システムを作るオープンソース・プロジェクト

物理的な印刷物を作るためには、RGBではなくCMYKの世界でカラーを扱う必要がある他、ブラウザではなく業務用プリンターでレイアウトを再現するために、固有のノウハウが必要でした。

一方でWEBエンジニアがこの領域に明るいことは稀です。このギャップを埋めるために、WEB開発の知識、すなわちHTMLとCSSで印刷レイアウトを表現・作成(いわゆる組版)するための手段としてCSS組版が編み出されました。

VivlioStyleは、追加の文法を一切学ぶことなく、CSSの世界とMarkdown文法さえ分かっていれば、原稿PDFを作成することができるソフトウェアです。

Why boilerplate?

VivlioStyleと既存のテーマを用いることにより、本文のPDFを作成することは可能です。

しかし、印刷用フォーマットのPDFをビルドするCLIコマンドオプションの選択、自動的に日本語校正の設定、印刷用フォーマットのPDFビルドの前提となるPuppeteerの依存ライブラリインストール、Gitの特性を活かしたブランチごとのプレビューCIパイプラインなど、実際の執筆を快適に行うためには多くの設定が必要となります。

また、これらの設定を行うにあたり、本業の開発に最適化したローカル環境に手を入れた結果、思わぬ副作用を生んでしまう可能性もあります。

このリポジトリは、Public PreviewとなったばかりのGitHub Codespacesの設定を追加することで、ローカル環境を一切変更することなく原稿のビルド環境を構築するために作成しました。

様々な依存関係をグローバルインストールすることによる心配事を、完全に払拭しています。

使い方

GitHubリポジトリのREADMEを参照してください

制限

GUI環境ではないため、VivlioStyleの機能の一つである、ブラウザプレビュー機能は利用できません。

また、ローカル環境にインストールされているフォントを使用することもできないため、WEBフォントの利用が前提となります。

Sponsorship

好奇心で設定しました。1ドルから寄付を受け付けていますが、利用に際して必須ではありません。