Skip to content

Add mermaid diagram support to documentation builds#59

Merged
Malcolmnixon merged 2 commits intomainfrom
copilot/add-mermaid-diagram-support
Jan 22, 2026
Merged

Add mermaid diagram support to documentation builds#59
Malcolmnixon merged 2 commits intomainfrom
copilot/add-mermaid-diagram-support

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 22, 2026

Pull Request

Description

Enables mermaid diagram rendering in generated documentation by integrating mermaid-filter into the pandoc pipeline. Follows the pattern established in demaconsulting/TestResults.

Changes:

  • Added package.json with mermaid-filter 1.4.7 and @mermaid-js/mermaid-cli 11.12.0
  • Modified build-docs job: Node.js LTS setup, npm install, and --filter node_modules/.bin/mermaid-filter.cmd on all pandoc invocations
  • Updated .gitignore for package-lock.json

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Implements feature request for mermaid diagram support in documentation generation.

Pre-Submission Checklist

Before submitting this pull request, ensure you have completed the following:

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

Please run the following checks before submitting:

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint '**/*.{yml,yaml}'

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

No code changes to application logic. Workflow-only modification. Documentation can now include mermaid code blocks that will render as diagrams in generated PDFs.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Allow mermaid diagrams in documents</issue_title>
<issue_description>### Problem Statement

The build-docs job in build.yaml should support mermaid diagrams in documents.

Proposed Solution

The approach is already in use on https://github.com/demaconsulting/TestResults and involves:

  • Copy the package.json file to provide mermaid-filter and mermaid-cli
  • Modify the build-docs job of build.yaml to:
    • Use actions/setup-node@v6 to restore the LTS version of node
    • Install NPM dependencies using npm install
    • Add --filter node_modules/.bin/mermaid-filter.cmd to all pandoc invocations

Alternatives Considered

No response

Usage Examples

Benefits

Support for better diagrams in documents.

Priority

Low - Nice to have

Willingness to Contribute

Yes, I can submit a pull request

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this is not a duplicate
  • I have provided a clear description of the feature
  • I have explained why this feature would be useful</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for mermaid diagrams in documents Add mermaid diagram support to documentation builds Jan 22, 2026
Copilot AI requested a review from Malcolmnixon January 22, 2026 20:33
@Malcolmnixon Malcolmnixon marked this pull request as ready for review January 22, 2026 21:22
@Malcolmnixon Malcolmnixon merged commit cdf11b4 into main Jan 22, 2026
10 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/add-mermaid-diagram-support branch January 22, 2026 21:22
Copilot AI added a commit that referenced this pull request Mar 27, 2026
- Rename all agent files to *.agent.md naming convention with proper
  YAML frontmatter (tools field, user-invocable, kebab-case names)
