技術同人誌のテンプレートリポジトリです。新しい同人誌を作成するときは、このリポジトリを利用してください。
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 を使わずにビルドできます。
次のコマンドで、ビルドに必要なツールをローカル環境にインストールします。
yarn installプレス版の PDF をビルドするには、Ghostscript および Xpdf も必要になります。次のコマンドでインストールします。
brew install ghostscript
brew install xpdfYarn を利用する場合は corepack を有効にしてください。
corepack enable
または
corepack enable yarnyarn start: pdf を生成して開く(make run相当)yarn lint: textlint を実行(make lint相当)yarn build: pdf を生成(make pdf相当)yarn build:press: プレス版の pdf を生成(make pdf_press相当)yarn cover: 電子版 pdf と表紙画像を結合する(make cover相当)yarn open: pdf を開く(make open相当)yarn clean: 生成ファイルをすべて削除(make clean相当)
ローカルおよび CI で、@aikidosec/safe-chain を利用して、npm パッケージの安全性を確認できます。
@aikidosec/safe-chain の README にしたがって、ローカル環境にインストールしてください。なお、Docker を利用される場合は、安全確認したパッケージがインストールされるので原則的に対応不要です。
package.json の変更を含む PR が作成されたら、GitHub Actions でパッケージが確認されます。なお、Actions で利用する@aikidosec/safe-chain はバージョン固定しています。@aikidosec/safe-chain が更新されたら、それ自身の安全性を確認した後に、次のファイルを更新してください。
.github/workflows/aikidosec-safe-chain.ymlname: Install safe-chainのexport SAFE_CHAIN_VERSION=1.3.2で指定するバージョンを更新する
このプロジェクトは MIT ライセンスの下で公開されています。
- このリポジトリの MIT ライセンスには、ゆめみの紹介文は含まれません。