From 412acb1a13a0c61ee4aa2a5124a818f4ebe9bcb2 Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Fri, 17 Jul 2026 16:17:13 -0500 Subject: [PATCH 1/2] fix(markdown): update monospace font-face for preformatted code blocks on Windows --- .../ui-components/src/styles/markdown.css | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/ui-components/src/styles/markdown.css b/packages/ui-components/src/styles/markdown.css index dfc918c61fc15..2c706f9552113 100644 --- a/packages/ui-components/src/styles/markdown.css +++ b/packages/ui-components/src/styles/markdown.css @@ -92,6 +92,27 @@ main { dark:text-white; } + /* + * Fenced code blocks use a system monospace stack instead of IBM Plex Mono. + * Plex has no glyphs for the Unicode Box Drawing block (U+2500–U+257F) and + * Google Fonts never serves that block, so the box-drawing characters in + * ASCII-art diagrams (e.g. the URL table in url.md) fall back per-glyph to + * the OS default monospace. On Windows that is Consolas (0.55em) while Plex + * letters are 0.60em; the mismatched advance widths shear the diagram out of + * alignment. Rendering the whole block in one system font keeps every glyph + * the same width — the same stack nodejs.org and the legacy-html generator + * already use. See https://github.com/nodejs/doc-kit/issues/909. + * + * This only overrides the variable within `pre`, so inline code and the rest + * of the UI keep IBM Plex Mono. The variable keeps its name because the + * compiled @node-core/ui-components CSS reads `var(--font-ibm-plex-mono)`. + */ + pre { + --font-ibm-plex-mono: + 'SFMono-Regular', 'Menlo', 'Consolas', 'Liberation Mono', 'Courier New', + monospace; + } + p { @apply text-neutral-900 dark:text-white; From 976454fafaea0a18c6e6c8142c2e83b20c7c3eb0 Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Sat, 18 Jul 2026 18:34:17 -0500 Subject: [PATCH 2/2] bump ui-components --- packages/ui-components/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index 76a3b62338c4a..32b922e95481b 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -1,6 +1,6 @@ { "name": "@node-core/ui-components", - "version": "1.7.2", + "version": "1.7.3", "type": "module", "exports": { "./*": {