技術同人誌のテンプレートリポジトリです。新しい同人誌を作成するときは、このリポジトリを利用してください。
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相当)
このプロジェクトは MIT ライセンスの下で公開されています。
- このリポジトリの MIT ライセンスには、株式会社ゆめみの紹介文やコーポレートロゴは含まれません。
ローカルおよび CI で、@aikidosec/safe-chain を利用して、パッケージの安全性を確認できます。ただし、2025/09/27 時点では、次に注意してください。
- 利用する
@aikidosec/safe-chainは 1.0.24 に固定しています - バージョン 1.0.24 では yarn はフルサポートされていません
@aikidosec/safe-chain が更新されたら、それ自身の安全性を確認した後に、次のファイルそれぞれを更新してください。
package.jsoninstall:safe-chainでのバージョン指定
.github/workflows/aikidosec-safe-chain.ymlname: Setup safe-chainでのバージョン指定
ローカルに @aikidosec/safe-chain をグローバルインストールして、初期設定を行います。これは Node.js 環境を更新しない限り、一回だけの実行で OK です。
yarn install:safe-chain新しいパッケージをインストールするたびに、自動でパッケージが確認されます。
yarn add {new-package}ローカルから @aikidosec/safe-chain をアンインストールします。
yarn uninstall:safe-chainpackage.json の変更を含む PR が作成されたら、パッケージが確認されます。ただし、yarn ではなく、npm ci で実行するので、依存パッケージのバージョンアップが必ずしも一致しません。