Skip to content

Resolve Issue #16: GitHub Pages documentation site (Material + Doxygen) - #17

Merged
EndrII merged 1 commit into
mainfrom
task_16
Oct 28, 2026
Merged

EndrII merged 1 commit into
mainfrom
task_16

Conversation

@QuasarAppCI

Copy link
Copy Markdown
Member

Implements the same documentation site as QuasarApp/Heart#88 (QuasarApp/Heart#90):

  • Site style: Material — mkdocs.yml with the Material theme (indigo palette for the light and slate schemes, Roboto font stack, same features/extensions as Heart).
  • All md documentation — the root README.md is copied to docs/index.md at build time and served as the site home page (single source of truth, generated copy gitignored).
  • Doxygen documentation — doxygen.conf is now doxygen.conf.in (generated file gitignored); the 15 tags Doxygen 1.18 rejects as obsolete were removed, PROJECT_NUMBER is wired to the new VIEWSOLUTIONS_VERSION (1.0..), PROJECT_BRIEF is set, LAYOUT_FILE cleared (the CMake/DoxyStyle files referenced by it are missing in the submodule) and HTML_EXTRA_STYLESHEET replaced with the new res/doxygen-material.css (Material indigo palette mapped onto the Doxygen 1.18 CSS custom properties, light + dark). CMakeLists.txt gets updateGitVarsWithHash + configure_file_in so the local doc target keeps working (same as Heart).
  • README.md gets the documentation / API reference links; .gitignore covers the generated docs/api/, docs/index.md, site/, doxygen.conf.

Pending: the workflow file. .github/workflows/deploy-docs.yml (the Deploy Documentation (GitHub Pages) workflow: Doxygen 1.18.0 + Graphviz installed in the workflow via marketplace actions — ssciwr/doxygen-install@v2.0.3, ts-graphviz/setup-graphviz@v2.0.2, no system apt; Doxygen output into docs/api/; mkdocs==1.6.1 + mkdocs-material==9.7.7 strict build; deploy to the gh-pages branch via JamesIves/github-pages-deploy-action@v4) is not in this PR yet: the QuasarAppCI token lacks the workflow scope, so git push refuses the file and the Contents/Git-data APIs return 404 for .github/workflows/ (all three paths tested, regular files work fine). The complete file content is posted on issue #16 — it needs the workflow scope on the token (or a manual commit) before it can be added. Once the file lands on the branch, the site deploys on merge.

Validated locally with the same toolchain as the runner (doxygen 1.18.0 + graphviz 2.43, mkdocs 1.6.1 + material 9.7.7): doxygen exit 0 with 0 obsolete-tag/warning lines, 703 files in docs/api (client-side searchdata.js, material stylesheet linked, version 1.0.94.993e27c), mkdocs build --strict exit 0, local HTTP smoke test: /, /api/, /api/doxygen-material.css, /api/index.html, /assets/ all 200.

After the merge: the workflow creates gh-pages and the Pages source has to be set to branch gh-pages (path /) — will be done right after the first green deploy, then a live smoke test of https://quasarapp.github.io/ViewSolutions/ .

Implement the same documentation setup as QuasarApp/Heart#88: MkDocs with the Material theme serving the README as the home page and the Doxygen HTML output under /api/, deployed to the gh-pages branch by the 'Deploy Documentation (GitHub Pages)' workflow (Doxygen 1.18.0 + Graphviz installed in the workflow via marketplace actions, no system apt).

- doxygen.conf renamed to doxygen.conf.in (generated file gitignored), the 15 tags rejected as obsolete by Doxygen 1.18 removed, PROJECT_NUMBER wired to VIEWSOLUTIONS_VERSION (1.0.<commits>.<sha>), PROJECT_BRIEF set, LAYOUT_FILE cleared (CMake/DoxyStyle files are missing in the submodule) and HTML_EXTRA_STYLESHEET replaced with the new res/doxygen-material.css (Material indigo palette matching the site), HTML_COLORSTYLE_HUE 220 -> 231

- CMakeLists.txt: updateGitVarsWithHash + VIEWSOLUTIONS_VERSION + configure_file_in before addDoc (same as Heart)

- README.md: documentation / API reference links to https://quasarapp.github.io/ViewSolutions/
@EndrII
EndrII merged commit 4522ca2 into main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants