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 ( - +
{showLineNumbers ? ( <> @@ -60,7 +66,7 @@ export default function CodeBlockLine({ ) : ( lineTokens )} -
-
+ +
); }