Skip to content

mitsuharu/iosdc-pamphlet-template

Repository files navigation

iosdc-pamphlet-template

iOSDC Japan に投稿するパンフレット記事のテンプレートです。作者が iOSDC Japan 2023 で投稿したものを元に作成しました。

利用実績

iOSDC Japan 2023

iOSDC Japan 2024

色について

  • 色の見た目は印刷の都合上、紙版と電子版で異なります
  • 実際の色味は紙のパンフレットを確認してください
  • 素人判断ですが、色(主にコードブロックの色)は問題ないと思っています

環境

  • macOS Sequoia 15.5 で確認しました

必須(ローカルでビルドする場合)

任意

  • Visual Studio Code
    • ファイル保存で textlint が走るので便利(推奨)
  • Docker Desktop
    • 入稿データ作成に利用します
    • Makefile のコマンドを実行すると colima を利用します

執筆手順(ローカル)

初期設定

Yarn を利用される方は、corepack を有効にしてください。

corepack enable

環境構築

yarn

電子版のPDF作成

PDFを作成する。output/output.pdf に出力されます。

yarn pdf

PDFを開く。

yarn open

PDFの作成と開くを同時に行う。

yarn start

入稿データの作成

Docker で実行する(推奨)。output/press.pdf に出力されます。

yarn press

ローカル環境で実行する (Docker Desktop が無い場合は make press の方が推奨です)

yarn press-local

執筆手順(Docker)

  • ローカル環境に Node や Docker Desktop を入れたく無い人向け
  • Docker (colima) 上でビルドします
    • Docker Desktop は不要です

Make コマンド

  • 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.md

VS Code を利用している場合は、プラグイン vscode-textlint を追加すれば、ファイル保存時に自動実行されます。他のエディターをご利用の方は ここ からそれぞれのプラグインを追加してください。

無効

あるファイルを textlint の対象から外したい場合は .textlintignore にそのファイルを追加してください。また、ファイル内の特定の文章に対してルールを無効にしたい場合は、次のように記述してください。

<!-- textlint-disable -->
textlint を無効にしたい文章をここに書く
<!-- textlint-enable -->

textlint MCP

  • 「現在のファイルを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 を利用される場合は、安全確認したパッケージがインストールされるので原則的に対応不要です。

CI

package.json またはロックファイルの変更を含む PR が作成されたら、GitHub Actions でパッケージが確認されます。なお、Actions で利用する@aikidosec/safe-chain はバージョン固定しています。@aikidosec/safe-chain が更新されたら、それ自身の安全性を確認した後に、次のファイルを更新してください。

  • .github/workflows/aikidosec-safe-chain.yml
    • name: Install safe-chainexport SAFE_CHAIN_VERSION=1.3.2 で指定するバージョンを更新する

参照

About

iOSDC Japan に投稿するパンフレット記事のテンプレートです(非公式)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors