Skip to content

Commit 8aa5a23

Browse files
committed
chore: add CHANGELOG.md for version 0.1.0-alpha, detailing features, packages, and known limitations
1 parent 5c8d21a commit 8aa5a23

1 file changed

Lines changed: 99 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Changelog
2+
3+
All notable changes to ShellDocs land here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versioning is [SemVer](https://semver.org/spec/v2.0.0.html) with prerelease suffixes (`-alpha`, `-beta`, `-rc`) — the alpha window explicitly reserves the right to break APIs on minor bumps.
4+
5+
## [Unreleased]
6+
7+
## [0.1.0-alpha] — 2026-07-25
8+
9+
First public release. The whole Phase 1 target is shipped, plus most of Phase 2's primitives + consumer DX polish. See [ROADMAP.md](docs/ROADMAP.md).
10+
11+
### Packages
12+
13+
Published to NuGet:
14+
15+
- `ShellDocs.CLI` — global tool: `dotnet tool install -g ShellDocs.CLI --prerelease`. Commands: `init`, `add`, `dev`, `build`, `preview`
16+
- `ShellDocs.Components` — RCL with `<DocsLayout>`, `<DocsHeader>`, `<DocsSidebar>`, `<TableOfContents>`, `<PrevNextNav>`, `<DocsBreadcrumb>`, `<SearchDialog>`, content primitives, API-reference primitives
17+
- `ShellDocs.Core` — navigation graph, search index model, routing helpers, markdown plain-text extractor
18+
- `ShellDocs.Markdown` — Markdig pipeline with frontmatter, `razor:preview` fenced blocks, inline Razor component tags
19+
- `ShellDocs.Templates` — starter markdown + Program.cs snippets for `shelldocs init` scaffolding
20+
- `ShellDocs.Tokens` — RCL with `tokens.css` — shadcn-compatible palette + spacing scale, single source of truth for `--background`, `--foreground`, `--primary`, `--radius`, dark mode
21+
22+
### Added
23+
24+
**Markdown pipeline (`ShellDocs.Markdown`)**
25+
- YAML frontmatter parsing via YamlDotNet
26+
- ` ```razor:preview ` fenced blocks — live-rendered previews with source-view toggle
27+
- Inline Razor component tags mid-markdown (`<Callout />`, `<Card ... />`)
28+
- Component type registry (`RegisterComponent<T>()`) with per-type tag aliases (`RegisterComponent<Button>("Btn")`)
29+
- Bulk `RegisterComponentsFromAssembly<TMarker>()` scan + `[ShellDocsIgnore]` opt-out attribute
30+
- Automatic string→typed coercion for `bool`, `int`, `enum` attribute values
31+
32+
**Content primitives (`ShellDocs.Components`)**
33+
- `<Callout Variant="info|warning|danger|tip">` — coloured info box with icon + title + body
34+
- `<Card>` / `<CardGrid Columns="1|2|3">` / `<LinkCard>` — responsive card family
35+
- `<Steps>` / `<Step>` — CSS-counter numbered list with badge-on-rail spine
36+
- `<FileTree>` / `<FileTreeItem>` — recursive project-layout diagram
37+
- `<CodeGroup SyncKey>` / `<CodeTab>` — tabbed code samples with cross-page sync
38+
39+
**API-reference primitives (`ShellDocs.Components`)**
40+
- `<TypeTable>` / `<TypeRow Name Type Default Description Required>` — props/API reference table
41+
- `<ComponentPreview Component="..." ...props>` — declarative-prop single-component demos
42+
43+
**Chrome (`ShellDocs.Components`)**
44+
- `<DocsLayout>` with two variants (`TopNav`, `Sidebar` floating card)
45+
- `<DocsHeader>` with primary nav mega-menu, GitHub link, theme toggle
46+
- `<DocsSidebar>` with grouped nav, collapsible sections (animated grid-rows), auto-open on active path
47+
- `<TableOfContents>` — right-rail, h2/h3 auto-extraction, scroll-spy indicator with smooth slide
48+
- `<PrevNextNav>` — auto-derived from nav-graph adjacency
49+
- `<DocsBreadcrumb>` — auto-generated from nav path; sections render as text, current page as `aria-current`, only leaf pages become links
50+
- `<PackageSelector>` — consumer-configurable multi-package selector; hides when 0 or 1 packages declared
51+
- `<BrandLogo>` — consumer-configurable logo with three modes: `LogoSvg` (inline SVG, tints via `currentColor`), `LogoLight`/`LogoDark` (theme-paired image URLs), or dot placeholder fallback
52+
- `<SearchDialog>` — Cmd+K modal, client-side substring scoring against title / description / section / body, snippet extraction for body-only matches
53+
- `<DocsFooter>` / `<DocsMobileBar>` / `<ThemeToggle>`
54+
55+
**Auto-chrome via `DocsPageState`**
56+
- Consumer's docs page collapses to just `<MarkdownContent Document="_document" />` — TOC, PrevNext, Breadcrumb all auto-render from a shared scoped service
57+
- Recomputes on `NavigationManager.LocationChanged`
58+
59+
**Search (`ShellDocs.Core`)**
60+
- `SearchIndex.FromGraph()` — page + heading entries with URL, title, description, section
61+
- Page entries carry extracted plain-text `Body` (frontmatter / fences / HTML / Razor tags / images / links / inline code / emphasis / heading `#` all stripped)
62+
- `MarkdownPlainText.Extract()` — reusable helper for body extraction, 8KB default cap
63+
64+
**Code highlighting (`ShellDocs.Components`)**
65+
- Shiki via WASM (bundle configurable)
66+
- Dual-theme via `--shiki-light` / `--shiki-dark` CSS custom properties
67+
68+
**Design tokens (`ShellDocs.Tokens`)**
69+
- Standalone RCL with `tokens.css` (base + full variants)
70+
- Shadcn-compatible variable names for interop with ShellUI and other consumers
71+
72+
**CLI (`ShellDocs.CLI`)**
73+
- `shelldocs init` — two modes: create (default, scaffolds a fresh Blazor Web App) and attach (`--attach`, augments existing project via `SHELLDOCS_SETUP.md`)
74+
- `shelldocs add <component|guide|page> <name>` — scaffolds starter `.md` from template into `content/`
75+
- `shelldocs dev` — dotnet watch with .md hot-reload
76+
- `shelldocs build` — publishes static site, handles base-href rewrite + SPA 404 fallback
77+
78+
**Animation polish (Phase 2)**
79+
- Native view-transitions API for cross-fade on route change (Chromium — silent no-op elsewhere)
80+
- Sidebar section collapse animates via `grid-template-rows: 0fr → 1fr`
81+
- Copy-icon success bounce
82+
- Global `@media (prefers-reduced-motion: reduce)` guard — all animations collapse to instant
83+
84+
**Consumer configuration (`ShellDocsOptions`)**
85+
- `RegisterComponentsFromAssembly<TMarker>(filter?)` — bulk-register a whole component library in one line
86+
- `AddPackage(id, title, description, rootUrl, iconPath?)` — declares consumer's package family for the sidebar selector
87+
- `SetLogo(url)` / `SetLogo(light, dark, alt?)` / `LogoSvg` — brand logo
88+
- `AddNavLink` / `AddNavMenu` — top-nav wiring
89+
- `LayoutVariant` — TopNav or Sidebar
90+
91+
### Known limitations
92+
93+
- Body-text search uses substring scoring, not an inverted index — fine for docs-sized corpora (~100 pages), will need rebuilding at 1000+
94+
- Search snippets don't yet highlight the matched substring
95+
- `<TypeTable>` is hand-authored today; XML-doc auto-generation ships in `ShellDocs.Xml` (Phase 4)
96+
- No `<DocsBreadcrumb>` opt-out — currently hides when the trail has ≤ 1 node, otherwise always renders
97+
98+
[Unreleased]: https://github.com/shellui-dev/shelldocs/compare/v0.1.0-alpha...HEAD
99+
[0.1.0-alpha]: https://github.com/shellui-dev/shelldocs/releases/tag/v0.1.0-alpha

0 commit comments

Comments
 (0)