Expand description
§dioxus-docs-kit
Reusable documentation site shell for Dioxus applications.
Provides a complete docs layout with sidebar navigation, search modal, page navigation, OpenAPI API reference pages, and mobile drawer.
§Quick Start
ⓘ
use dioxus::prelude::*;
use dioxus_docs_kit::{DocsConfig, DocsRegistry, DocsContext, DocsLayout, DocsPageContent};
use std::sync::LazyLock;
static DOCS: LazyLock<DocsRegistry> = LazyLock::new(|| {
DocsConfig::new(include_str!("../docs/_nav.json"), doc_content_map())
.with_openapi("api-reference", include_str!("../docs/api-reference/spec.yaml"))
// .with_api_group_name("My API Docs") // must match a group in _nav.json
.build()
});
#[component]
fn MyDocsLayout() -> Element {
let nav = use_navigator();
let route = use_route::<Route>();
let current_path = use_memo(move || /* extract path from route */);
let docs_ctx = DocsContext {
current_path: current_path.into(),
base_path: "/docs".into(),
navigate: Callback::new(move |path: String| { /* push route */ }),
};
use_context_provider(|| &*DOCS as &'static DocsRegistry);
use_context_provider(|| docs_ctx);
rsx! { DocsLayout {} }
}Re-exports§
pub use config::DocsConfig;pub use config::ThemeConfig;pub use registry::DocsRegistry;pub use registry::ApiEndpointEntry;pub use registry::SearchEntry;pub use components::CurrentTheme;pub use components::DocsLayout;pub use components::DocsLayout;pub use components::DocsPageContent;pub use components::DocsPageContent;pub use components::DocsSidebar;pub use components::DocsSidebar;pub use components::DrawerOpen;pub use components::LayoutOffsets;pub use components::MobileDrawer;pub use components::MobileDrawer;pub use components::SearchButton;pub use components::SearchButton;pub use components::SearchModal;pub use components::SearchModal;pub use components::ThemeToggle;pub use components::ThemeToggle;pub use hooks::DocsProviders;pub use hooks::use_docs_providers;
Modules§
- components
- config
- Builder for constructing a
DocsRegistry. - hooks
- registry
- Documentation content registry.
Macros§
- doc_
content_ map - Generates a
doc_content_map()function that returns aHashMap<&'static str, &'static str>from the build-script output.
Structs§
- ApiOperation
- API endpoint operation.
- ApiTag
- Tag metadata.
- Docs
Context - Navigation bridge that decouples library components from the consumer’s Route enum.
- Open
ApiSpec - Parsed OpenAPI specification.
- Parsed
Doc - Parsed documentation page with frontmatter and content.
Enums§
- Http
Method - HTTP method.
Functions§
- DocContent
- Render a list of DocNodes.
- DocTable
OfContents - Table of contents sidebar component with scroll tracking.
- Endpoint
Page - Full-page two-column layout for a single API endpoint.
- Mermaid
Diagram - Renders a mermaid diagram.
- extract_
headers - Extract headers from markdown content for table of contents.
- highlight_
code - Apply syntax highlighting to code.