Skip to content

Releases: shellui-dev/shelldocs

v0.1.19-alpha

Choose a tag to compare

@github-actions github-actions released this 21 Oct 14:15
bfe98cf

The table of contents works on interactive sites again, plus fixes for border utilities, llms.txt groups and the page menu's chat links.

Fixed

  • The table of contents on interactive sites. With <Routes @rendermode="InteractiveServer" />, the "On this page" highlight stopped moving once the circuit started, and clicking an entry went to the home page. The scroll-spy now re-attaches when Blazor replaces the list or the headings (or changes data-toc-ids on navigation), TOC links carry the page's path (docs/setup#install; a bare #install resolves against <base href>), and same-page links, including [x](#id) in content, scroll in place and keep the path in the address bar. Sites that added their own toc.js workaround can drop it.
  • The last short sections of a page never became active in the TOC. At the bottom of the page the last heading on screen is highlighted.
  • border-* utilities lost to the base border colour. The *, *::before, *::after rule in shelldocs-theme.css was outside any cascade layer, so it beat Tailwind's border-destructive and friends in previews and home pages. It's in @layer base now.
  • llms.txt listed a group twice when top-level pages sat on both sides of a folder ("## Pages" before and after it). Each group now appears once, in first-seen order.
  • The page menu's chat links used the visitor's origin instead of SiteUrl, so a static export previewed on localhost asked about a localhost URL. With SiteUrl set they name the published page.

What's Changed

  • fix: table of contents on interactive sites, border layer, llms.txt groups by @Shewart in #49
  • chore: release 0.1.19-alpha by @Shewart in #50

Full Changelog: v0.1.18-alpha...v0.1.19-alpha

v0.1.18-alpha

Choose a tag to compare

@github-actions github-actions released this 20 Oct 21:09
393e549

Colour presets, shelldocs preview for checking a static export locally, package pages on NuGet that render properly, plus fixes for sub-path links, folder titles and entities in component attributes.

