mdBook の使い方
mdBook は Rust 製の静的サイトジェネレーターで、Markdown ファイルからドキュメントサイト(HTML)を生成します。このリポジトリで使っているツールです。
インストール
Rust がある場合(推奨)
cargo install mdbook
バイナリを直接取得する場合
GitHub Releases から OS に合ったバイナリをダウンロードして PATH の通ったディレクトリに置きます。
Windows(winget)
winget install -e --id Rust.Rust
cargo install mdbook
プロジェクト構造
book.toml # プロジェクト設定
src/
SUMMARY.md # 目次(章の順序と構成を定義)
chapter_1.md # 記事ファイル
book/ # ビルド出力(自動生成・編集不要)
book.toml の主要設定
[book]
title = "APAC-HPC-AI"
authors = ["Typewriter"]
language = "ja" # サイトの言語コード
[build]
build-dir = "book" # 出力先ディレクトリ(デフォルト: book)
SUMMARY.md — 目次の書き方
src/SUMMARY.md が本全体の構成を決定します。ここに書いたリンクのみがサイドバーに表示されます。
# Summary
- [はじめに](./introduction.md)
# 第1部:ツールガイド
- [mdBook の使い方](./mdbook-usage.md)
- [GitHub Pages への公開](./github-pages.md)
# 第2部:OpenFOAM
- [OpenFOAM 入門](./openfoam/intro.md)
- [メッシュ生成](./openfoam/meshing.md) ← インデントでサブ章
ルール:
- リストアイテム
- [タイトル](./ファイルパス)が章になる - インデント(2スペース or タブ)でサブ章を作れる
# 見出しはセクション区切り(リンクなし)- SUMMARY.md に書かれていないファイルはサイトに含まれない
記事の書き方
src/ 以下に .md ファイルを作成します。通常の Markdown がそのまま使えます。
# 章タイトル
## セクション
本文テキスト。**太字**、*斜体*、`コード` が使えます。
コードブロック(シンタックスハイライト付き):
```bash
mpirun -np 4 openfoam
```
数式(KaTeX):
\\( E = mc^2 \\) ← インライン数式
\\[
\nabla \cdot \mathbf{u} = 0
\\] ← ブロック数式
ディレクトリで章をまとめる
src/
openfoam/
intro.md
meshing.md
SUMMARY.md でのパス指定: ./openfoam/intro.md
ビルドとプレビュー
| コマンド | 説明 |
|---|---|
mdbook build | book/ に HTML を生成 |
mdbook serve | ローカルサーバーを起動(http://localhost:3000) |
mdbook serve --open | ブラウザも自動で開く |
mdbook watch | ファイル変更を監視して自動ビルド(サーバーなし) |
mdbook clean | book/ を削除 |
mdbook serve 実行中はファイルを保存するたびにブラウザが自動更新されます。
新しい章を追加する手順
src/にファイルを作成する
# 例: OpenFOAM 入門記事
# (Windowsの場合)
New-Item src/openfoam-intro.md
src/SUMMARY.mdにリンクを追加する
- [OpenFOAM 入門](./openfoam-intro.md)
mdbook serveで確認する
この 2 ステップを忘れると、ファイルを作ってもサイトに表示されないので注意。
カスタマイズ(book.toml)
[book]
title = "APAC-HPC-AI"
description = "APAC HPC-AI Competition 2026 チーム知識ベース"
[output.html]
theme = "navy" # デフォルトテーマ: default, rust, coal, navy, ayu
git-repository-url = "https://github.com/<username>/APAC-HPC-AI"
edit-url-template = "https://github.com/<username>/APAC-HPC-AI/edit/main/{path}"
[output.html.search]
enable = true # 全文検索(デフォルトで有効)
edit-url-template を設定すると各ページに「ページを編集」リンクが表示され、共同執筆がしやすくなります。