diff --git a/sites/svelte.dev/src/lib/server/docs/render.js b/sites/svelte.dev/src/lib/server/docs/render.js
index c61eb940d5..abe1fa9c1c 100644
--- a/sites/svelte.dev/src/lib/server/docs/render.js
+++ b/sites/svelte.dev/src/lib/server/docs/render.js
@@ -42,7 +42,7 @@ export function replace_placeholders(content) {
const type = module.types.find((t) => t.name === id);
return (
- `
${fence(type.snippet)}` +
+ `
${fence(type.snippet, 'dts')}` +
type.children.map(stringify).join('\n\n') +
`
`
);
@@ -50,9 +50,9 @@ export function replace_placeholders(content) {
return `${module.comment}\n\n${module.types
.map((t) => {
- let children = t.children.map(stringify).join('\n\n');
+ let children = t.children.map((val) => stringify(val, 'dts')).join('\n\n');
- const markdown = `
${fence(t.snippet)}` + children + `
`;
+ const markdown = `
${fence(t.snippet, 'dts')}` + children + `
`;
return `### [TYPE]: ${t.name}\n\n${t.comment}\n\n${markdown}\n\n`;
})
.join('')}`;
@@ -68,7 +68,7 @@ export function replace_placeholders(content) {
const exported = module.exports.filter((t) => t.name === id);
return exported
- .map((exportVal) => `
${fence(exportVal.snippet)}
`)
+ .map((exportVal) => `
${fence(exportVal.snippet, 'dts')}
`)
.join('\n\n');
})
.replace('> MODULES', () => {
@@ -125,8 +125,8 @@ export function replace_placeholders(content) {
return `${import_block}\n\n${module.comment}\n\n${module.exports
.map((type) => {
const markdown =
- `
${fence(type.snippet)}` +
- type.children.map(stringify).join('\n\n') +
+ `
${fence(type.snippet, 'dts')}` +
+ type.children.map((val) => stringify(val, 'dts')).join('\n\n') +
`
`;
return `### ${type.name}\n\n${type.comment}\n\n${markdown}`;
})
@@ -136,7 +136,7 @@ export function replace_placeholders(content) {
/**
* @param {string} code
- * @param {string} lang
+ * @param {keyof typeof import('../markdown/index').SHIKI_LANGUAGE_MAP} lang
*/
function fence(code, lang = 'ts') {
return (
@@ -151,8 +151,9 @@ function fence(code, lang = 'ts') {
/**
* @param {import('./types').Type} member
+ * @param {keyof typeof import('../markdown').SHIKI_LANGUAGE_MAP} [lang]
*/
-function stringify(member) {
+function stringify(member, lang = 'ts') {
const bullet_block =
member.bullets.length > 0
? `\n\n
\n\n${member.bullets.join('\n')}
`
@@ -161,12 +162,12 @@ function stringify(member) {
const child_block =
member.children.length > 0
? `\n\n
${member.children
- .map(stringify)
+ .map((val) => stringify(val, lang))
.join('\n')}
`
: '';
return (
- `
${fence(member.snippet)}` +
+ `
${fence(member.snippet, lang)}` +
`
\n\n` +
bullet_block +
'\n\n' +
diff --git a/sites/svelte.dev/src/lib/server/markdown/index.js b/sites/svelte.dev/src/lib/server/markdown/index.js
index 8f37916292..ed924a0247 100644
--- a/sites/svelte.dev/src/lib/server/markdown/index.js
+++ b/sites/svelte.dev/src/lib/server/markdown/index.js
@@ -24,6 +24,7 @@ export const SHIKI_LANGUAGE_MAP = {
svelte: 'svelte',
sv: 'svelte',
js: 'javascript',
+ dts: 'typescript',
css: 'css',
diff: 'diff',
ts: 'typescript',