Skip to content

feat: colour presets, shelldocs preview, NuGet READMEs and the issue backlog (0.1.18-alpha) - #48

Merged
Shewart merged 8 commits into
mainfrom
fix/nuget-readme-and-issues
Oct 20, 2026
Merged

Shewart merged 8 commits into
mainfrom
fix/nuget-readme-and-issues

Conversation

@Shewart

@Shewart Shewart commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Colour presets, shelldocs preview, NuGet package pages that render, and the open issue backlog. Bumps to 0.1.18-alpha (with #40 from #47).

Changes

  • NuGet package pages. All six packages shipped the GitHub README, whose centred header and badges are HTML that nuget.org prints as text. Each package now has its own Markdown README, laid out like ShellUI's. scripts/pack-dry-run fails on HTML in a package README, and the PowerShell version runs on Windows PowerShell 5.1 again.
  • Colour presets (ShellDocsOptions.Theme and shelldocs init --theme do nothing #44). o.Theme = ShellDocsTheme.Harbor: Graphite (the existing palette, still the default), Harbor (blue), Lagoon (teal), Forest (green), Savanna (amber on sand), Ember (red-orange) and Jacaranda (purple), each in light and dark, with text at 4.5:1 or better. The layouts render data-shelldocs-theme, and tokens.css sets every colour token from it at the specificity of :root, so site overrides still win and static exports work. The active sidebar item, its marker and link underlines follow the brand tokens. shelldocs init --theme takes the preset names. Shadcn, Fuma and Nextra stay as obsolete aliases of Graphite.
  • shelldocs preview (shelldocs preview is listed but not implemented #43). Serves a shelldocs build export on http://localhost:5050 the way static hosts do: folders serve their index.html, unknown URLs get 404.html with a 404, and a --base-href export is served under its path, read from the export by default. The CLI now references the ASP.NET Core shared framework.
  • Folder titles (A folder's meta.json title is ignored in the sidebar #41). A folder's section uses the title from its own meta.json.
  • Entities in attributes (Component attribute values don't decode HTML entities #42). Literal component attribute values are HTML-decoded, as Razor does; @ expressions, directive attributes and code spans stay as written.
  • Unused services (Remove unused SearchState and SidebarCollapseState #46). SearchState, SidebarCollapseState and MobileNavState are removed.
  • CONTRIBUTING.md (Add CONTRIBUTING.md #45), linked from the README.

Verified

  • Release build with 0 warnings and all tests passing at every commit; 390 tests at the tip (20 new). Both pack dry-run scripts pass.
  • Presets in the example site, every preset in light and dark, checked by eye; contrast of each text pair computed for all of them. Graphite looks as before.
  • shelldocs preview from the packed tool: the example exported with --base-href /sub/ and served without flags: / redirects to /sub/, pages load, sidebar navigation stays under /sub/, unknown URLs show the not-found page with their own path.
  • Folder titles compared against main on the example site: the only difference is "Docs" → "Documentation", the title its docs/meta.json sets.

SearchState, SidebarCollapseState and MobileNavState have had no users since search, the sidebar collapse and the mobile drawer moved to shelldocs.js.

Closes #46
Serves the output of shelldocs build the way static hosts do: folders serve their index.html, unknown URLs get 404.html with a 404, and a --base-href export is served under its path (read from the export by default). Replaces the unimplemented 'preview <name>' stub.

Fixes #43
Graphite (the existing palette, still the default), Harbor, Lagoon, Forest, Savanna, Ember and Jacaranda, each in light and dark with text at 4.5:1 or better. The layouts render data-shelldocs-theme and tokens.css sets every colour token from it, at the specificity of :root so site overrides still win. The active sidebar item, its marker and link underlines follow the brand tokens. shelldocs init --theme takes the preset names. Shadcn, Fuma and Nextra stay as obsolete aliases of Graphite.

Fixes #44
All six packages shipped the GitHub README, whose centred <picture> header and badges are HTML that nuget.org prints as text. Each project now packs its own README.md, laid out like ShellUI's. pack-dry-run fails on HTML in a package README, and the PowerShell version runs on Windows PowerShell 5.1 again (ASCII dashes, ZipFile instead of Expand-Archive).
@Shewart
Shewart marked this pull request as ready for review October 20, 2026 20:46
@Shewart
Shewart merged commit 393e549 into main Oct 20, 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.

1 participant