iOSDC Japan に投稿するパンフレット記事のテンプレートです。作者が iOSDC Japan 2023 で投稿したものを元に作成しました。
iOSDC Japan 2023
iOSDC Japan 2024
- 現在設定されている組版です
- 2023 版を元に、フォントサイズと余白を調整しました
- 参照:2024に寄稿したパンフレット記事
色について
- 色の見た目は印刷の都合上、紙版と電子版で異なります
- 実際の色味は紙のパンフレットを確認してください
- 素人判断ですが、色(主にコードブロックの色)は問題ないと思っています
- macOS Sequoia 15.5 で確認しました
- Node.js 22 以上
- vivliostyle を利用するためです
- 作者は nodenv-aliases を使って設定しています
- Yarn v4
corepack enableで corepack を有効にしてください
- Visual Studio Code
- ファイル保存で textlint が走るので便利(推奨)
- Docker Desktop
- 入稿データ作成に利用します
- Makefile のコマンドを実行すると colima を利用します
Yarn を利用される方は、corepack を有効にしてください。
corepack enable環境構築
yarnPDFを作成する。output/output.pdf に出力されます。
yarn pdfPDFを開く。
yarn openPDFの作成と開くを同時に行う。
yarn startDocker で実行する(推奨)。output/press.pdf に出力されます。
yarn pressローカル環境で実行する (Docker Desktop が無い場合は make press の方が推奨です)
yarn press-local- ローカル環境に Node や Docker Desktop を入れたく無い人向け
- Docker (colima) 上でビルドします
- Docker Desktop は不要です
- make hogehoge で完結します
| コマンド | 内容 |
|---|---|
| make run | pdfを生成して開く |
| make pdf | pdfを生成する |
| make press | プレス版のpdfを生成する |
| make lint | textlintを実行する |
| make open | pdfを開く |
| make clean | 生成ファイルをすべて削除 |
| make clean_pdf | pdf関係の生成物を削除 |
| make clean_docker | Docker関係の生成物を削除 |
校正ツール 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 を追加すれば、スペルチェックが行われます。
./manuscripts/ 配下のファイルすべてに対して textlint を行う。
yarn lint 特定のファイルに対して実行する。
yarn textlint ./manuscripts/hogehoge.mdVS Code を利用している場合は、プラグイン vscode-textlint を追加すれば、ファイル保存時に自動実行されます。他のエディターをご利用の方は ここ からそれぞれのプラグインを追加してください。
あるファイルを textlint の対象から外したい場合は .textlintignore にそのファイルを追加してください。また、ファイル内の特定の文章に対してルールを無効にしたい場合は、次のように記述してください。
<!-- textlint-disable -->
textlint を無効にしたい文章をここに書く
<!-- textlint-enable -->
- 「現在のファイルをtextlint MCPを使って、見つかったテキストの問題を説明してください」などでAIアシスタントに校正を依頼してください
- 詳細は https://efcl.info/2025/06/10/textlint-mcp/ を参照してください
- 利用してるテーマは @mitsuharu/vivliostyle-theme-iosdc-pamphlet です
- 標準テーマの
"@vivliostyle/theme-techbook"をベースにしています - 拙作なので、PR など歓迎です
- 標準テーマの
- フォントサイズなど簡単な変更は
./theme/styles/styles.cssを適宜修正する
ローカルおよび 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で指定するバージョンを更新する