Skip to content

Integrate dynamically generated API documentation (#8)#20

Open
bbakernoaa wants to merge 17 commits into
ufs-community:mainfrom
bbakernoaa:feature/api_docs
Open

Integrate dynamically generated API documentation (#8)#20
bbakernoaa wants to merge 17 commits into
ufs-community:mainfrom
bbakernoaa:feature/api_docs

Conversation

@bbakernoaa

Copy link
Copy Markdown
Collaborator
  • docs: integrate dynamically generated API documentation via GitHub Actions
  • Modify Doxyfile to enable XML generation and set output directory
  • Update .github/workflows/docs.yml to install moxygen and doxygen, and generate docs/api.md dynamically
  • Update .gitignore to ignore generated Doxygen artifacts and docs/api.md
  • Remove redundant mkdoxy plugin from zensical.toml and CI workflow
  • Delete static docs/api.md to ensure it is always generated from source during deployment
  • fix: correct zensical.toml formatting to pass pre-commit check
  • Remove trailing newline in zensical.toml to satisfy end-of-file-fixer hook.

bbakernoaa and others added 2 commits April 26, 2026 06:21
* docs: integrate dynamically generated API documentation via GitHub Actions

- Modify Doxyfile to enable XML generation and set output directory
- Update .github/workflows/docs.yml to install moxygen and doxygen, and generate docs/api.md dynamically
- Update .gitignore to ignore generated Doxygen artifacts and docs/api.md
- Remove redundant mkdoxy plugin from zensical.toml and CI workflow
- Delete static docs/api.md to ensure it is always generated from source during deployment

* fix: correct zensical.toml formatting to pass pre-commit check

- Remove trailing newline in zensical.toml to satisfy end-of-file-fixer hook.

---------

Co-authored-by: bbakernoaa <22104759+bbakernoaa@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Integrates dynamically generated API documentation into the docs deployment pipeline by generating Doxygen XML and converting it into docs/api.md during the GitHub Actions docs build, removing the previously static/generated-in-repo approach.

Changes:

  • Enable Doxygen XML output for use by an API doc generator.
  • Update the docs deployment workflow to install/run Doxygen + moxygen and generate docs/api.md during deployment.
  • Remove the mkdoxy plugin configuration and delete the previously committed docs/api.md; update .gitignore for generated artifacts.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
zensical.toml Removes mkdoxy plugin configuration from the site config.
docs/api.md Deletes the static API reference markdown so it’s generated during deployment.
Doxyfile Enables XML generation needed for downstream conversion to Markdown.
.gitignore Ignores Doxygen output directory and generated docs/api.md.
.github/workflows/docs.yml Installs moxygen and generates docs/api.md from Doxygen XML during docs deployment.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/docs.yml Outdated
Comment thread .github/workflows/docs.yml Outdated
Comment thread .github/workflows/docs.yml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Integrates dynamic generation of the CECE API reference during the GitHub Pages docs deployment, replacing the previously committed static docs/api.md and removing the mkdoxy-based approach.

Changes:

  • Enable Doxygen XML output and generate docs/api.md during the docs deployment workflow using Doxygen + moxygen.
  • Remove the mkdoxy plugin configuration and delete the committed static docs/api.md.
  • Ignore generated API artifacts (docs/api/, docs/api.md) in git.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
zensical.toml Removes mkdoxy plugin configuration from the docs build config.
docs/api.md Deletes the previously committed static API reference page.
Doxyfile Enables GENERATE_XML needed for moxygen.
.gitignore Ignores generated Doxygen output and the generated docs/api.md.
.github/workflows/docs.yml Installs moxygen, runs Doxygen, generates docs/api.md, then builds and deploys docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/docs.yml
Comment thread .github/workflows/docs.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the documentation pipeline to generate the CECE API reference dynamically during the GitHub Pages deploy workflow, replacing the previously committed static docs/api.md and removing the now-unneeded mkdoxy integration.

Changes:

  • Enable Doxygen XML output and generate docs/api.md dynamically in the docs deploy workflow via doxygen + moxygen.
  • Remove the mkdoxy plugin configuration and stop installing it in the docs workflow.
  • Ignore generated API artifacts (docs/api/, docs/api.md) and delete the committed static docs/api.md.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
zensical.toml Removes mkdoxy plugin configuration from the docs site config.
docs/api.md Deletes the committed static API reference page so it’s always generated during deployment.
Doxyfile Enables XML output required for Markdown generation tooling (moxygen).
.gitignore Ignores generated documentation artifacts and the generated API page.
.github/workflows/docs.yml Installs moxygen, runs Doxygen, generates docs/api.md, then builds & deploys the site.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/docs.yml Outdated
Comment thread .github/workflows/docs.yml
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the documentation pipeline to generate the API reference dynamically during the GitHub Pages deployment workflow (via Doxygen XML + moxygen), removing the previously tracked static docs/api.md and the mkdoxy plugin configuration.

Changes:

  • Enable Doxygen XML generation and direct Doxygen output into docs/api/.
  • Update the docs deployment workflow to install/run Doxygen + moxygen to generate docs/api.md before building the site.
  • Remove the mkdoxy plugin config and ignore generated documentation artifacts in git.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
zensical.toml Removes mkdoxy plugin configuration from the docs build setup.
docs/api.md Deletes the previously committed static API reference markdown.
Doxyfile Enables XML output for Doxygen to support markdown generation via moxygen.
.gitignore Ignores generated Doxygen output (docs/api/) and generated docs/api.md.
.github/workflows/docs.yml Installs Doxygen + moxygen and generates docs/api.md during docs deployment.
Comments suppressed due to low confidence (1)

zensical.toml:44

  • With the mkdoxy plugin removed, the docs nav still includes api.md (see line 16), but docs/api.md is no longer tracked (it’s deleted in this PR and now gitignored). As-is, a local zensical build will fail unless callers know to generate docs/api.md first. Consider adding a repo script/Make target that generates docs/api.md (and have docs.yml call it), or commit a small placeholder docs/api.md that explains how it’s generated so local builds don’t break by default.
accent = "indigo"
toggle.icon = "material/brightness-4"
toggle.name = "Switch to light mode"


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Doxyfile
@bbakernoaa bbakernoaa requested review from benkozi and rschwant April 30, 2026 12:39
@bbakernoaa bbakernoaa added the github_actions Pull requests that update GitHub Actions code label Apr 30, 2026
@bbakernoaa

Copy link
Copy Markdown
Collaborator Author

@zmoon can you take a quick look here?

@zmoon zmoon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haven't tried it out yet but here are some initial comments

Comment thread .github/workflows/docs.yml Outdated
Comment thread .github/workflows/docs.yml Outdated
Comment thread .gitignore Outdated
Comment thread .github/workflows/docs.yml Outdated
bbakernoaa and others added 4 commits May 13, 2026 12:18
Co-authored-by: Zachary Moon <zmoon92@gmail.com>
Co-authored-by: Zachary Moon <zmoon92@gmail.com>
Co-authored-by: Zachary Moon <zmoon92@gmail.com>
Co-authored-by: Zachary Moon <zmoon92@gmail.com>
@zmoon

zmoon commented May 13, 2026

Copy link
Copy Markdown
Collaborator

haven't tried it out yet but here are some initial comments

Could change it to run on PRs and such too like CI

on:
push:
branches: [main, develop]
pull_request:
workflow_dispatch:

Just separate or guard the last step (deploying to GH Pages)

@bbakernoaa

Copy link
Copy Markdown
Collaborator Author

@zmoon one more quick look

@bbakernoaa bbakernoaa requested a review from zmoon May 18, 2026 13:00
zmoon added 2 commits May 18, 2026 11:22
CI still on all PRs though
and get rid of develop branch references (currently don't have)
@zmoon

zmoon commented May 19, 2026

Copy link
Copy Markdown
Collaborator

Downloading the built docs artifact, unzip, navigate inside and python -m http.server (the nav links don't seem to work properly otherwise), it looks okay:

Screenshot image

Though I noticed the "On this page" part doesn't seem to include everything. It only includes stuff before the cece heading. It could be because cece is an h1 (probably should be h2 instead).

zmoon added 2 commits May 19, 2026 09:50
might resolve some of the warnings
This reverts commit b8759e9.

Looks like the same number of warnings in the docs build
(2820 lines in the log)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation github_actions Pull requests that update GitHub Actions code

Projects

Development

Successfully merging this pull request may close these issues.

3 participants