typedoc-sveltepress-theme
v1.0.3
Published
A TypeDoc ( + typedoc-plugin-markdown ) theme that generates Markdown compatible with SveltePress.
Maintainers
Readme
typedoc-sveltepress-theme
A TypeDoc (+ typedoc-plugin-markdown) theme that generates Markdown compatible with SveltePress.
Based on typedoc-vitepress-theme.
Overview
This theme is designed to work with SveltePress, a documentation generator based on SvelteKit and Vite. It:
- Outputs pages as
folder/+page.mdfiles (SvelteKit file-based routing) instead of flat.mdfiles - Sets YAML frontmatter
titleon every page for SveltePress page titles - Converts all links to SveltePress's built-in
<Link>component for reliable rendering in tables and mdsvex - Automatically generates a
typedoc-sidebar.jsonsidebar configuration file
Installation
pnpm add typedoc typedoc-plugin-markdown typedoc-sveltepress-theme --save-devUsage
In your typedoc.json:
{
"plugin": ["typedoc-plugin-markdown", "typedoc-sveltepress-theme"]
}Default Preset Options
The plugin applies these typedoc-plugin-markdown defaults automatically (you can override them in typedoc.json):
| Option | Default | Description |
| --- | --- | --- |
| out | ./api | Output directory |
| entryFileName | index.md | Root index file name |
| hidePageHeader | true | Hides the project name header partial |
| hideBreadcrumbs | true | Hides breadcrumb navigation |
Options
docsRoot
The path to your SveltePress project's routes root (defaults to ./). Used to calculate the correct base path for sidebar links.
For example, if your project looks like:
├── typedoc.json
└── docs/
└── src/
└── routes/
└── api/ ← outSet:
{
"out": "./docs/src/routes/api",
"docsRoot": "./docs/src/routes"
}sidebar
Configures the autogenerated SveltePress sidebar.
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| autoConfiguration | boolean | true | Set to false to disable sidebar generation |
| collapsible | boolean | true | Whether sidebar groups are collapsible |
| pretty | boolean | false | Pretty-print the sidebar JSON |
Example:
{
"sidebar": {
"collapsible": true,
"pretty": true
}
}Sidebar Integration
The plugin generates a typedoc-sidebar.json file in your out directory. Import it in your SveltePress vite.config.ts:
import { defineConfig } from 'vite'
import { sveltepress } from '@sveltepress/vite'
import { defaultTheme } from '@sveltepress/theme-default'
import typedocSidebar from './src/routes/api/typedoc-sidebar.json'
export default defineConfig({
plugins: [
sveltepress({
theme: defaultTheme({
sidebar: {
'/api/': typedocSidebar,
},
}),
}),
],
})License
MIT
