@docusaurus/theme-classic 3.7.0-canary-6197 → 3.7.0-canary-6199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@ import {
11
11
  parseCodeBlockTitle,
12
12
  parseLanguage,
13
13
  parseLines,
14
- containsLineNumbers,
14
+ getLineNumbersStart,
15
15
  useCodeWordWrap,
16
16
  } from '@docusaurus/theme-common/internal';
17
17
  import {Highlight} from 'prism-react-renderer';
@@ -51,8 +51,10 @@ export default function CodeBlockString({
51
51
  language,
52
52
  magicComments,
53
53
  });
54
- const showLineNumbers =
55
- showLineNumbersProp ?? containsLineNumbers(metastring);
54
+ const lineNumbersStart = getLineNumbersStart({
55
+ showLineNumbers: showLineNumbersProp,
56
+ metastring,
57
+ });
56
58
  return (
57
59
  <Container
58
60
  as="div"
@@ -75,8 +77,14 @@ export default function CodeBlockString({
75
77
  <code
76
78
  className={clsx(
77
79
  styles.codeBlockLines,
78
- showLineNumbers && styles.codeBlockLinesWithNumbering,
79
- )}>
80
+ lineNumbersStart !== undefined &&
81
+ styles.codeBlockLinesWithNumbering,
82
+ )}
83
+ style={
84
+ lineNumbersStart === undefined
85
+ ? undefined
86
+ : {counterReset: `line-count ${lineNumbersStart - 1}`}
87
+ }>
80
88
  {tokens.map((line, i) => (
81
89
  <Line
82
90
  key={i}
@@ -84,7 +92,7 @@ export default function CodeBlockString({
84
92
  getLineProps={getLineProps}
85
93
  getTokenProps={getTokenProps}
86
94
  classNames={lineClassNames[i]}
87
- showLineNumbers={showLineNumbers}
95
+ showLineNumbers={lineNumbersStart !== undefined}
88
96
  />
89
97
  ))}
90
98
  </code>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "3.7.0-canary-6197",
3
+ "version": "3.7.0-canary-6199",
4
4
  "description": "Classic theme for Docusaurus",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/theme-classic.d.ts",
@@ -20,19 +20,19 @@
20
20
  "copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@docusaurus/core": "3.7.0-canary-6197",
24
- "@docusaurus/logger": "3.7.0-canary-6197",
25
- "@docusaurus/mdx-loader": "3.7.0-canary-6197",
26
- "@docusaurus/module-type-aliases": "3.7.0-canary-6197",
27
- "@docusaurus/plugin-content-blog": "3.7.0-canary-6197",
28
- "@docusaurus/plugin-content-docs": "3.7.0-canary-6197",
29
- "@docusaurus/plugin-content-pages": "3.7.0-canary-6197",
30
- "@docusaurus/theme-common": "3.7.0-canary-6197",
31
- "@docusaurus/theme-translations": "3.7.0-canary-6197",
32
- "@docusaurus/types": "3.7.0-canary-6197",
33
- "@docusaurus/utils": "3.7.0-canary-6197",
34
- "@docusaurus/utils-common": "3.7.0-canary-6197",
35
- "@docusaurus/utils-validation": "3.7.0-canary-6197",
23
+ "@docusaurus/core": "3.7.0-canary-6199",
24
+ "@docusaurus/logger": "3.7.0-canary-6199",
25
+ "@docusaurus/mdx-loader": "3.7.0-canary-6199",
26
+ "@docusaurus/module-type-aliases": "3.7.0-canary-6199",
27
+ "@docusaurus/plugin-content-blog": "3.7.0-canary-6199",
28
+ "@docusaurus/plugin-content-docs": "3.7.0-canary-6199",
29
+ "@docusaurus/plugin-content-pages": "3.7.0-canary-6199",
30
+ "@docusaurus/theme-common": "3.7.0-canary-6199",
31
+ "@docusaurus/theme-translations": "3.7.0-canary-6199",
32
+ "@docusaurus/types": "3.7.0-canary-6199",
33
+ "@docusaurus/utils": "3.7.0-canary-6199",
34
+ "@docusaurus/utils-common": "3.7.0-canary-6199",
35
+ "@docusaurus/utils-validation": "3.7.0-canary-6199",
36
36
  "@mdx-js/react": "^3.0.0",
37
37
  "clsx": "^2.0.0",
38
38
  "copy-text-to-clipboard": "^3.2.0",
@@ -62,5 +62,5 @@
62
62
  "engines": {
63
63
  "node": ">=18.0"
64
64
  },
65
- "gitHead": "bf317203dc254101b1ba4c196e4889f4f80f9301"
65
+ "gitHead": "01bc5f457e7de429d808e9eb180a41826ff6a870"
66
66
  }
@@ -12,7 +12,7 @@ import {
12
12
  parseCodeBlockTitle,
13
13
  parseLanguage,
14
14
  parseLines,
15
- containsLineNumbers,
15
+ getLineNumbersStart,
16
16
  useCodeWordWrap,
17
17
  } from '@docusaurus/theme-common/internal';
18
18
  import {Highlight, type Language} from 'prism-react-renderer';
@@ -59,8 +59,10 @@ export default function CodeBlockString({
59
59
  language,
60
60
  magicComments,
61
61
  });
62
- const showLineNumbers =
63
- showLineNumbersProp ?? containsLineNumbers(metastring);
62
+ const lineNumbersStart = getLineNumbersStart({
63
+ showLineNumbers: showLineNumbersProp,
64
+ metastring,
65
+ });
64
66
 
65
67
  return (
66
68
  <Container
@@ -87,8 +89,14 @@ export default function CodeBlockString({
87
89
  <code
88
90
  className={clsx(
89
91
  styles.codeBlockLines,
90
- showLineNumbers && styles.codeBlockLinesWithNumbering,
91
- )}>
92
+ lineNumbersStart !== undefined &&
93
+ styles.codeBlockLinesWithNumbering,
94
+ )}
95
+ style={
96
+ lineNumbersStart === undefined
97
+ ? undefined
98
+ : {counterReset: `line-count ${lineNumbersStart - 1}`}
99
+ }>
92
100
  {tokens.map((line, i) => (
93
101
  <Line
94
102
  key={i}
@@ -96,7 +104,7 @@ export default function CodeBlockString({
96
104
  getLineProps={getLineProps}
97
105
  getTokenProps={getTokenProps}
98
106
  classNames={lineClassNames[i]}
99
- showLineNumbers={showLineNumbers}
107
+ showLineNumbers={lineNumbersStart !== undefined}
100
108
  />
101
109
  ))}
102
110
  </code>
@@ -412,7 +412,7 @@ declare module '@theme/CodeBlock' {
412
412
  readonly metastring?: string;
413
413
  readonly title?: string;
414
414
  readonly language?: string;
415
- readonly showLineNumbers?: boolean;
415
+ readonly showLineNumbers?: boolean | number;
416
416
  }
417
417
 
418
418
  export default function CodeBlock(props: Props): ReactNode;