Статус: Ready
Публичный сайт документации на GitHub Pages. Два независимых раздела с автодеплоем через GitHub Actions.
URL: https://kaliguri.github.io/Guildmaster-Autobattler/
Структура сайта
/ → Quartz v4 (этот wiki — игровая документация, GDD)
/api/ → Doxygen (C# API Reference, архитектура классов)
Инструменты
Quartz v4
Фреймворк для публикации Obsidian vault’ов в интернет. Понимает [[wikilinks]], отображает граф связей, backlinks, поиск.
- Конфиг:
quartz-config/quartz.config.ts - Layout:
quartz-config/quartz.layout.ts - Контент:
docs/wiki/(копируется в CI) - Версия:
v4.5.2
Ключевые настройки конфига:
| Параметр | Значение |
|---|---|
baseUrl | kaliguri.github.io/Guildmaster-Autobattler |
locale | ru-RU |
ignorePatterns | .obsidian, .trash, templates, private |
Doxygen + Doxygen Awesome
Генератор C# API-документации из XML-комментариев (///). Тема Doxygen Awesome CSS заменяет стандартный визуал.
- Конфиг:
doxygen/Doxyfile - Тема (git submodule):
doxygen/doxygen-awesome-css/ - Исходники:
Assets/_Project/Scripts/**/*.cs - Диаграммы: Graphviz (CLASS_GRAPH, CALL_GRAPH, UML_LOOK)
CI/CD: .github/workflows/docs.yml
Workflow запускается при push в dev или master, если изменились файлы wiki или скриптов.
Push → Checkout → Quartz build → Doxygen build → Deploy gh-pages
| Шаг | Инструмент | Выход |
|---|---|---|
| Build wiki | Quartz v4 | site/ |
| Build API docs | Doxygen + Graphviz | site/api/ |
| Deploy | peaceiris/actions-gh-pages@v4 | ветка gh-pages |
Активация GitHub Pages
После первого успешного запуска workflow один раз вручную:
GitHub → Settings → Pages → Source: Deploy from a branch → Branch: gh-pages → /root
Добавление нового контента
Wiki (GDD и технические документы)
Просто редактировать файлы в docs/wiki/. При push в dev/master сайт обновится автоматически.
API-документация (C# классы)
Добавлять XML-комментарии к публичным методам:
/// <summary>Применяет урон с учётом брони и эффектов.</summary>
/// <param name="damage">Базовый урон до модификаторов.</param>
/// <returns>Фактически нанесённый урон.</returns>
public int TakeDamage(int damage, IUnit source) { ... }Doxygen автоматически подхватит изменения при следующем деплое.
Локальный просмотр
Quartz
git clone --depth 1 --branch v4.5.2 https://github.com/jackyzha0/quartz.git quartz-build
cp quartz-config/quartz.config.ts quartz-build/quartz.config.ts
cp quartz-config/quartz.layout.ts quartz-build/quartz.layout.ts
cp -r docs/wiki quartz-build/content
cd quartz-build
npm ci
npx quartz build --serve
# Открыть http://localhost:8080Doxygen
# Установить Doxygen: https://www.doxygen.nl/download.html
# Установить Graphviz: https://graphviz.org/download/
cd doxygen
doxygen Doxyfile
# Открыть ../site/api/html/index.html