This repository uses the same Lunet-based documentation approach as the TreeDataGrid project, adapted for PanAndZoom and HeadlessTestingFramework.
site/config.scriban: Lunet config, project metadata, and .NET API generationsite/menu.yml: top-level navigationsite/readme.md: documentation home pagesite/articles/**: narrative documentationsite/articles/**/menu.yml: section sidebarssite/images/**: shared docs assetssite/.lunet/css/template-main.css: precompiled template stylesheetsite/.lunet/css/site-overrides.css: project-specific visual customizationsThe API site is generated from:
../src/PanAndZoom/PanAndZoom.csproj../src/HeadlessTestingFramework/HeadlessTestingFramework.csprojThe Lunet api.dotnet block builds the net8.0 target and publishes generated API pages under /api.
As with TreeDataGrid, this site checks in a precompiled template stylesheet because Lunet 1.0.10 on macOS 15 can hit a Dart Sass platform detection issue at build time.
The checked-in assets that support that workflow are:
site/.lunet/includes/_builtins/bundle.sbn-htmlsite/.lunet/css/template-main.csssite/.lunet/layouts/_default.api-dotnet*.sbn-mdFrom repository root:
./build-docs.sh
./check-docs.sh
./serve-docs.sh
PowerShell:
./build-docs.ps1
./serve-docs.ps1
All commands run Lunet in site/ and write output to site/.lunet/build/www.
.github/workflows/docs.yml builds the site and publishes site/.lunet/build/www to GitHub Pages on pushes to main and master.