The virtual:sveltepress/site module exposes the core site metadata (title, description) passed to sveltepress({ siteConfig }).
Custom themes, components, and layout templates can import this module to display the global site name and description or populate meta tags.
The Playground Virtual modules Entry boots the Kitchen-sink starter as authored at src/routes/reference/virtual-modules/+page.md. Chinese and Bengali embed kitchen-sink-zh / kitchen-sink-bn, written in that language at the same default path. That page writes Svelte in markdown and renders virtual:sveltepress/site, locale, and versions with the same JsonViewer as this page. This docs page keeps svelte live so it can show the source next to the rendered result. Open in Playground on this leaf, virtual:sveltepress/locale, and virtual:sveltepress/versions all land there.
Live data
Here is an interactive inspection of siteConfig on this site:
<script>
import {
type JsonViewer = SvelteComponent<Record<string, any>, any, any>
const JsonViewer: LegacyComponentType
JsonViewer } from 'svelte-json-discovery'
import
const siteConfig: {
title: string;
description: string;
}
siteConfig from 'virtual:sveltepress/site'
</script>
<div class: stringclass="viewer">
<const JsonViewer: LegacyComponentTypeJsonViewer
data: {
title: string;
description: string;
}
data={
const siteConfig: {
title: string;
description: string;
}
siteConfig} />
</div>
<style>
.viewer {
max-height: 40vh;
overflow: auto;
}
:global(html.dark) .viewer {
--discovery-background-color: #1a1a1a;
--sjd-app-bg: #1a1a1a;
--sjd-fmt-color: #999;
--sjd-fmt-hover-color: #aaa;
--sjd-fmt-property-color: #d17a8c;
--sjd-fmt-number-color: #0f8dc2;
--sjd-fmt-atom-color: #0f8dc2;
--sjd-fmt-string-color: #7faf20;
--sjd-fmt-string-underline-color: #85ab51;
--sjd-fmt-string-hover-color: #97cf26;
--sjd-ui-color: #ccc;
--sjd-match-bg: #565638;
--sjd-match-border: #a7a73b;
--sjd-error-border: #0004;
--sjd-error-bg: #622b29;
--sjd-error-color: #c66;
--sjd-error-message-bg: #443232;
--sjd-toggle-color: #72b372;
--sjd-touch-button-color: #aaa;
--sjd-touch-button-bg: #50505080;
--sjd-popup-bg: #333;
--sjd-popup-color: #ccc;
--sjd-popup-notes-color: #999;
--sjd-popup-error-color: #e66;
color-scheme: dark;
}
</style> Module exports
default
- Type:
{ title: string, description: string }
The default export is the site configuration object:
title: The site title configured insiteConfig.title. Defaults to'Untitled site'if not specified.description: The site description configured insiteConfig.description. Defaults to'Build by sveltepress'if not specified.
Working with TypeScript
Include @sveltepress/vite/types in your src/app.d.ts to get full type tips for virtual:sveltepress/site:
/// <reference types="@sveltepress/vite/types" />
// Your other types