diff --git a/packages/docusaurus-theme-classic/src/theme/CodeBlock/Line/index.tsx b/packages/docusaurus-theme-classic/src/theme/CodeBlock/Line/index.tsx
index 80000b80d3..803c06466e 100644
--- a/packages/docusaurus-theme-classic/src/theme/CodeBlock/Line/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/CodeBlock/Line/index.tsx
@@ -14,16 +14,23 @@ import styles from './styles.module.css';
type Token = Props['line'][number];
-// Replaces '\n' by ''
-// Historical code, not sure why we even need this :/
+// This ;
+}
+
+// Replaces single lines with '\n' by '' so that we don't end up with
+// duplicate line breaks (the '\n' + the artificial above)
+// see also https://github.com/facebook/docusaurus/pull/11565
function fixLineBreak(line: Token[]) {
const singleLineBreakToken =
line.length === 1 && line[0]!.content === '\n' ? line[0] : undefined;
-
if (singleLineBreakToken) {
return [{...singleLineBreakToken, content: ''}];
}
-
return line;
}
@@ -35,7 +42,6 @@ export default function CodeBlockLine({
getTokenProps,
}: Props): ReactNode {
const line = fixLineBreak(lineProp);
-
const lineProps = getLineProps({
line,
className: clsx(classNames, showLineNumbers && styles.codeLine),
@@ -51,7 +57,7 @@ export default function CodeBlockLine({
});
return (
-
+