Add PDF compilation pipeline for Developer Guide#58
Conversation
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon
left a comment
There was a problem hiding this comment.
Consider making a guide_template.css file and moving some of the style information to that file.
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Done. Created |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Malcolmnixon
left a comment
There was a problem hiding this comment.
rename build-docs.yaml to build_docs.yaml to match the repository naming convention.
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Fixed. Renamed to |
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
.github/workflows/build_docs.yaml
Outdated
| run: dotnet tool restore | ||
|
|
||
| - name: Generate HTML with Pandoc | ||
| run: pandoc docs/guide/title.txt --defaults docs/guide/definition.yaml --output docs/guide/guide.html |
There was a problem hiding this comment.
As pandoc isn't being installed globally, it needs to be executed using dotnet. Also for clarity let's use the yaml multi-line format with one option per line - as follows:
- name: Generate HTML with Pandoc
run: >
pandoc
docs/guide/title.txt
--defaults docs/guide/definition.yaml
--output docs/guide/guide.htmlThere was a problem hiding this comment.
Fixed. Changed to dotnet pandoc and reformatted using multi-line YAML with one option per line. (ff9737d)
.github/workflows/build_docs.yaml
Outdated
| run: pandoc docs/guide/title.txt --defaults docs/guide/definition.yaml --output docs/guide/guide.html | ||
|
|
||
| - name: Generate PDF with Weasyprint | ||
| run: weasyprint docs/guide/guide.html docs/guide/guide.pdf |
There was a problem hiding this comment.
Again weasyprint isn't being installed globally, so it needs to be executed using dotnet and should use multi-line format:
- name: Generate PDF with Weasyprint
run: >
dotnet weasyprint
docs/guide/guide.html
docs/guide/guide.pdfThere was a problem hiding this comment.
Fixed. Changed to dotnet weasyprint and reformatted using multi-line YAML with one argument per line. (ff9737d)
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Plan: Compile Developer Guide to PDF
guide.mdtodocs/guide/guide.mdfor explicit path resolutionSummary
Successfully implemented PDF compilation for the Developer Guide with all feedback addressed:
Files Created:
Files Modified:
Workflow Changes:
Dependency Management:
All dependencies are now managed through configuration files with pinned versions:
.config/dotnet-tools.jsonand executed withdotnetprefixnpm installanddotnet tool restorefor reproducible buildsQuality Checks:
✅ Build: Successful (0 warnings)
✅ Tests: All 27 tests passing
✅ YAML Linting: Compliant
✅ JSON Validation: All JSON files valid
✅ Naming Convention: Consistent with repository standards
✅ Dependency Management: Versions pinned in config files
✅ Tool Execution: Using dotnet prefix for local tools
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.