Added

  • shelldocs preview (#43). Serves the output of shelldocs build (publish/, or --output) on http://localhost:5050 (--port) the way static hosts do: folders serve their index.html, unknown URLs get 404.html with a 404, and an export built with --base-href is served under that path (read from the export, or pass --base-href). Responses aren't cached, so a rebuild shows on reload. The old preview <name> stub is gone. The CLI now needs the ASP.NET Core runtime, which any machine building a Blazor site already has.
  • Colour presets (#44). o.Theme = ShellDocsTheme.Harbor (or shelldocs init --theme harbor) swaps the neutral palette for a tinted one: Harbor (blue), Lagoon (teal), Forest (green), Savanna (amber on sand), Ember (red-orange) or Jacaranda (purple). Each covers light and dark mode, tints backgrounds, borders and muted text, and colours the active sidebar item, focus rings, links and other accents, with text at 4.5:1 or better. The default, Graphite, is the existing palette. Presets are CSS in tokens.css keyed on a data-shelldocs-theme attribute the layouts render, so they work in static exports and your own token overrides still win.
  • CONTRIBUTING.md (#45): setup, trying a change in the example site and a static export, the static-host rule, and how commits and changelog entries are laid out.

Fixed

  • NuGet package pages showed raw HTML. 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, and scripts/pack-dry-run fails on HTML in a package README. The PowerShell version of that script also runs on Windows PowerShell 5.1 again.
  • A folder's meta.json title was ignored (#41). The folder's section in the sidebar, breadcrumb and search took its title from the folder name (maui → "Maui"). It now uses the folder's own meta.json title when set, and falls back to the name otherwise. Sites whose folders set a title will see it, e.g. a top-level docs/meta.json titled "Documentation" now reads that way instead of "Docs".
  • HTML entities in component attributes showed literally (#42). <Callout Title="Tom &amp; Jerry" /> in Markdown or a razor:preview fence now passes "Tom & Jerry", as Razor does. @ expressions, directive attributes (@onclick, @bind-…) and code spans inside a value stay as written.
  • Links broke on sites served from a sub-path (#40). Sidebar, breadcrumb, header, prev/next, content and favicon links are root-relative (/docs/introduction), which ignores <base href>, so an export built with --base-href /my-repo/ linked outside the site. shelldocs build --base-href now also puts the base in front of root-relative href, src and data-src values in every exported page.

Changed

  • ShellDocsTheme.Shadcn, Fuma and Nextra are obsolete aliases of Graphite. They never changed the palette; Fuma and Nextra promised a look that a palette can't give. shelldocs init --theme takes the new preset names.

Removed

  • SearchState, SidebarCollapseState and MobileNavState (#46). Search, the sidebar collapse and the mobile drawer run in shelldocs.js, so nothing used these services; AddShellDocs no longer registers them. Code that injects one needs its own copy.

What's Changed

  • fix(cli): put --base-href in front of root-relative links by @Shewart in #47
  • feat: colour presets, shelldocs preview, NuGet READMEs and the issue backlog (0.1.18-alpha) by @Shewart in #48

Full Changelog: v0.1.17-alpha...v0.1.18-alpha

v0.1.17-alpha

Choose a tag to compare

@github-actions github-actions released this 14 Oct 08:36
53c675b

llms.txt for AI agents, and five fixes found while writing the ShellDocs docs site.

Added

  • llms.txt for AI agents. o.EnableLlmsTxt(l => …) serves /llms.txt (every page with its description, grouped by sidebar section), /llms-full.txt (every page as Markdown) and each page as Markdown at its URL + .md, the same under every version root. Options: Summary, RulesFile (Markdown shown at the top, such as rules for agents), InstallCommandPattern (a regex; the first match in a page's code blocks is listed after it) and AgentFiles. Files are text/plain; links are absolute from SiteUrl or the request.
  • Agent instruction files. AGENTS.md, CLAUDE.md, copilot-instructions.md and a Cursor rule ({site}.mdc) under /agents/ and each version root, served as downloads. Each is a ## {SiteName} section, so it can be appended to an instructions file a project already has.
  • Page actions menu. A ⋯ menu by the page title: Copy page (the page's Markdown), View as Markdown, Open in Claude and Open in ChatGPT (prefilled with "Read {page}.md and help me with it."). It works in static exports. Turn it off with PageActions = false.
  • Markdown for every ShellDocs tag. Demos become their source in a fence, callouts blockquotes (code fences inside kept), tabs and code groups a bold label per tab, cards a list, steps numbered, file trees a text block, type tables a table, other registered components their text; links to docs pages become absolute .md links. Tags inside code fences are left alone.
  • shelldocs build exports them. llms.txt, llms-full.txt, every page's .md and the agent files are written into the output; links use --site-url, then SiteUrl, else they're root-relative under --base-href.
  • shelldocs init turns it on in the generated Program.cs.

Changed

  • Links to .txt and .md files load the file. Blazor's router and enhanced navigation showed the docs' "Page not found" for them; shelldocs.js now lets the browser follow them.

Fixed

  • The missing-tab note lost its spaces. It read "Not available onRazoryet": the note is a flex container, so the text around the label became separate flex items and the spaces were dropped. The sentence is now one inline box.
  • A razor:preview fence holding only HTML rendered as a code block. It now renders live in the frame, like a fence with components. A fence with no tags at all is still a code block, with a warning.
  • 404.html named the build's probe URL. Every unknown URL showed "The page /docs/__shelldocs-not-found__ doesn't exist". shelldocs build now blanks and hides that line, and shelldocs.js fills in the visitor's path (relative to the site's base).
  • LogoSvg logos weren't sized. The scoped rule meant to fit the SVG to LogoHeight never matched, so an SVG without its own size could collapse to nothing. Sites that added their own .brand-logo-svg > svg rule can drop it.
  • Search on home pages. HomeLayout had no <SearchDialog />, so Cmd/Ctrl+K and [data-search-open] did nothing there unless the site added one. It's included now; a site that added its own can remove it.

What's Changed

  • feat: llms.txt for AI agents, plus five docs-site fixes (0.1.17-alpha) by @Shewart in #39

Full Changelog: v0.1.16-alpha...v0.1.17-alpha

v0.1.16-alpha

Choose a tag to compare

@github-actions github-actions released this 14 Oct 05:04
48b41d2

Fixes <IframePreview> showing the previous page's preview after navigating within a site.

Fixed

  • <IframePreview> after in-site navigation. When the next page has an iframe preview in the same place, Blazor reuses the element and only changes its data-src. shelldocs.js kept treating it as loaded, so the frame went on showing the previous page's preview and the Run button stayed hidden. It now watches data-src and data-lazy, unloads a host whose values change, and sets it up again: the Run button comes back for Lazy="click", and visible / none previews load the new page. Sites that worked around it with their own MutationObserver can drop it.

What's Changed

  • fix: IframePreview keeps the previous page's preview after navigation (0.1.16-alpha) by @Shewart in #38

Full Changelog: v0.1.15-alpha...v0.1.16-alpha

v0.1.15-alpha

Choose a tag to compare

@github-actions github-actions released this 11 Oct 11:01
04e1c04

Search now works in static exports, the last piece of chrome that needed a running Blazor app.

Changed

  • Search runs in the browser. The app serves its search index at /_shelldocs/search.json (no Program.cs change), shelldocs build copies it into the export, and shelldocs.js fetches it on first use and ranks it with the same scoring as before: title, section, description and body, with body snippets, scoped to the current version. Search is the same on GitHub Pages or any static host as on a running app, including under --base-href. Results are links, so they open in a new tab like any other.
  • Search buttons are [data-search-open] buttons handled by shelldocs.js; add the attribute to any element to open search from it. shelldocsSearch.open() still works from script, and there's a matching shelldocsSearch.close().
  • SearchState is no longer used and is kept only so existing code compiles. shelldocsSearch.init is gone.
  • shelldocs build warns when the site's ShellDocs.Components is too old to serve an index, since search would not work in that export.

What's Changed

  • feat: search works in static exports (0.1.15-alpha) by @Shewart in #37

Full Changelog: v0.1.14-alpha...v0.1.15-alpha

v0.1.14-alpha

Choose a tag to compare

@github-actions github-actions released this 10 Oct 11:02

Static sites get the last piece of interactive chrome apart from search, the desktop sidebar collapse, and unknown pages finally answer 404, with a matching 404.html in static exports.

Added

  • <DocsNotFound />: the docs page's not-found view, now used by the init template. It answers HTTP 404, so search engines skip unknown pages. The status is set as the headers go out, because .NET 10 sends an empty body for a page that is already 404 unless the app has a NotFoundPage or status-code re-execution. Path, HomeHref and HomeLabel override the message and the link back (which defaults to where /docs leads). Existing sites replace their else branch in DocsPage.razor with <DocsNotFound />.
  • shelldocs build writes 404.html from the site's own not-found view, for static hosts that serve it for unknown URLs (GitHub Pages, Netlify, Cloudflare Pages). --spa-fallback still replaces it with index.html.

Changed

  • Desktop sidebar collapse works without a Blazor runtime. The collapse and expand buttons are [data-sidebar-collapse-toggle] buttons handled by shelldocs.js, which flips [data-sidebar-collapsed] on the page shell and remembers the choice in localStorage across pages. The page shell no longer gets a docs-sidebar-collapsed class; style [data-sidebar-collapsed="true"] instead. SidebarCollapseState is still registered but no longer used.
  • shelldocs build fails on a page that renders as not found, whether it answered 404 or rendered <DocsNotFound> with another status.

What's Changed

  • fix: 404 for unknown pages, 404.html in static builds, static sidebar collapse (0.1.14-alpha) by @Shewart in #36

Full Changelog: v0.1.13-alpha...v0.1.14-alpha

v0.1.13-alpha

Choose a tag to compare

@github-actions github-actions released this 10 Oct 00:38
cb539a1

What's Changed

  • chore: ShellDocs brand mark as package icon, favicon and README logo by @Shewart in #34
  • feat: code variants on previews, page switch, IframePreview (0.1.13-alpha) by @Shewart in #35

Full Changelog: v0.1.12-alpha...v0.1.13-alpha

v0.1.12-alpha

Choose a tag to compare

@github-actions github-actions released this 04 Oct 19:26
b0937db

What's Changed

  • fix: CommonMark fences and quote-aware component tags (0.1.12-alpha) by @Shewart in #33

Full Changelog: v0.1.11-alpha...v0.1.12-alpha

v0.1.11-alpha

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:51
edbbea8

What's Changed

  • fix: sidebar index pages, phone-width previews and tables by @Shewart in #32

Full Changelog: v0.1.10-alpha...v0.1.11-alpha

v0.1.10-alpha

Choose a tag to compare

@github-actions github-actions released this 02 Oct 20:47
3d3ebe3

What's Changed

  • fix: preview fidelity : Razor child content, prose isolation, stretch layout, theme sync by @Shewart in #29
  • feat: generic components, redirects and frontmatter page titles by @Shewart in #30
  • chore: bump to 0.1.10-alpha by @Shewart in #31

Full Changelog: v0.1.9-alpha...v0.1.10-alpha