From a97927a29a263d6681d4df44478a127c28e4668a Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Thu, 7 May 2026 19:45:45 +0200 Subject: [PATCH] Enhance code block rendering with language classes and refine link validation --- src/markdown/markdown-render.css | 7 ------- src/markdown/markdown.ts | 7 ++++--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/markdown/markdown-render.css b/src/markdown/markdown-render.css index b4bb50e..4bc0423 100644 --- a/src/markdown/markdown-render.css +++ b/src/markdown/markdown-render.css @@ -141,13 +141,6 @@ overflow-wrap: anywhere; } -.md-codeblock__label { - margin: 0 0 1rem; - font-family: var(--md-code-font); - font-size: 11px; - color: var(--subtle); -} - .md-inline-code { padding: 0.1em 0.24em; border-radius: 4px; diff --git a/src/markdown/markdown.ts b/src/markdown/markdown.ts index 2410f3a..52c7599 100644 --- a/src/markdown/markdown.ts +++ b/src/markdown/markdown.ts @@ -29,6 +29,7 @@ const alignmentClassFromToken = (token: any) => { const safeLink = (hrefRaw: string) => { const href = (hrefRaw || "").trim(); if (!href) return ""; + if (href.startsWith("//")) return ""; if (/^(https?|mailto|tel):/i.test(href)) return href; if (/^[./#]/.test(href)) return href; if (!/^[a-z][a-z0-9+.-]*:/i.test(href)) return href; @@ -255,11 +256,11 @@ markdown.renderer.rules.code_inline = (tokens: any[], idx: number) => markdown.renderer.rules.fence = (tokens: any[], idx: number) => { const info = tokens[idx].info.trim(); - const language = info || "code"; - return `
${escapeHtml(tokens[idx].content).replace(
+  const languageClass = info.toLowerCase().replace(/[^a-z0-9_-]/g, "") || "code";
+  return `
${escapeHtml(tokens[idx].content).replace(
     /\n$/,
     ""
-  )}
${escapeHtml(language)}
`; + )}
`; }; markdown.renderer.rules.code_block = (tokens: any[], idx: number) =>