Moka.Docs.Core
| Name | Kind | Description |
|---|---|---|
| MokaDefaults | Class | Central defaults for MokaDocs. The library author sets these to control what ships as the default experience. Users override via mokadocs.yaml, and environment variables override everything. Priority: Environment Variable > User YAML Config > MokaDefaults |
Moka.Docs.Core.Api
| Name | Kind | Description |
|---|---|---|
| ApiAccessibility | Enum | Access modifier for a type or member. |
| ApiAttribute | Record | An attribute applied to a type or member. |
| ApiMember | Record | A member of a type (method, property, field, event, constructor, operator, indexer). |
| ApiMemberKind | Enum | The kind of a member. |
| ApiNamespace | Record | A namespace containing types. |
| ApiParameter | Record | A parameter on a method, constructor, or indexer. |
| ApiReference | Record | The complete API reference model for all analyzed projects/assemblies. |
| ApiType | Record | A type (class, struct, record, interface, enum, delegate). |
| ApiTypeKind | Enum | The kind of a type. |
| ApiTypeParameter | Record | A generic type parameter with optional constraints. |
| ExceptionDoc | Record | Documentation for a thrown exception. |
| XmlDocBlock | Record | Parsed XML documentation block for a type or member. |
Moka.Docs.Core.Configuration
| Name | Kind | Description |
|---|---|---|
| BlogFeatureConfig | Record | Blog feature configuration. |
| BuildConfig | Record | Build options. |
| CloudConfig | Record | Cloud feature configuration (all OFF by default). |
| CloudFeatures | Record | Individual cloud feature toggles. |
| ContentConfig | Record | Content source configuration: where to find Markdown and C# projects. |
| EditLinkConfig | Record | Configuration for "Edit this page" links pointing to a source repository. |
| FeaturesConfig | Record | Feature toggles for optional capabilities. |
| NavItem | Record | Navigation sidebar item (can be auto-generated or manual override). |
| PluginDeclaration | Record | Plugin declaration in configuration. |
| ProjectSource | Record | A C# project source for API documentation extraction. |
| SearchFeatureConfig | Record | Search feature configuration. |
| SiteAssetReference | Record | A resolved reference to a site-level brand asset such as SiteMetadata.Logo or SiteMetadata.Favicon. Unlike the raw yaml string, this record knows BOTH where the file lives on disk (for asset copying) AND what URL the theme templates should emit (for browser resolution) — including correct handling of paths that traverse out of the Created by SiteConfigReader from the raw yaml value and the mokadocs.yaml file's directory. Consumers (FileDiscoveryService / BrandAsset- Resolver / OutputPhase / ScribanTemplateEngine) work only with the already- resolved fields, never with the raw yaml string. |
| SiteConfig | Record | Top-level configuration for a MokaDocs site, parsed from mokadocs.yaml. |
| SiteConfigException | Class | Exception thrown when the site configuration is invalid. |
| SiteConfigReader | Class | Reads and parses a mokadocs.yaml configuration file into a SiteConfig. |
| SiteMetadata | Record | Site metadata: title, description, base URL, branding. |
| SocialLink | Record | A social link displayed in the site header. |
| ThemeConfig | Record | Theme configuration. |
| ThemeOptions | Record | Theme-specific options for customizing appearance. |
| VersionDefinition | Record | A version definition for multi-version documentation. |
| VersioningFeatureConfig | Record | Versioning feature configuration. |
Moka.Docs.Core.Content
| Name | Kind | Description |
|---|---|---|
| DocPage | Record | Represents a single documentation page, whether from Markdown or auto-generated from API docs. |
| DocSite | Record | Top-level model representing the entire documentation site being generated. |
| DocVersion | Record | Represents a specific version snapshot of the documentation. |
| FrontMatter | Record | Front matter metadata extracted from YAML at the top of a Markdown file. |
| PageContent | Record | The parsed body content of a page. |
| PageOrigin | Enum | Indicates where a page was sourced from. |
| PageVisibility | Enum | Page visibility control. |
| TableOfContents | Record | Auto-generated table of contents from page headings. |
| TocEntry | Record | A single entry in the table of contents. |
Moka.Docs.Core.Diagnostics
| Name | Kind | Description |
|---|---|---|
| Diagnostic | Record | A single diagnostic message produced during the build. |
| DiagnosticBag | Class | Collects diagnostic messages during the build pipeline. |
| DiagnosticSeverity | Enum | Diagnostic severity levels. |
Moka.Docs.Core.Features
| Name | Kind | Description |
|---|---|---|
| MokaFeatureConfiguration | Class | Provides default feature flag values. The library author changes these in MokaDefaults before shipping to control what's enabled out of the box. Users can override via appsettings.json or environment variables. |
| MokaFeatureFlags | Class | All MokaDocs feature flag names. Used with IFeatureManager and Microsoft.FeatureManagement for runtime feature toggling. |
Moka.Docs.Core.Navigation
| Name | Kind | Description |
|---|---|---|
| NavigationNode | Record | A single node in the navigation tree. |
| NavigationTree | Record | The complete navigation tree for the site sidebar. |
Moka.Docs.Core.Pipeline
| Name | Kind | Description |
|---|---|---|
| BuildContext | Class | Mutable state bag passed through all build pipeline phases. |
| IBuildPhase | Interface | A single phase in the MokaDocs build pipeline. |
| PackageMetadata | Record | NuGet package metadata extracted from a .csproj file. |
Moka.Docs.Core.Search
| Name | Kind | Description |
|---|---|---|
| SearchEntry | Record | A single searchable entry in the index. |
| SearchIndex | Record | A pre-built search index for client-side search functionality. |
Moka.Docs.Core.Theming
| Name | Kind | Description |
|---|---|---|
| LucideIcons | Class | Provides a curated set of Lucide SVG icons for use in the default theme. Icons are 24x24 with stroke-based rendering (stroke="currentColor", stroke-width="2"). |
| ThemeManifest | Record | Metadata and configuration for an active theme. |
Moka.Docs.CSharp
| Name | Kind | Description |
|---|---|---|
| CSharpServiceExtensions | Class | Extension methods for registering C# analysis services. |
Moka.Docs.CSharp.Metadata
| Name | Kind | Description |
|---|---|---|
| AssemblyAnalyzer | Class | Analyzes C# source files via Roslyn to extract a complete API model. Uses CSharpCompilation to build a semantic model without requiring MSBuild. |
Moka.Docs.CSharp.XmlDoc
| Name | Kind | Description |
|---|---|---|
| InheritDocResolver | Class | Resolves references by finding documentation from base types and implemented interfaces. |
| MemberIdInfo | Record | Parsed components of a member ID string. |
| MemberIdKind | Enum | The kind of member referenced by a member ID. |
| MemberIdParser | Class | Utilities for working with .NET XML documentation member ID strings. Member IDs follow the format: prefix:fully.qualified.name(param1,param2) |
| XmlDocFile | Record | Represents a parsed XML documentation file. |
| XmlDocParser | Class | Parses a .NET XML documentation file (the output of ) into a dictionary of member ID → XmlDocBlock. |
Moka.Docs.Engine
| Name | Kind | Description |
|---|---|---|
| BuildPipeline | Class | Orchestrates the execution of all build phases in order. |
| EngineServiceExtensions | Class | Extension methods for registering build engine services. |
Moka.Docs.Engine.Discovery
| Name | Kind | Description |
|---|---|---|
| BrandAssetResolver | Class | Populates BuildContext.BrandAssetFiles with the resolved SiteAssetReference entries for site.logo and site.favicon, so the output phase knows to copy them into the built site even when they live outside the content.docs directory tree. Invoked from |
| DiscoveryResult | Class | The result of a file discovery scan. |
| FileDiscoveryService | Class | Scans the project directory for Markdown files, C# projects, and static assets. |
Moka.Docs.Engine.Phases
| Name | Kind | Description |
|---|---|---|
| ApiPageRenderer | Class | Generates HTML content for API type documentation pages. |
| CSharpAnalysisPhase | Class | Analyzes C# projects to build the ApiReference model. |
| DiscoveryPhase | Class | Scans for Markdown files, C# projects, and static assets. |
| FeatureGatePhase | Class | Filters pages from the build based on feature flags. Pages with a requires front matter field are excluded when the corresponding feature flag is disabled in the feature manager. |
| MarkdownParsePhase | Class | Parses all discovered Markdown files into DocPage objects. |
| NavigationBuildPhase | Class | Generates the sidebar navigation tree from the folder structure, front matter, and config overrides. |
| OutputPhase | Class | Writes all rendered pages and copies assets to the output directory. Handles output directory creation and cleaning. |
| PostProcessPhase | Class | Generates sitemap.xml and robots.txt in the output directory. |
| RenderPhase | Class | Applies theme templates to every page, producing final HTML output. |
| SearchIndexPhase | Class | Builds the client-side search index from all pages. |
| ThemeAssetPhase | Class | Writes theme CSS and JS assets to the output directory. |
Moka.Docs.Parsing
| Name | Kind | Description |
|---|---|---|
| ParsingServiceExtensions | Class | Extension methods for registering parsing services. |
Moka.Docs.Parsing.FrontMatter
| Name | Kind | Description |
|---|---|---|
| FrontMatterExtractor | Class | Extracts and parses YAML front matter from the top of Markdown files. Returns the parsed Content.FrontMatter and the remaining Markdown body. |
| FrontMatterResult | Record | The result of front matter extraction: the parsed metadata and remaining body. |
Moka.Docs.Parsing.Markdown
| Name | Kind | Description |
|---|---|---|
| AdmonitionBlock | Class | Represents an admonition block in the AST. |
| AdmonitionExtension | Class | Markdig extension for admonition blocks (note, tip, warning, danger, info). Uses the ::: type syntax. |
| AdmonitionParser | Class | Parses ::: type [title] blocks. |
| AdmonitionRenderer | Class | Renders admonition blocks as styled HTML. |
| BlazorPreviewExtension | Class | Markdig extension that renders fenced code blocks with the "blazor-preview" (or "razor-preview") language as preview containers with a data-blazor-preview="true" attribute. The container includes both the syntax-highlighted source code and a placeholder for the live-rendered preview. The REPL/Blazor plugin later enhances these with tabbed UI and server-side rendering. |
| CardBlock | Class | Represents a card component block. |
| CardRenderer | Class | Renders a card block as styled HTML. |
| ChangelogBlock | Class | Represents a changelog container block in the Markdown AST. Contains the raw lines between :::changelog and the closing :::. |
| ChangelogExtension | Class | Markdig extension for changelog blocks. Uses the ::: changelog syntax to render a rich timeline UI. |
| ChangelogParser | Class | Parses ::: changelog blocks. Collects all inner lines as raw text so the renderer can parse version entries, types, categories, and items. |
| ChangelogRenderer | Class | Renders a ChangelogBlock as a rich timeline HTML structure. Parses the raw lines to extract version entries, types, categories, and items. |
| CodeGroupBlock | Class | Represents a code-group container with tabbed code blocks. |
| CodeGroupRenderer | Class | Renders a code-group block as a tabbed interface. |
| ComponentExtension | Class | Markdig extension for UI components (card, steps, link-cards, code-group). Uses the ::: type{attrs} syntax. |
| ComponentParser | Class | Parses ::: card{title="..." icon="..." variant="..."}, ::: steps, ::: link-cards, and ::: code-group blocks. |
| LinkCardsBlock | Class | Represents a link-cards grid container. |
| LinkCardsRenderer | Class | Renders a link-cards block as a responsive grid. |
| MarkdownParser | Class | Parses a Markdown file into a MarkdownParseResult containing front matter, rendered HTML, plain text, and a table of contents. |
| MarkdownParseResult | Record | The result of parsing a Markdown file. |
| MarkdownParserOptions | Class | Configuration options for the Markdown parser. |
| MermaidExtension | Class | Markdig extension that renders fenced code blocks with the "mermaid" language as elements for client-side Mermaid.js rendering. |
| ReplExtension | Class | Markdig extension that renders fenced code blocks with the "csharp-repl" (or "csharp repl") language as interactive REPL containers with a data-repl="true" attribute. The REPL plugin later enhances these with Run buttons and output panels. |
| StepsBlock | Class | Represents a steps container block. Each h3 inside becomes a numbered step. |
| StepsRenderer | Class | Renders a steps block as numbered step-by-step HTML. |
| TabbedContentExtension | Class | Markdig extension for tabbed content blocks. Uses the === "Tab Title" syntax. |
| TabGroupBlock | Class | Represents a group of tabs in the AST. |
| TabGroupParser | Class | Parses === "Title" tab blocks. |
| TabGroupRenderer | Class | Renders a tab group as HTML. |
| TabItemBlock | Class | Represents a single tab within a tab group. |
| TabItemRenderer | Class | Renders a tab item as an HTML panel. |
| TocGenerator | Class | Generates a TableOfContents from the heading blocks in a parsed Markdown document. |
Moka.Docs.Plugins
| Name | Kind | Description |
|---|---|---|
| IMokaPlugin | Interface | Contract that all MokaDocs plugins must implement. Plugins are discovered and loaded by the PluginHost. |
| IPluginContext | Interface | Provides plugins with access to host services, configuration, and logging. |
| LoadedPlugin | Record | Represents a successfully loaded and initialized plugin. |
| PluginContext | Class | Default implementation of IPluginContext that wraps the host service provider and plugin-specific options from configuration. |
| PluginHost | Class | Discovers, loads, and manages the lifecycle of IMokaPlugin instances. Plugins are resolved from the DI container and matched against declarations in the site configuration. |
| PluginServiceExtensions | Class | Extension methods for registering plugin services. |
Moka.Docs.Plugins.BlazorPreview
| Name | Kind | Description |
|---|---|---|
| BlazorPreviewPlugin | Class | MokaDocs plugin that compiles ```blazor-preview code blocks with Roslyn at build time and wires them up for interactive in-page hydration in the browser. Architecture — one iframe per preview block. Each block is compiled to a standalone .dll at build time, written to Inputs — one yaml option:
Outputs — per build:
|
Moka.Docs.Plugins.Changelog
| Name | Kind | Description |
|---|---|---|
| ChangelogPlugin | Class | MokaDocs plugin that adds rich changelog/release notes styling and interactivity. Pages containing .changelog containers (rendered by ChangelogExtension) are enhanced with inline CSS for timeline visuals and JS for collapse/expand, filtering, and scroll-triggered animations. |
Moka.Docs.Plugins.OpenApi
| Name | Kind | Description |
|---|---|---|
| OpenApiEndpoint | Class | Represents a single HTTP endpoint (one path + one HTTP method). |
| OpenApiPageRenderer | Class | Generates HTML content for OpenAPI endpoint documentation pages. Produces an index page listing all endpoints and per-tag detail pages with parameter tables, request/response schemas, and example JSON. |
| OpenApiParameter | Class | Represents a parameter (path, query, header, or cookie) on an endpoint. |
| OpenApiParser | Class | Reads an OpenAPI specification (JSON or YAML, versions 2.0/3.0/3.1) using the official Microsoft.OpenApi.Readers package and maps the result to MokaDocs' own OpenApiSpec model. |
| OpenApiPlugin | Class | MokaDocs plugin that reads an OpenAPI 3.0 JSON specification file and generates beautiful endpoint documentation pages. Endpoints are grouped by tag, and each group receives its own detail page with parameter tables, request/response schemas, HTTP method badges, and example JSON payloads. Configuration in |
| OpenApiRequestBody | Class | Represents the request body of an endpoint. |
| OpenApiResponse | Class | Represents a single response definition on an endpoint. |
| OpenApiSchema | Class | Simplified representation of a JSON Schema used in OpenAPI specs. |
| OpenApiSpec | Class | Top-level representation of a parsed OpenAPI 3.0 specification. |
Moka.Docs.Plugins.Repl
| Name | Kind | Description |
|---|---|---|
| ReplPlugin | Class | MokaDocs plugin that adds interactive C# REPL functionality to documentation pages. Code blocks written as ```csharp-repl are enhanced with a Run button and output panel. In mokadocs serve mode, code is executed server-side via Roslyn scripting. In static builds, a message directs users to use the dev server. |
Moka.Docs.Rendering
| Name | Kind | Description |
|---|---|---|
| RenderingServiceExtensions | Class | Extension methods for registering rendering services. |
Moka.Docs.Rendering.Scriban
| Name | Kind | Description |
|---|---|---|
| ScribanTemplateEngine | Class | Renders pages using Scriban templates from the active theme. |
| ThemeRenderContext | Class | Context provided to the template engine for rendering a page. |
Moka.Docs.Search
| Name | Kind | Description |
|---|---|---|
| SearchServiceExtensions | Class | Extension methods for registering search services. |
Moka.Docs.Serve
| Name | Kind | Description |
|---|---|---|
| BlazorPreviewResult | Class | The result of rendering a Blazor component preview. |
| BlazorPreviewService | Class | Renders Blazor/Razor component source into a static HTML preview using real Roslyn compilation and Blazor's HtmlRenderer for server-side rendering. |
| DevServer | Class | A lightweight local static file server with WebSocket-based hot-reload notifications. Uses HttpListener to avoid requiring the ASP.NET Core shared framework. |
| FileWatcher | Class | Watches a documentation directory and config file for changes, debouncing notifications to avoid rapid-fire rebuilds. |
| NuGetPackageResolver | Class | Resolves NuGet package specifications (e.g. "Newtonsoft.Json", "Humanizer@2.14.1") into loaded assemblies by creating a temporary project and publishing it. |
| ReplExecutionService | Class | Executes C# code snippets using Roslyn scripting. Captures console output, handles compilation errors, and enforces a timeout to prevent runaway code. |
| ReplResult | Class | The result of a REPL code execution. |
| ResolvedPackages | Class | A resolved package containing the loaded assemblies and discovered root namespaces. |
| ServeServiceExtensions | Class | Extension methods for registering dev server services. |
Moka.Docs.Themes
| Name | Kind | Description |
|---|---|---|
| ThemeServiceExtensions | Class | Extension methods for registering theme services. |
Moka.Docs.Themes.Default
| Name | Kind | Description |
|---|---|---|
| EmbeddedThemeProvider | Class | Provides the built-in "Moka" default theme with all templates, CSS, and JS. This enables zero-config builds without requiring a theme directory on disk. |
| ThemeLoader | Class | Loads theme templates, CSS, JS, and assets from the theme directory. Supports both embedded default theme and custom theme directories. |
Moka.Docs.Versioning
| Name | Kind | Description |
|---|---|---|
| VersioningServiceExtensions | Class | Extension methods for registering versioning services. |
| VersionManager | Class | Manages version definitions parsed from SiteConfig and provides helpers for resolving the default version and computing versioned output paths. |