技術同人誌のテンプレートリポジトリです。新しい同人誌を作成するときは、このリポジトリを利用してください。
make run
🔖 グローバル環境を可能な限り汚染せずにMarkdownから組版のPDFを生成(ゆめみ大技林 '23)
表紙画像をプロジェクト内の book/cover/cover.png
に保存している場合は、電子版 PDF と表紙画像の結合をコマンドで実行できます。次のコマンドで、表紙画像を結合した PDF output/ebook_covered.pdf
を生成します。なお、電子版 PDF は事前に生成しておいてください。
make cover
結合後の PDF に質の問題がある場合や、表紙画像がリポジトリ管理できない場合は、手動で結合(Acrobat Pro で PDF に画像を挿入するなど)してください。
次のコマンドで印刷入稿用 PDF が作成されます。
make pdf_press
もしくは、GitHub でタグに「n版」または「n版m刷」(たとえば、初版
、初版2刷
や 第二版一刷
など)を付けてプッシュすると、電子版および印刷入稿用 PDF を添付したリリースが作成されます。cover
ディレクトリに表紙画像や PSD ファイルがある場合は、それらもアセットに追加します。
書籍のタイトルの設定などは、book/vivliostyle.config.js ファイルで行います。
またテンプレートの都合上、年号等が最新に設定できないため、<!-- -->
でコメントアウトしています。必要に応じて修正してコメントアウトを外してください。
- book/manuscripts ディレクトリの中に、拡張子
.md
のMarkdownファイルを作成します。 - book/vivliostyle.config.js ファイル内の
entry
配列に、そのMarkdownファイル名を追加します。
校正ツール textlint を利用して、文章校正ができます。なお、この lint ツールの使用は任意です。書き方で悩んだ・校正したい場合など、必要に応じて導入してください。
次のルールを導入しています。
- preset-ja-spacing
- 日本語周りにおけるスペースの有無を決定する
- preset-ja-technical-writing
- 技術文書向けの textlint ルールプリセット
- textlint-rule-spellcheck-tech-word
- WEB+DB 用語統一ルールベースの単語チェック
- (deprecated になっているので置き換えたい)
- Rules for TechBooster
- TechBooster の ルール を使用しています。
- iOS に関するルールはほとんどないので適宜追加してください。
その他、スペルチェックのルール textlint-rule-spellchecker
がありますが、エディターのスペルチェックと競合しやすいので、今回は追加していません。VS Code を利用している場合は、プラグイン Code Spell Checker を追加すれば、スペルチェックが行われます。
make lint
ローカルに Node.js 環境がある場合は、VS Code のプラグイン taichi.vscode-textlint
を導入することで、ファイル保存時に textlint が実行されます。
VS Code にプラグイン Dev Containers を追加します。コマンドパレット(ショートカットキー Command + Shift + P)を開いて、Remote-Containers: Reopen in Container
を実行します。コンテナーが立ち上がったら、執筆を始めてください。ファイル保存時に textlint が自動実行されます。ただし、Docker を利用する場合は、ライセンスに注意して利用してください。
あるファイルを textlint の対象から外したい場合は .textlintignore
にそのファイルを追加してください。また、ファイル内の特定の文章に対してルールを無効にしたい場合は、次のように記述してください。
<!-- textlint-disable -->
textlint を無効にしたい文章をここに書く
<!-- textlint-enable -->
ローカル環境に Node.js がインストールされている場合は、Docker を使わずにビルドできます。
次のコマンドで、ビルドに必要なツールをローカル環境にインストールします。
npm install
プレス版の PDF をビルドするには、Ghostscript および Xpdf も必要になります。次のコマンドでインストールします。
brew install ghostscript
brew install xpdf
Yarn を利用する場合は corepack を有効にしてください。
corepack enable
または
corepack enable yarn
npm run start
: pdfを生成して開く(make run
相当)npm run lint
: textlintを実行(make lint
相当)npm run build
: pdfを生成(make pdf
相当)npm run build:press
: プレス版のpdfを生成(make pdf_press
相当)npm run cover
: 電子版pdfと表紙画像を結合する(make cover
相当)npm run open
: pdfを開く(make open
相当)npm run clean
: 生成ファイルをすべて削除(make clean
相当)