# Document of c-modernization-kit

# 1 Doxygen

- calc
- calc dotnet wrapper
- porter
- util
- funcman
- override-sample
- doxygen-sample

# 2 単一ファイル版ドキュメント

Doxygen 成果物の単一ファイル版ドキュメントです。

- calc
  - ファイルとページの一覧
- calc dotnet wrapper
  - ファイルとページの一覧
  - 名前空間の一覧
  - クラスの一覧
- porter
  - ファイルとページの一覧
- util
  - ファイルとページの一覧
- funcman
  - ファイルとページの一覧
- override-sample
  - ファイルとページの一覧
- doxygen-sample
  - ファイルとページの一覧

# 3 関連ドキュメント

- 📁 docsfw
  pub_markdown
  - 📁 sample
    トップレベルの index
    - 📁 subfolder
      サブフォルダの index
      - 📁 svg-test
        drawio.svg 変換テスト
    - 📁 空白を 含むサブフォルダ
      空白を含むサブフォルダ
    - 📁 日本語を含むサブフォルダ
      日本語を含むサブフォルダ
    - 📄 codeblock-caption.md
      コードブロックキャプションののサンプル
    - 📄 crossref.md
      相互参照サンプル
    - 📄 image-width.md
      image-width
    - 📄 mermaid-caption.md
      Mermaid キャプションのサンプル
    - 📄 plantuml.md
      plantuml
    - 📄 repeatedly-test.md
      繰り返しテスト
  - 📄 browser-reuse.md
    共有ブラウザインスタンスについて
  - 📄 chrome-wrapper.md
    chrome-wrapper について
  - 📄 collapsible-list.md
    展開可能リスト機能 (collapsible-list)
  - 📄 insert-toc.md
    Pandoc 目次挿入 Lua フィルタ (insert-toc.lua)
  - 📄 mermaid.md
    Pandoc Mermaid Lua フィルタ (mermaid.lua)
  - 📄 mpe-heading-numbering.md
    Markdown Preview Enhanced での見出し自動採番
  - 📄 pandoc-linebreak.md
    Pandoc の改行コード: Windows/Linux 差異の実装調査
  - 📄 pipeline.md
    パイプラインに関する関連知見
  - 📄 puppeteer-offline-chrome.md
    Puppeteer で利用する Chrome のオフラインインストール方法
  - 📄 rsvg-convert.md
    rsvg-convert の独自実装について
  - 📄 submodule-docs-merge-design.md
    サブモジュール mdRoot マージ機能
  - 📄 windows-dot.md
    Windows における PlantUML の `dot.exe` 自動展開 (同梱 Graphviz) 仕様
- 📁 doxyfw
  - 📄 c-doc-report.md
    C 言語ドキュメンテーションツール包括調査
  - 📄 cheatsheet.md
    CheatSheet
  - 📄 choose-input.md
    Doxyfile で複数の個別ディレクトリを対象に指定する方法
  - 📄 commands.md
    コマンド (タグ) の解説 日本語版
  - 📄 copydoc.md
    Doxygen の [@copydoc] 活用ガイド
  - 📄 defines.md
    define 値の展開について
  - 📄 direction.md
    パラメータの direction の処理
  - 📄 doxybook2-decolorize-output-research.md
    Doxybook2 出力の調査結果
  - 📄 doxybook2-decolorize-output-spec.md
    doxybook2-decolorize-output.sh 仕様
  - 📄 doxybook2-member-groups.md
    doxybook2 のメンバーグループ非対応について
  - 📄 doxybook2-plantuml.md
    doxybook2 への PlantUML 対応
  - 📄 doxygen-colored-output-research.md
    Doxygen 着色出力の調査結果
  - 📄 doxygen-colorize-output-spec.md
    doxygen-colorize-output.sh 仕様
  - 📄 doxygen-images.md
    Doxygen における画像の仕様
  - 📄 extract-graphs.md
    Doxygen 関連図の Markdown 挿入
  - 📄 how-to-edit-template.md
    doxybook2 のテンプレート編集方法
  - 📄 localization-todo.md
    テンプレート 日本語ローカライズ TODO
  - 📄 makefile-usage.md
    makefile 使用方法
- 📁 makefw
  - 📁 gcc-warning-guide
    gcc 警告オプション運用ガイド
    - 📄 excluded-warnings.md
      推奨セットに含めない警告オプションとその理由
  - 📄 make-variable-assignment.md
    makefile の変数代入 “= と :=” の違い
  - 📄 makelevel-usage.md
    MAKELEVEL 変数による再帰 make の階層判定
  - 📄 makeparts.md
    makepart.mk / makechild.mk / makelocal.mk について
  - 📄 msvc-runtime-linkage.md
    MSVC ランタイムライブラリのリンクモデル
  - 📄 os-subdirectory-filtering.md
    サブディレクトリの OS フィルタリング
  - 📄 template-auto-selection.md
    makefile テンプレート自動選択機構
  - 📄 windows-utf8-console.md
    Windows における UTF-8 対応: マニフェストとコンソール出力
