@docusaurus/theme-common 3.7.0-canary-6274 → 3.7.0-canary-6275
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.
- package/lib/internal.d.ts +1 -2
- package/lib/internal.d.ts.map +1 -1
- package/lib/internal.js +1 -2
- package/lib/internal.js.map +1 -1
- package/lib/utils/codeBlockUtils.d.ts +36 -21
- package/lib/utils/codeBlockUtils.d.ts.map +1 -1
- package/lib/utils/codeBlockUtils.js +70 -11
- package/lib/utils/codeBlockUtils.js.map +1 -1
- package/package.json +8 -8
- package/src/internal.ts +3 -5
- package/src/utils/codeBlockUtils.ts +130 -27
package/lib/internal.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { useNavbarMobileSidebar } from './contexts/navbarMobileSidebar';
|
|
|
12
12
|
export { useNavbarSecondaryMenu } from './contexts/navbarSecondaryMenu/display';
|
|
13
13
|
export { ColorModeProvider } from './contexts/colorMode';
|
|
14
14
|
export { useAlternatePageUtils } from './utils/useAlternatePageUtils';
|
|
15
|
-
export {
|
|
15
|
+
export { type CodeBlockMetadata, createCodeBlockMetadata, getPrismCssVariables, } from './utils/codeBlockUtils';
|
|
16
16
|
export { DEFAULT_SEARCH_TAG } from './utils/searchUtils';
|
|
17
17
|
export { useTitleFormatter } from './utils/generalUtils';
|
|
18
18
|
export { useLocationChange } from './utils/useLocationChange';
|
|
@@ -29,7 +29,6 @@ export { useHideableNavbar } from './hooks/useHideableNavbar';
|
|
|
29
29
|
export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
|
|
30
30
|
export { useLockBodyScroll } from './hooks/useLockBodyScroll';
|
|
31
31
|
export { useCodeWordWrap } from './hooks/useCodeWordWrap';
|
|
32
|
-
export { getPrismCssVariables } from './utils/codeBlockUtils';
|
|
33
32
|
export { useBackToTopButton } from './hooks/useBackToTopButton';
|
|
34
33
|
export { useBlogTagsPostsPageTitle, useBlogAuthorPageTitle, translateBlogAuthorsListPageTitle, BlogAuthorsListViewAllLabel, BlogAuthorNoPostsLabel, } from './translations/blogTranslations';
|
|
35
34
|
//# sourceMappingURL=internal.d.ts.map
|
package/lib/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAErE,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
|
package/lib/internal.js
CHANGED
|
@@ -22,7 +22,7 @@ export { useNavbarMobileSidebar } from './contexts/navbarMobileSidebar';
|
|
|
22
22
|
export { useNavbarSecondaryMenu } from './contexts/navbarSecondaryMenu/display';
|
|
23
23
|
export { ColorModeProvider } from './contexts/colorMode';
|
|
24
24
|
export { useAlternatePageUtils } from './utils/useAlternatePageUtils';
|
|
25
|
-
export {
|
|
25
|
+
export { createCodeBlockMetadata, getPrismCssVariables, } from './utils/codeBlockUtils';
|
|
26
26
|
export { DEFAULT_SEARCH_TAG } from './utils/searchUtils';
|
|
27
27
|
export { useTitleFormatter } from './utils/generalUtils';
|
|
28
28
|
export { useLocationChange } from './utils/useLocationChange';
|
|
@@ -39,7 +39,6 @@ export { useHideableNavbar } from './hooks/useHideableNavbar';
|
|
|
39
39
|
export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
|
|
40
40
|
export { useLockBodyScroll } from './hooks/useLockBodyScroll';
|
|
41
41
|
export { useCodeWordWrap } from './hooks/useCodeWordWrap';
|
|
42
|
-
export { getPrismCssVariables } from './utils/codeBlockUtils';
|
|
43
42
|
export { useBackToTopButton } from './hooks/useBackToTopButton';
|
|
44
43
|
export { useBlogTagsPostsPageTitle, useBlogAuthorPageTitle, translateBlogAuthorsListPageTitle, BlogAuthorsListViewAllLabel, BlogAuthorNoPostsLabel, } from './translations/blogTranslations';
|
|
45
44
|
//# sourceMappingURL=internal.js.map
|
package/lib/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,uDAAuD;AACvD,EAAE;AACF,6DAA6D;AAC7D,gFAAgF;AAChF,yEAAyE;AACzE,oDAAoD;AACpD,EAAE;AACF,gDAAgD;AAChD,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,uDAAuD;AACvD,EAAE;AACF,6DAA6D;AAC7D,gFAAgF;AAChF,yEAAyE;AACzE,oDAAoD;AACpD,EAAE;AACF,gDAAgD;AAChD,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAErE,OAAO,EACL,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import type { CSSProperties } from 'react';
|
|
7
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
8
8
|
import type { PrismTheme } from 'prism-react-renderer';
|
|
9
9
|
export type MagicCommentConfig = {
|
|
10
10
|
className: string;
|
|
@@ -19,12 +19,6 @@ export declare function getLineNumbersStart({ showLineNumbers, metastring, }: {
|
|
|
19
19
|
showLineNumbers: boolean | number | undefined;
|
|
20
20
|
metastring: string | undefined;
|
|
21
21
|
}): number | undefined;
|
|
22
|
-
/**
|
|
23
|
-
* Gets the language name from the class name (set by MDX).
|
|
24
|
-
* e.g. `"language-javascript"` => `"javascript"`.
|
|
25
|
-
* Returns undefined if there is no language class name.
|
|
26
|
-
*/
|
|
27
|
-
export declare function parseLanguage(className: string): string | undefined;
|
|
28
22
|
type ParseCodeLinesParam = {
|
|
29
23
|
/**
|
|
30
24
|
* The full metastring, as received from MDX. Line ranges declared here
|
|
@@ -42,23 +36,19 @@ type ParseCodeLinesParam = {
|
|
|
42
36
|
*/
|
|
43
37
|
magicComments: MagicCommentConfig[];
|
|
44
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
|
|
41
|
+
* means the 1st line should have `highlight` and `sample` as class names.
|
|
42
|
+
*/
|
|
43
|
+
type CodeLineClassNames = {
|
|
44
|
+
[lineIndex: number]: string[];
|
|
45
|
+
};
|
|
45
46
|
/**
|
|
46
47
|
* Code lines after applying magic comments or metastring highlight ranges
|
|
47
48
|
*/
|
|
48
|
-
type
|
|
49
|
-
/**
|
|
50
|
-
* If there's number range declared in the metastring, the code block is
|
|
51
|
-
* returned as-is (no parsing); otherwise, this is the clean code with all
|
|
52
|
-
* magic comments stripped away.
|
|
53
|
-
*/
|
|
49
|
+
type ParsedCodeLines = {
|
|
54
50
|
code: string;
|
|
55
|
-
|
|
56
|
-
* The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
|
|
57
|
-
* means the 1st line should have `highlight` and `sample` as class names.
|
|
58
|
-
*/
|
|
59
|
-
lineClassNames: {
|
|
60
|
-
[lineIndex: number]: string[];
|
|
61
|
-
};
|
|
51
|
+
lineClassNames: CodeLineClassNames;
|
|
62
52
|
};
|
|
63
53
|
/**
|
|
64
54
|
* Parses the code content, strips away any magic comments, and returns the
|
|
@@ -69,7 +59,32 @@ type CodeLines = {
|
|
|
69
59
|
* number range to the first magic comment config entry (which _should_ be for
|
|
70
60
|
* line highlight directives.)
|
|
71
61
|
*/
|
|
72
|
-
export declare function parseLines(code: string, params: ParseCodeLinesParam):
|
|
62
|
+
export declare function parseLines(code: string, params: ParseCodeLinesParam): ParsedCodeLines;
|
|
63
|
+
/**
|
|
64
|
+
* Gets the language name from the class name (set by MDX).
|
|
65
|
+
* e.g. `"language-javascript"` => `"javascript"`.
|
|
66
|
+
* Returns undefined if there is no language class name.
|
|
67
|
+
*/
|
|
68
|
+
export declare function parseClassNameLanguage(className: string | undefined): string | undefined;
|
|
69
|
+
export interface CodeBlockMetadata {
|
|
70
|
+
codeInput: string;
|
|
71
|
+
code: string;
|
|
72
|
+
className: string;
|
|
73
|
+
language: string;
|
|
74
|
+
title: ReactNode;
|
|
75
|
+
lineNumbersStart: number | undefined;
|
|
76
|
+
lineClassNames: CodeLineClassNames;
|
|
77
|
+
}
|
|
78
|
+
export declare function createCodeBlockMetadata(params: {
|
|
79
|
+
code: string;
|
|
80
|
+
className: string | undefined;
|
|
81
|
+
language: string | undefined;
|
|
82
|
+
defaultLanguage: string | undefined;
|
|
83
|
+
metastring: string | undefined;
|
|
84
|
+
magicComments: MagicCommentConfig[];
|
|
85
|
+
title: ReactNode;
|
|
86
|
+
showLineNumbers: boolean | number | undefined;
|
|
87
|
+
}): CodeBlockMetadata;
|
|
73
88
|
export declare function getPrismCssVariables(prismTheme: PrismTheme): CSSProperties;
|
|
74
89
|
export {};
|
|
75
90
|
//# sourceMappingURL=codeBlockUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAGpD,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAiCtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;CACtC,CAAC;AAuGF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAkBD,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,UAAU,GACX,EAAE;IACD,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,MAAM,GAAG,SAAS,CASrB;AAED,KAAK,mBAAmB,GAAG;IACzB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,KAAK,kBAAkB,GAAG;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAC,CAAC;AAE1D;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AA0FF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,eAAe,CAYjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAQpB;AA4CD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/C,GAAG,iBAAiB,CAkCpB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAc1E"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
import clsx from 'clsx';
|
|
7
8
|
import rangeParser from 'parse-numeric-range';
|
|
8
9
|
const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
|
|
9
10
|
const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
|
|
@@ -126,17 +127,6 @@ export function getLineNumbersStart({ showLineNumbers, metastring, }) {
|
|
|
126
127
|
}
|
|
127
128
|
return getMetaLineNumbersStart(metastring);
|
|
128
129
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Gets the language name from the class name (set by MDX).
|
|
131
|
-
* e.g. `"language-javascript"` => `"javascript"`.
|
|
132
|
-
* Returns undefined if there is no language class name.
|
|
133
|
-
*/
|
|
134
|
-
export function parseLanguage(className) {
|
|
135
|
-
const languageClassName = className
|
|
136
|
-
.split(' ')
|
|
137
|
-
.find((str) => str.startsWith('language-'));
|
|
138
|
-
return languageClassName?.replace(/language-/, '');
|
|
139
|
-
}
|
|
140
130
|
function parseCodeLinesFromMetastring(code, { metastring, magicComments }) {
|
|
141
131
|
// Highlighted lines specified in props: don't parse the content
|
|
142
132
|
if (metastring && metastringLinesRangeRegex.test(metastring)) {
|
|
@@ -216,9 +206,78 @@ export function parseLines(code, params) {
|
|
|
216
206
|
const newCode = code.replace(/\r?\n$/, '');
|
|
217
207
|
// Historical behavior: we try one strategy after the other
|
|
218
208
|
// we don't support mixing metastring ranges + magic comments
|
|
209
|
+
console.log('params', { params, code });
|
|
210
|
+
console.log('from meta', parseCodeLinesFromMetastring(newCode, { ...params }));
|
|
211
|
+
console.log('from content', parseCodeLinesFromContent(newCode, { ...params }));
|
|
219
212
|
return (parseCodeLinesFromMetastring(newCode, { ...params }) ??
|
|
220
213
|
parseCodeLinesFromContent(newCode, { ...params }));
|
|
221
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Gets the language name from the class name (set by MDX).
|
|
217
|
+
* e.g. `"language-javascript"` => `"javascript"`.
|
|
218
|
+
* Returns undefined if there is no language class name.
|
|
219
|
+
*/
|
|
220
|
+
export function parseClassNameLanguage(className) {
|
|
221
|
+
if (!className) {
|
|
222
|
+
return undefined;
|
|
223
|
+
}
|
|
224
|
+
const languageClassName = className
|
|
225
|
+
.split(' ')
|
|
226
|
+
.find((str) => str.startsWith('language-'));
|
|
227
|
+
return languageClassName?.replace(/language-/, '');
|
|
228
|
+
}
|
|
229
|
+
// Prism languages are always lowercase
|
|
230
|
+
// We want to fail-safe and allow both "php" and "PHP"
|
|
231
|
+
// See https://github.com/facebook/docusaurus/issues/9012
|
|
232
|
+
function normalizeLanguage(language) {
|
|
233
|
+
return language?.toLowerCase();
|
|
234
|
+
}
|
|
235
|
+
function getLanguage(params) {
|
|
236
|
+
return (normalizeLanguage(params.language ??
|
|
237
|
+
parseClassNameLanguage(params.className) ??
|
|
238
|
+
params.defaultLanguage) ?? 'text'); // There's always a language, required by Prism;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* This ensures that we always have the code block language as className
|
|
242
|
+
* For MDX code blocks this is provided automatically by MDX
|
|
243
|
+
* For JSX code blocks, the language gets added by this function
|
|
244
|
+
* This ensures both cases lead to a consistent HTML output
|
|
245
|
+
*/
|
|
246
|
+
function ensureLanguageClassName({ className, language, }) {
|
|
247
|
+
return clsx(className, language &&
|
|
248
|
+
!className?.includes(`language-${language}`) &&
|
|
249
|
+
`language-${language}`);
|
|
250
|
+
}
|
|
251
|
+
export function createCodeBlockMetadata(params) {
|
|
252
|
+
const language = getLanguage({
|
|
253
|
+
language: params.language,
|
|
254
|
+
defaultLanguage: params.defaultLanguage,
|
|
255
|
+
className: params.className,
|
|
256
|
+
});
|
|
257
|
+
const { lineClassNames, code } = parseLines(params.code, {
|
|
258
|
+
metastring: params.metastring,
|
|
259
|
+
magicComments: params.magicComments,
|
|
260
|
+
language,
|
|
261
|
+
});
|
|
262
|
+
const className = ensureLanguageClassName({
|
|
263
|
+
className: params.className,
|
|
264
|
+
language,
|
|
265
|
+
});
|
|
266
|
+
const title = parseCodeBlockTitle(params.metastring) || params.title;
|
|
267
|
+
const lineNumbersStart = getLineNumbersStart({
|
|
268
|
+
showLineNumbers: params.showLineNumbers,
|
|
269
|
+
metastring: params.metastring,
|
|
270
|
+
});
|
|
271
|
+
return {
|
|
272
|
+
codeInput: params.code,
|
|
273
|
+
code,
|
|
274
|
+
className,
|
|
275
|
+
language,
|
|
276
|
+
title,
|
|
277
|
+
lineNumbersStart,
|
|
278
|
+
lineClassNames,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
222
281
|
export function getPrismCssVariables(prismTheme) {
|
|
223
282
|
const mapping = {
|
|
224
283
|
color: '--prism-color',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAG9C,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAClE,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAE1D,wCAAwC;AACxC,MAAM,sBAAsB,GAAG;IAC7B,EAAE,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC;IAC9B,OAAO,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAC;IACzC,GAAG,EAAE,EAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAC;IACnD,IAAI,EAAE,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC;IAC3B,IAAI,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAC;CACzB,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,GAAG,sBAAsB,EAAE,6BAA6B;IACxD,uBAAuB;IACvB,GAAG,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAC;IAC3B,IAAI,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAC;IAChC,GAAG,EAAE,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC;IAC1B,EAAE,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAC;IAC7B,KAAK,EAAE,EAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAC,EAAE,8BAA8B;IAC1E,GAAG,EAAE,EAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAC;IACxC,GAAG,EAAE,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC,EAAE,mBAAmB;IAC/C,EAAE,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAC;IACpC,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAC,EAAE,mBAAmB;CAC5C,CAAC;AAGX,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACrC,sBAAsB,CACN,CAAC;AAQnB,SAAS,iBAAiB,CACxB,SAAwB,EACxB,sBAA4C;IAE5C,kEAAkE;IAClE,MAAM,cAAc,GAAG,SAAS;SAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,MAAM,KAAK,QAAQ,sBAAsB;aAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACtE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC7B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,sEAAsE;IACtE,OAAO,IAAI,MAAM,CAAC,WAAW,cAAc,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,iCAAiC,CACxC,IAAY,EACZ,sBAA4C;IAE5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC;QACV,KAAK,YAAY,CAAC;QAClB,KAAK,IAAI,CAAC;QACV,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEtE,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,iBAAiB,CACtB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EACxB,sBAAsB,CACvB,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO,iBAAiB,CACtB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EACzB,sBAAsB,CACvB,CAAC;QAEJ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE7D,KAAK,UAAU,CAAC;QAChB,KAAK,IAAI;YACP,yCAAyC;YACzC,OAAO,iBAAiB,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE5E,KAAK,KAAK,CAAC;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE5D,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE5D,KAAK,KAAK;YACR,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEvE,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE7D,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAClE,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAErE,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE5D,KAAK,OAAO,EAAE,4EAA4E;YACxF,OAAO,iBAAiB,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEnE,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEjE,KAAK,OAAO,CAAC;QACb,KAAK,KAAK;YACR,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE3D,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE5D,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE9D;YACE,4BAA4B;YAC5B,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,OAAO,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAmB;IAClD,MAAM,mBAAmB,GAAG,UAAU;QACpC,EAAE,KAAK,CAAC,GAAG,CAAC;SACX,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpD,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,mBAAmB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAClE,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,eAAe,EACf,UAAU,GAIX;IACC,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAkCD,SAAS,4BAA4B,CACnC,IAAY,EACZ,EAAC,UAAU,EAAE,aAAa,EAAsB;IAEhD,gEAAgE;IAChE,IAAI,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAE,CAAC,MAAO;aACpE,KAAM,CAAC;QACV,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,uEAAuE,UAAU,kIAAkI,CACpN,CAAC;QACJ,CAAC;QACD,MAAM,wBAAwB,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC;QAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAuB,CAAC,CAAC;QACzE,OAAO,EAAC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAY,EACZ,MAA2B;IAE3B,MAAM,EAAC,QAAQ,EAAE,aAAa,EAAC,GAAG,MAAM,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAC,CAAC;IACpC,CAAC;IACD,MAAM,cAAc,GAAG,iCAAiC,CACtD,QAAQ,EACR,aAAa,CACd,CAAC;IACF,0BAA0B;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC,CAAC,CAC/D,CAAC;IACF,MAAM,eAAe,GAAgC,MAAM,CAAC,WAAW,CACrE,aAAa;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACrB,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC,IAAK,EAAE,SAAS,CAAqB,CAAC,CACtE,CAAC;IACF,MAAM,qBAAqB,GAAgC,MAAM,CAAC,WAAW,CAC3E,aAAa;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,KAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,mBAAmB,GAAgC,MAAM,CAAC,WAAW,CACzE,aAAa;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,KAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CACxD,CAAC;IACF,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,MAAM,GAAI,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,yCAAyC;YACzC,UAAU,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,KAAK;aACpB,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAE,CAAC;QAC3D,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,eAAe,CAAC,SAAS,CAAE,CAAE,CAAC,KAAK,IAAI,GAAG,UAAU,GAAG,CAAC;QACjE,CAAC;aAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAE,CAAE,CAAC,KAAK,GAAG,UAAU,CAAC;QAChE,CAAC;aAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAE,CAAE,CAAC,KAAK,IAAI,GAChD,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAE,CAAE,CAAC,KAC3C,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAoC,EAAE,CAAC;IAC3D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,EAAE;QACtD,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACzB,cAAc,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,EAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,MAA2B;IAE3B,iDAAiD;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3C,2DAA2D;IAC3D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,4BAA4B,CAAC,OAAO,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,OAAO,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,CACL,4BAA4B,CAAC,OAAO,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC;QAClD,yBAAyB,CAAC,OAAO,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC,CAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAA6B;IAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS;SAChC,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,OAAO,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,uCAAuC;AACvC,sDAAsD;AACtD,yDAAyD;AACzD,SAAS,iBAAiB,CAAC,QAA4B;IACrD,OAAO,QAAQ,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,MAIpB;IACC,OAAO,CACL,iBAAiB,CACf,MAAM,CAAC,QAAQ;QACb,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,CAAC,eAAe,CACzB,IAAI,MAAM,CACZ,CAAC,CAAC,gDAAgD;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,EAC/B,SAAS,EACT,QAAQ,GAIT;IACC,OAAO,IAAI,CACT,SAAS,EACT,QAAQ;QACN,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,QAAQ,EAAE,CAAC;QAC5C,YAAY,QAAQ,EAAE,CACzB,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,uBAAuB,CAAC,MASvC;IACC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;IAEH,MAAM,EAAC,cAAc,EAAE,IAAI,EAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;QACrD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,uBAAuB,CAAC;QACxC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;IAErE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;QAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,IAAI;QACtB,IAAI;QACJ,SAAS;QACT,QAAQ;QACR,KAAK;QACL,gBAAgB;QAChB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAAsB;IACzD,MAAM,OAAO,GAAoB;QAC/B,KAAK,EAAE,eAAe;QACtB,eAAe,EAAE,0BAA0B;KAC5C,CAAC;IAEF,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAA4B,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-common",
|
|
3
|
-
"version": "3.7.0-canary-
|
|
3
|
+
"version": "3.7.0-canary-6275",
|
|
4
4
|
"description": "Common code for Docusaurus themes.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@docusaurus/mdx-loader": "3.7.0-canary-
|
|
34
|
-
"@docusaurus/module-type-aliases": "3.7.0-canary-
|
|
35
|
-
"@docusaurus/utils": "3.7.0-canary-
|
|
36
|
-
"@docusaurus/utils-common": "3.7.0-canary-
|
|
33
|
+
"@docusaurus/mdx-loader": "3.7.0-canary-6275",
|
|
34
|
+
"@docusaurus/module-type-aliases": "3.7.0-canary-6275",
|
|
35
|
+
"@docusaurus/utils": "3.7.0-canary-6275",
|
|
36
|
+
"@docusaurus/utils-common": "3.7.0-canary-6275",
|
|
37
37
|
"@types/history": "^4.7.11",
|
|
38
38
|
"@types/react": "*",
|
|
39
39
|
"@types/react-router-config": "*",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"utility-types": "^3.10.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@docusaurus/core": "3.7.0-canary-
|
|
48
|
-
"@docusaurus/types": "3.7.0-canary-
|
|
47
|
+
"@docusaurus/core": "3.7.0-canary-6275",
|
|
48
|
+
"@docusaurus/types": "3.7.0-canary-6275",
|
|
49
49
|
"fs-extra": "^11.1.1",
|
|
50
50
|
"lodash": "^4.17.21"
|
|
51
51
|
},
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"engines": {
|
|
58
58
|
"node": ">=18.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "2066932804271ce5f501655ad7fb6525186aa72d"
|
|
61
61
|
}
|
package/src/internal.ts
CHANGED
|
@@ -34,10 +34,9 @@ export {ColorModeProvider} from './contexts/colorMode';
|
|
|
34
34
|
export {useAlternatePageUtils} from './utils/useAlternatePageUtils';
|
|
35
35
|
|
|
36
36
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
getLineNumbersStart,
|
|
37
|
+
type CodeBlockMetadata,
|
|
38
|
+
createCodeBlockMetadata,
|
|
39
|
+
getPrismCssVariables,
|
|
41
40
|
} from './utils/codeBlockUtils';
|
|
42
41
|
|
|
43
42
|
export {DEFAULT_SEARCH_TAG} from './utils/searchUtils';
|
|
@@ -88,7 +87,6 @@ export {
|
|
|
88
87
|
} from './hooks/useKeyboardNavigation';
|
|
89
88
|
export {useLockBodyScroll} from './hooks/useLockBodyScroll';
|
|
90
89
|
export {useCodeWordWrap} from './hooks/useCodeWordWrap';
|
|
91
|
-
export {getPrismCssVariables} from './utils/codeBlockUtils';
|
|
92
90
|
export {useBackToTopButton} from './hooks/useBackToTopButton';
|
|
93
91
|
|
|
94
92
|
export {
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import type {CSSProperties} from 'react';
|
|
8
|
+
import type {CSSProperties, ReactNode} from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
9
10
|
import rangeParser from 'parse-numeric-range';
|
|
10
11
|
import type {PrismTheme, PrismThemeEntry} from 'prism-react-renderer';
|
|
11
12
|
|
|
@@ -184,18 +185,6 @@ export function getLineNumbersStart({
|
|
|
184
185
|
return getMetaLineNumbersStart(metastring);
|
|
185
186
|
}
|
|
186
187
|
|
|
187
|
-
/**
|
|
188
|
-
* Gets the language name from the class name (set by MDX).
|
|
189
|
-
* e.g. `"language-javascript"` => `"javascript"`.
|
|
190
|
-
* Returns undefined if there is no language class name.
|
|
191
|
-
*/
|
|
192
|
-
export function parseLanguage(className: string): string | undefined {
|
|
193
|
-
const languageClassName = className
|
|
194
|
-
.split(' ')
|
|
195
|
-
.find((str) => str.startsWith('language-'));
|
|
196
|
-
return languageClassName?.replace(/language-/, '');
|
|
197
|
-
}
|
|
198
|
-
|
|
199
188
|
type ParseCodeLinesParam = {
|
|
200
189
|
/**
|
|
201
190
|
* The full metastring, as received from MDX. Line ranges declared here
|
|
@@ -214,27 +203,24 @@ type ParseCodeLinesParam = {
|
|
|
214
203
|
magicComments: MagicCommentConfig[];
|
|
215
204
|
};
|
|
216
205
|
|
|
206
|
+
/**
|
|
207
|
+
* The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
|
|
208
|
+
* means the 1st line should have `highlight` and `sample` as class names.
|
|
209
|
+
*/
|
|
210
|
+
type CodeLineClassNames = {[lineIndex: number]: string[]};
|
|
211
|
+
|
|
217
212
|
/**
|
|
218
213
|
* Code lines after applying magic comments or metastring highlight ranges
|
|
219
214
|
*/
|
|
220
|
-
type
|
|
221
|
-
/**
|
|
222
|
-
* If there's number range declared in the metastring, the code block is
|
|
223
|
-
* returned as-is (no parsing); otherwise, this is the clean code with all
|
|
224
|
-
* magic comments stripped away.
|
|
225
|
-
*/
|
|
215
|
+
type ParsedCodeLines = {
|
|
226
216
|
code: string;
|
|
227
|
-
|
|
228
|
-
* The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
|
|
229
|
-
* means the 1st line should have `highlight` and `sample` as class names.
|
|
230
|
-
*/
|
|
231
|
-
lineClassNames: {[lineIndex: number]: string[]};
|
|
217
|
+
lineClassNames: CodeLineClassNames;
|
|
232
218
|
};
|
|
233
219
|
|
|
234
220
|
function parseCodeLinesFromMetastring(
|
|
235
221
|
code: string,
|
|
236
222
|
{metastring, magicComments}: ParseCodeLinesParam,
|
|
237
|
-
):
|
|
223
|
+
): ParsedCodeLines | null {
|
|
238
224
|
// Highlighted lines specified in props: don't parse the content
|
|
239
225
|
if (metastring && metastringLinesRangeRegex.test(metastring)) {
|
|
240
226
|
const linesRange = metastring.match(metastringLinesRangeRegex)!.groups!
|
|
@@ -256,7 +242,7 @@ function parseCodeLinesFromMetastring(
|
|
|
256
242
|
function parseCodeLinesFromContent(
|
|
257
243
|
code: string,
|
|
258
244
|
params: ParseCodeLinesParam,
|
|
259
|
-
):
|
|
245
|
+
): ParsedCodeLines {
|
|
260
246
|
const {language, magicComments} = params;
|
|
261
247
|
if (language === undefined) {
|
|
262
248
|
return {lineClassNames: {}, code};
|
|
@@ -331,17 +317,134 @@ function parseCodeLinesFromContent(
|
|
|
331
317
|
export function parseLines(
|
|
332
318
|
code: string,
|
|
333
319
|
params: ParseCodeLinesParam,
|
|
334
|
-
):
|
|
320
|
+
): ParsedCodeLines {
|
|
335
321
|
// Historical behavior: we remove last line break
|
|
336
322
|
const newCode = code.replace(/\r?\n$/, '');
|
|
337
323
|
// Historical behavior: we try one strategy after the other
|
|
338
324
|
// we don't support mixing metastring ranges + magic comments
|
|
325
|
+
console.log('params', {params, code});
|
|
326
|
+
console.log('from meta', parseCodeLinesFromMetastring(newCode, {...params}));
|
|
327
|
+
console.log('from content', parseCodeLinesFromContent(newCode, {...params}));
|
|
339
328
|
return (
|
|
340
329
|
parseCodeLinesFromMetastring(newCode, {...params}) ??
|
|
341
330
|
parseCodeLinesFromContent(newCode, {...params})
|
|
342
331
|
);
|
|
343
332
|
}
|
|
344
333
|
|
|
334
|
+
/**
|
|
335
|
+
* Gets the language name from the class name (set by MDX).
|
|
336
|
+
* e.g. `"language-javascript"` => `"javascript"`.
|
|
337
|
+
* Returns undefined if there is no language class name.
|
|
338
|
+
*/
|
|
339
|
+
export function parseClassNameLanguage(
|
|
340
|
+
className: string | undefined,
|
|
341
|
+
): string | undefined {
|
|
342
|
+
if (!className) {
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
const languageClassName = className
|
|
346
|
+
.split(' ')
|
|
347
|
+
.find((str) => str.startsWith('language-'));
|
|
348
|
+
return languageClassName?.replace(/language-/, '');
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
// Prism languages are always lowercase
|
|
352
|
+
// We want to fail-safe and allow both "php" and "PHP"
|
|
353
|
+
// See https://github.com/facebook/docusaurus/issues/9012
|
|
354
|
+
function normalizeLanguage(language: string | undefined): string | undefined {
|
|
355
|
+
return language?.toLowerCase();
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
function getLanguage(params: {
|
|
359
|
+
language: string | undefined;
|
|
360
|
+
className: string | undefined;
|
|
361
|
+
defaultLanguage: string | undefined;
|
|
362
|
+
}): string {
|
|
363
|
+
return (
|
|
364
|
+
normalizeLanguage(
|
|
365
|
+
params.language ??
|
|
366
|
+
parseClassNameLanguage(params.className) ??
|
|
367
|
+
params.defaultLanguage,
|
|
368
|
+
) ?? 'text'
|
|
369
|
+
); // There's always a language, required by Prism;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* This ensures that we always have the code block language as className
|
|
374
|
+
* For MDX code blocks this is provided automatically by MDX
|
|
375
|
+
* For JSX code blocks, the language gets added by this function
|
|
376
|
+
* This ensures both cases lead to a consistent HTML output
|
|
377
|
+
*/
|
|
378
|
+
function ensureLanguageClassName({
|
|
379
|
+
className,
|
|
380
|
+
language,
|
|
381
|
+
}: {
|
|
382
|
+
className: string | undefined;
|
|
383
|
+
language: string;
|
|
384
|
+
}): string {
|
|
385
|
+
return clsx(
|
|
386
|
+
className,
|
|
387
|
+
language &&
|
|
388
|
+
!className?.includes(`language-${language}`) &&
|
|
389
|
+
`language-${language}`,
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
export interface CodeBlockMetadata {
|
|
394
|
+
codeInput: string; // Including magic comments
|
|
395
|
+
code: string; // Rendered code, excluding magic comments
|
|
396
|
+
className: string; // There's always a "language-<lang>" className
|
|
397
|
+
language: string;
|
|
398
|
+
title: ReactNode;
|
|
399
|
+
lineNumbersStart: number | undefined;
|
|
400
|
+
lineClassNames: CodeLineClassNames;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
export function createCodeBlockMetadata(params: {
|
|
404
|
+
code: string;
|
|
405
|
+
className: string | undefined;
|
|
406
|
+
language: string | undefined;
|
|
407
|
+
defaultLanguage: string | undefined;
|
|
408
|
+
metastring: string | undefined;
|
|
409
|
+
magicComments: MagicCommentConfig[];
|
|
410
|
+
title: ReactNode;
|
|
411
|
+
showLineNumbers: boolean | number | undefined;
|
|
412
|
+
}): CodeBlockMetadata {
|
|
413
|
+
const language = getLanguage({
|
|
414
|
+
language: params.language,
|
|
415
|
+
defaultLanguage: params.defaultLanguage,
|
|
416
|
+
className: params.className,
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
const {lineClassNames, code} = parseLines(params.code, {
|
|
420
|
+
metastring: params.metastring,
|
|
421
|
+
magicComments: params.magicComments,
|
|
422
|
+
language,
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
const className = ensureLanguageClassName({
|
|
426
|
+
className: params.className,
|
|
427
|
+
language,
|
|
428
|
+
});
|
|
429
|
+
|
|
430
|
+
const title = parseCodeBlockTitle(params.metastring) || params.title;
|
|
431
|
+
|
|
432
|
+
const lineNumbersStart = getLineNumbersStart({
|
|
433
|
+
showLineNumbers: params.showLineNumbers,
|
|
434
|
+
metastring: params.metastring,
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
return {
|
|
438
|
+
codeInput: params.code,
|
|
439
|
+
code,
|
|
440
|
+
className,
|
|
441
|
+
language,
|
|
442
|
+
title,
|
|
443
|
+
lineNumbersStart,
|
|
444
|
+
lineClassNames,
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
|
|
345
448
|
export function getPrismCssVariables(prismTheme: PrismTheme): CSSProperties {
|
|
346
449
|
const mapping: PrismThemeEntry = {
|
|
347
450
|
color: '--prism-color',
|