- Add code-review.agent.md (PR #59)
- Update AGENTS.md: add Code Review Agent, use @agent call syntax
- Update CONTRIBUTING.md: agent glob to *.agent.md, lint script
- Migrate .cspell.json → .cspell.yaml with policy header (PR #63)
- Migrate .markdownlint-cli2.jsonc → .markdownlint-cli2.yaml (PR #64)
- Update .yamllint.yaml with standards header, .venv/ ignore (PR #64)
- Rewrite lint.sh/lint.bat to self-install npm/pip dependencies (PR #61)
- Update package.json with cspell and markdownlint-cli2 (PR #61)
- Add pip-requirements.txt pinning yamllint==1.38.0 (PR #61)
- Update .gitignore to add .venv/ (PR #61)
- Add .gitattributes for LF line endings (PR #71)
- Update build.yaml: replace 3 lint actions with Node.js+Python+lint.sh (PR #61)
- Update release.yaml: remove 'Move buildnotes' step (PR #75)"

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/faf526d1-b8d3-4731-a959-9925242e1f94

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon added a commit that referenced this pull request Mar 27, 2026
… TemplateDotNetTool (#105)

* Initial plan

* feat: update repo-consistency agent with latest simplified version from TemplateDotNetTool

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/8afcbf80-130d-4fbd-b4ed-bbf6829f1265

* feat: apply template improvements from TemplateDotNetTool PRs #58-#75

- Rename all agent files to *.agent.md naming convention with proper
  YAML frontmatter (tools field, user-invocable, kebab-case names)
- Add code-review.agent.md (PR #59)
- Update AGENTS.md: add Code Review Agent, use @agent call syntax
- Update CONTRIBUTING.md: agent glob to *.agent.md, lint script
- Migrate .cspell.json → .cspell.yaml with policy header (PR #63)
- Migrate .markdownlint-cli2.jsonc → .markdownlint-cli2.yaml (PR #64)
- Update .yamllint.yaml with standards header, .venv/ ignore (PR #64)
- Rewrite lint.sh/lint.bat to self-install npm/pip dependencies (PR #61)
- Update package.json with cspell and markdownlint-cli2 (PR #61)
- Add pip-requirements.txt pinning yamllint==1.38.0 (PR #61)
- Update .gitignore to add .venv/ (PR #61)
- Add .gitattributes for LF line endings (PR #71)
- Update build.yaml: replace 3 lint actions with Node.js+Python+lint.sh (PR #61)
- Update release.yaml: remove 'Move buildnotes' step (PR #75)"

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/faf526d1-b8d3-4731-a959-9925242e1f94

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

* feat: add ReviewMark integration (PR #58 from TemplateDotNetTool)

- Add .reviewmark.yaml with SonarMark-specific review sets
- Add demaconsulting.reviewmark 0.2.0 to .config/dotnet-tools.json
- Update .versionmark.yaml: add reviewmark entry, pre-release regex on all tools
- Update .gitignore: exclude generated review plan/report docs
- Create docs/code_review_plan/ (definition.yaml, title.txt, introduction.md)
- Create docs/code_review_report/ (definition.yaml, title.txt, introduction.md)
- Update build.yaml: add reviewmark to versionmark capture, self-validation,
  review plan/report generation, HTML/PDF generation, and upload"

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/34424117-a082-453c-accd-84cd9b08f24e

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

* Apply TemplateDotNetTool PRs #39, #47, #50 consistency updates

- PR #39: Add CLA sentence to README.md License section
- PR #47: Update Code Analysis ItemGroup comments in main csproj to use
  inline child-element comment style; add inline comments for
  coverlet.collector and Code Analysis packages in test csproj
- PR #50: Fix Assert.HasCount parameter order in CONTRIBUTING.md
  (expectedCount before collection); fix UTF-8 encoding description
  in CONTRIBUTING.md and AGENTS.md (remove BOM reference)

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

* feat: apply TemplateDotNetTool PR #65 folder restructure and remaining template PRs

- PR #65: Rename docs folders to standard names:
  - docs/buildnotes/ -> docs/build_notes/
  - docs/quality/ -> docs/code_quality/
  - docs/requirements/ + docs/justifications/ -> docs/requirements_doc/
  - docs/tracematrix/ -> docs/requirements_report/
- PR #65: Update build.yaml paths for all renamed folders
- PR #65: Update .gitignore with new folder paths
- PR #65: Update .cspell.yaml words (build_notes, code_quality, etc.)
- PR #65: Update .reviewmark.yaml (add bin exclusion, update comment)
- PR #24: Update CONTRIBUTING.md and PR template with unit test/self-validation terminology
- PR #27/#65: Update PR template linting section to use lint.sh

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/6186d6a3-a30a-42f2-a075-5c1d62feb92c

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

* feat: update release.yaml to reference build_notes.md (PR #65)

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/6186d6a3-a30a-42f2-a075-5c1d62feb92c

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

* Update .github/workflows/build.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: add shell: bash to all Pandoc HTML generation steps in build.yaml

All Pandoc steps using $(date +'%Y-%m-%d') bash command substitution now
explicitly specify shell: bash so they work correctly on windows-latest runners.

Agent-Logs-Url: https://github.com/demaconsulting/SonarMark/sessions/58acfc2e-a04e-43d2-a61e-038edb985428

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolm Nixon <Malcolm.nixon@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

[Feature]: Allow mermaid diagrams in documents

2 participants