- 📁 skill-guide
  スキルガイド - 学習ロードマップ
  - 📁 01-modern-development
    モダンな開発の理解 (ステップ 1 - 導入)
    - 📄 about-modern-development.md
      レガシー C コードにモダン手法を適用する全体像
    - 📄 x_as_code.md
      生成 AI 時代のソースコード管理を考える: ‘X as Code’ から GitOps への DevOps 進化論
  - 📁 02-version-control
    バージョン管理 (ステップ 2 - 必須基盤)
    - 📄 git-basics.md
      Git 基礎
    - 📄 git-submodules.md
      Git サブモジュール
    - 📄 github-workflow.md
      GitHub ワークフロー
  - 📁 03-c-language
    C 言語発展トピック (ステップ 3 - ビルド理解)
    - 📄 c-cross-platform.md
      クロスプラットフォーム対応
    - 📄 c-library-types.md
      C ライブラリの種類
  - 📁 04-build-system
    ビルドシステム (ステップ 3 - ビルド理解)
    - 📄 dotnet-sdk.md
      .NET SDK
    - 📄 gcc-toolchain.md
      GCC / MSVC ツールチェイン
    - 📄 gnu-make.md
      GNU Make
  - 📁 05-testing
    テスト自動化 (ステップ 4 - 品質向上)
    - 📄 code-coverage.md
      コードカバレッジ
    - 📄 dotnet-testing.md
      .NET テスト (xUnit)
    - 📄 google-test.md
      Google Test / Google Mock
  - 📁 06-documentation
    ドキュメント自動化 (ステップ 4 - 品質向上)
    - 📄 doxygen.md
      Doxygen
    - 📄 drawio.md
      draw.io
    - 📄 markdown.md
      Markdown
    - 📄 mermaid.md
      Mermaid
    - 📄 pandoc.md
      Pandoc
    - 📄 plantuml.md
      PlantUML
  - 📁 07-ci-cd
    CI/CD (ステップ 5 - 自動化・拡張)
    - 📄 github-actions.md
      GitHub Actions
    - 📄 github-pages.md
      GitHub Pages
    - 📄 jenkins.md
      Jenkins
    - 📄 podman.md
      Podman
  - 📁 08-dev-environment
    開発環境・.NET 連携 (ステップ 4 - 自動化・拡張)
    - 📄 dotnet-csharp.md
      C# / P/Invoke 基礎
    - 📄 vscode.md
      VS Code (Visual Studio Code)
    - 📄 wsl-mingw.md
      WSL/MinGW 環境
- 📁 testfw
  - 📁 gtest
    - 📄 manual-build.md
      GoogleTest 手動ビルド手順
    - 📄 version-update.md
      GoogleTest バージョン更新ガイド
  - 📄 about-shared-lib-static-linking.md
    共有ライブラリビルド時の静的ライブラリ組み込み機能
  - 📄 about-struct.md
    構造体の宣言について
  - 📄 about-test-phase.md
    テストコードの各フェーズについての解説
  - 📄 check-categorization.md
    確認の細分化
  - 📄 gtest-color-rules.md
    GoogleTest 実行結果の着色ルール
  - 📄 how-to-expect.md
    How to expect
  - 📄 how-to-extern.md
    C 言語における `extern` と実体の理解
  - 📄 how-to-mock.md
    How to mock
  - 📄 how-to-test.md
    How to test
  - 📄 mock-injection-technique.md
    標準ライブラリへのモック注入テクニック
  - 📄 opencppcoverage-sources.md
    OpenCppCoverage の source 指定における中間一致の仕様
  - 📄 process-control-api.md
    プロセス制御 API
  - 📄 trace-level-process-control.md
    プロセス制御関数への traceLevel サポート追加（設計検討資料）
  - 📄 windows-cov-tools.md
    VSBT でのカバレッジツール選択ガイド
- 📄 build-design.md
  クロスプラットフォームビルドシステムの実装
- 📄 c-cpp-include-folder.md
  include フォルダについて
- 📄 clang-format-indentppdirectives.md
  clang-format 設定の解説
- 📄 dotnet-relwithdebinfo.md
  .NET プロジェクトにおける RelWithDebInfo ビルド構成
- 📄 dotnet-test-results-design.md
  .NET テスト用 results 生成機能 設計書
- 📄 github-actions.md
  GitHub Actions CI/CD 仕様
- 📄 include-guard-guideline.md
  インクルードガードのガイドライン
- 📄 makepart-hooks-design.md
  フック機能
- 📄 subfolder-compilation.md
  C 言語サブディレクトリ対応の詳細と実装ガイド
- 📄 testing-tutorial.md
  C言語テスト実践チュートリアル
- 📄 vscode-variables.md
  VS Code における環境変数の注入方法

# 4 アーティファクト

ビルドログ、テスト結果、およびドキュメントを圧縮した zip ファイルです。

- ビルド&テストログ
  - Linux OL8 (linux-ol8-logs.zip)
  - Linux OL10 (linux-ol10-logs.zip)
  - Windows (windows-logs.zip)
- テスト結果
  - Linux OL8 (linux-ol8-test-results.zip)
  - Linux OL10 (linux-ol10-test-results.zip)
  - Windows (windows-test-results.zip)
- ドキュメントを圧縮した zip ファイル
  - html doxygen (docs-html-doxygen.zip)
  - html ja (docs-html-ja.zip)
  - html en (docs-html-en.zip)
  - html ja-details (docs-html-ja-details.zip)
  - html en-details (docs-html-en-details.zip)
  - docx ja (docs-docx-ja.zip)
  - docx en (docs-docx-en.zip)
  - docx ja-details (docs-docx-ja-details.zip)
  - docx en-details (docs-docx-en-details.zip)