chore: scaffold ShellUI.Docs : ShellDocs-driven docs site skeleton - #28
Open
Shewart wants to merge 4 commits into
Open
chore: scaffold ShellUI.Docs : ShellDocs-driven docs site skeleton#28Shewart wants to merge 4 commits into
Shewart wants to merge 4 commits into
Conversation
Introduced a new CSS file for ShellUI.Docs to apply site-level styling overrides, ensuring consistent typography and branding. Added light and dark variants of the ShellUI logo for improved visual integration across the documentation site. This update enhances the overall aesthetic and user experience.
Introduced several key components for the ShellUI.Docs project, including the main application layout, routing, and documentation pages. This update establishes the structure for the documentation site, featuring a home page, a dynamic docs page with navigation, and a routing mechanism to handle different documentation paths. Additionally, a new imports file centralizes common using directives for better organization and maintainability.
Created new documentation pages for "Installation" and "Introduction" to guide users in setting up ShellUI in Blazor projects. The installation page outlines the setup process, while the introduction page provides an overview of ShellUI's features and benefits. Additionally, updated the meta.json file to include these new pages in the documentation structure.
Created the ShellUI.Docs project, including the main Program.cs file for the documentation site, a project file for configuration, and launch settings for local development. Updated the solution file to include the new documentation project and its dependencies, establishing a foundation for future documentation enhancements.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bootstraps the ShellUI docs site on top of ShellDocs — infrastructure only, no content migration. First branch in the shellui-docs Phase 3 dogfood series.
What ships
New project at
src/ShellUI.Docs/— a Blazor Web App wired to consume ShellDocs primitives + auto-register the whole ShellUI component surface. Added to bothShellUI.slnxandshellui.sln;dotnet sln addalso brought in the transitive shelldocs project references so the IDE shows the whole two-repo dogfood tree in one solution.Project structure
Registration — one line for the whole ShellUI surface
Two ShellDocs APIs exercised end-to-end for the first time on a real consumer:
RegisterComponentsFromAssembly<TMarker>(filter)from shelldocs'feat/consumer-registration-dx— one line registers ShellUI's ~60 publicComponentBasesubclasses under their type names, so any of them is inline-renderable in markdown.AddPackage(id, title, description, rootUrl, iconPath)from shelldocs'fix/consumer-package-selector— sidebar dropdown now reflects ShellUI's four-package family (ShellUI, ShellUI.Components, ShellUI.CLI, ShellUI.Templates) instead of the hardcoded ShellDocs family that shipped before.Cross-repo dependency chain
ShellDocs isn't on NuGet yet, so the csproj project-references the sibling shelldocs repo:
Swap to
<PackageReference Include="ShellDocs.Components" Version="0.2.0-alpha" />etc. the moment shelldocs cuts its NuGet release — one-commit change, whole tree flips.CSS cascade — deliberate layering
App.razororders stylesheets so ShellUI's brand tokens win over ShellDocs' defaults:The
site.cssstep re-asserts--font-sans: 'Inter var', 'Inter', …after ShellUI's theme file overrode it toGeist, sans-serif(ShellUI declares Geist but never ships or imports the webfont, so without this override the whole site falls through to system-ui). ShellDocs'tokens.cssalready@imports Inter from rsms.me at step 1, so with the re-assertion at step 5 the Inter webfont actually renders.Dogfood fixes surfaced (all resolved in shelldocs before this branch merged)
ShellDocs / ShellDocs.Markdown / ShellDocs.Core / ShellDocs.CLI / ShellDocs.Componentsregardless of consumer. Logged in shelldocs'docs/SHELLUI_DOGFOOD_FIXES.md, fixed in shelldocs'fix/consumer-package-selector(newAddPackage(...)API + selector hidden when < 2 packages configured). This branch'sProgram.csuses the new API from day one.Verified
Not in scope (belongs on the content branch)
docs/shellui-docs-fuma/<ShellIcon>refs — waiting on the ShellIcons package; today's hand-embedded SVGs stay as-isNext branch
content/intro-and-3-proof-components:introduction.mdx→introduction.mdinstallation.mdx→installation.mdquickstart.mdx→quickstart.mddocs/SHELLUI_DOGFOOD_FIXES.mdin the shelldocs repo as it surfacesTest plan
dotnet build src/ShellUI.Docs— 0 warnings, 0 errorsShellUI.slnxandshellui.sln— IDE picks it updotnet run --project src/ShellUI.Docs→ http://localhost:5299/renders scaffold home via HomeLayout (top-nav visible, no sidebar)/docs/introductionrenders via DocsLayout with sidebar/docs/installationrenders, sidebar navigation active state correct<Callout Variant="info" Title="Scaffold in progress">in introduction.md renders as a live Callout, not raw markupbodycomputedfont-family— should start with 'Inter var')