@docusaurus/theme-common 3.0.1 → 3.1.1
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/components/Details/index.d.ts.map +1 -1
- package/lib/components/Details/index.js +2 -0
- package/lib/components/Details/index.js.map +1 -1
- package/lib/hooks/useWindowSize.d.ts +3 -1
- package/lib/hooks/useWindowSize.d.ts.map +1 -1
- package/lib/hooks/useWindowSize.js +10 -6
- package/lib/hooks/useWindowSize.js.map +1 -1
- package/lib/utils/codeBlockUtils.d.ts.map +1 -1
- package/lib/utils/codeBlockUtils.js +33 -3
- package/lib/utils/codeBlockUtils.js.map +1 -1
- package/package.json +11 -11
- package/src/components/Details/index.tsx +3 -0
- package/src/hooks/useWindowSize.ts +15 -6
- package/src/utils/codeBlockUtils.ts +44 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAGZ,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAGZ,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAqBf,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACjC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAsE5B"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, { useRef, useState, } from 'react';
|
|
8
8
|
import clsx from 'clsx';
|
|
9
|
+
import useBrokenLinks from '@docusaurus/useBrokenLinks';
|
|
9
10
|
import useIsBrowser from '@docusaurus/useIsBrowser';
|
|
10
11
|
import { useCollapsible, Collapsible } from '../Collapsible';
|
|
11
12
|
import styles from './styles.module.css';
|
|
@@ -26,6 +27,7 @@ function hasParent(node, parent) {
|
|
|
26
27
|
* very lightweight styles, but you should bring your UI.
|
|
27
28
|
*/
|
|
28
29
|
export function Details({ summary, children, ...props }) {
|
|
30
|
+
useBrokenLinks().collectAnchor(props.id);
|
|
29
31
|
const isBrowser = useIsBrowser();
|
|
30
32
|
const detailsRef = useRef(null);
|
|
31
33
|
const { collapsed, setCollapsed } = useCollapsible({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ type WindowSize = keyof typeof windowSizes;
|
|
|
20
20
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
21
21
|
* explicit.
|
|
22
22
|
*/
|
|
23
|
-
export declare function useWindowSize(
|
|
23
|
+
export declare function useWindowSize({ desktopBreakpoint, }?: {
|
|
24
|
+
desktopBreakpoint?: number;
|
|
25
|
+
}): WindowSize;
|
|
24
26
|
export {};
|
|
25
27
|
//# sourceMappingURL=useWindowSize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,WAAW;;;;CAIP,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,WAAW;;;;CAIP,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAoB3C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,iBAAqC,GACtC,GAAE;IACD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,UAAU,CAuBlB"}
|
|
@@ -11,12 +11,16 @@ const windowSizes = {
|
|
|
11
11
|
mobile: 'mobile',
|
|
12
12
|
ssr: 'ssr',
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// Note: this value is also hardcoded in Infima
|
|
15
|
+
// Both JS and CSS must have the same value
|
|
16
|
+
// Updating this JS value alone is not enough
|
|
17
|
+
// See https://github.com/facebook/docusaurus/issues/9603
|
|
18
|
+
const DesktopBreakpoint = 996;
|
|
19
|
+
function getWindowSize(desktopBreakpoint) {
|
|
16
20
|
if (!ExecutionEnvironment.canUseDOM) {
|
|
17
21
|
throw new Error('getWindowSize() should only be called after React hydration');
|
|
18
22
|
}
|
|
19
|
-
return window.innerWidth >
|
|
23
|
+
return window.innerWidth > desktopBreakpoint
|
|
20
24
|
? windowSizes.desktop
|
|
21
25
|
: windowSizes.mobile;
|
|
22
26
|
}
|
|
@@ -30,21 +34,21 @@ function getWindowSize() {
|
|
|
30
34
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
31
35
|
* explicit.
|
|
32
36
|
*/
|
|
33
|
-
export function useWindowSize() {
|
|
37
|
+
export function useWindowSize({ desktopBreakpoint = DesktopBreakpoint, } = {}) {
|
|
34
38
|
const [windowSize, setWindowSize] = useState(() =>
|
|
35
39
|
// super important to return a constant value to avoid hydration mismatch
|
|
36
40
|
// see https://github.com/facebook/docusaurus/issues/9379
|
|
37
41
|
'ssr');
|
|
38
42
|
useEffect(() => {
|
|
39
43
|
function updateWindowSize() {
|
|
40
|
-
setWindowSize(getWindowSize());
|
|
44
|
+
setWindowSize(getWindowSize(desktopBreakpoint));
|
|
41
45
|
}
|
|
42
46
|
updateWindowSize();
|
|
43
47
|
window.addEventListener('resize', updateWindowSize);
|
|
44
48
|
return () => {
|
|
45
49
|
window.removeEventListener('resize', updateWindowSize);
|
|
46
50
|
};
|
|
47
|
-
}, []);
|
|
51
|
+
}, [desktopBreakpoint]);
|
|
48
52
|
return windowSize;
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=useWindowSize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,
|
|
1
|
+
{"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,+CAA+C;AAC/C,2CAA2C;AAC3C,6CAA6C;AAC7C,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,SAAS,aAAa,CAAC,iBAAyB;IAC9C,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE;QACnC,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;IAED,OAAO,MAAM,CAAC,UAAU,GAAG,iBAAiB;QAC1C,CAAC,CAAC,WAAW,CAAC,OAAO;QACrB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,iBAAiB,GAAG,iBAAiB,MAGnC,EAAE;IACJ,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,GAAG,EAAE;IACH,yEAAyE;IACzE,yDAAyD;IACzD,KAAK,CACR,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,gBAAgB;YACvB,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,gBAAgB,EAAE,CAAC;QAEnB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -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;AAEzC,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;
|
|
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;AAEzC,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;AAqGF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP;;;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,GACA;IACD;;;OAGG;IACH,cAAc,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAAC;IAChD;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CA4EA;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAc1E"}
|
|
@@ -8,16 +8,27 @@ import rangeParser from 'parse-numeric-range';
|
|
|
8
8
|
const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
|
|
9
9
|
const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
|
|
10
10
|
// Supported types of highlight comments
|
|
11
|
-
const
|
|
11
|
+
const popularCommentPatterns = {
|
|
12
12
|
js: { start: '\\/\\/', end: '' },
|
|
13
13
|
jsBlock: { start: '\\/\\*', end: '\\*\\/' },
|
|
14
14
|
jsx: { start: '\\{\\s*\\/\\*', end: '\\*\\/\\s*\\}' },
|
|
15
15
|
bash: { start: '#', end: '' },
|
|
16
16
|
html: { start: '<!--', end: '-->' },
|
|
17
|
+
};
|
|
18
|
+
const commentPatterns = {
|
|
19
|
+
...popularCommentPatterns,
|
|
20
|
+
// minor comment styles
|
|
17
21
|
lua: { start: '--', end: '' },
|
|
18
22
|
wasm: { start: '\\;\\;', end: '' },
|
|
19
23
|
tex: { start: '%', end: '' },
|
|
24
|
+
vb: { start: "['‘’]", end: '' },
|
|
25
|
+
vbnet: { start: "(?:_\\s*)?['‘’]", end: '' },
|
|
26
|
+
rem: { start: '[Rr][Ee][Mm]\\b', end: '' },
|
|
27
|
+
f90: { start: '!', end: '' },
|
|
28
|
+
ml: { start: '\\(\\*', end: '\\*\\)' },
|
|
29
|
+
cobol: { start: '\\*>', end: '' }, // Free format only
|
|
20
30
|
};
|
|
31
|
+
const popularCommentTypes = Object.keys(popularCommentPatterns);
|
|
21
32
|
function getCommentPattern(languages, magicCommentDirectives) {
|
|
22
33
|
// To be more reliable, the opening and closing comment must match
|
|
23
34
|
const commentPattern = languages
|
|
@@ -64,9 +75,28 @@ function getAllMagicCommentDirectiveStyles(lang, magicCommentDirectives) {
|
|
|
64
75
|
return getCommentPattern(['lua'], magicCommentDirectives);
|
|
65
76
|
case 'wasm':
|
|
66
77
|
return getCommentPattern(['wasm'], magicCommentDirectives);
|
|
78
|
+
case 'vb':
|
|
79
|
+
case 'vba':
|
|
80
|
+
case 'visual-basic':
|
|
81
|
+
return getCommentPattern(['vb', 'rem'], magicCommentDirectives);
|
|
82
|
+
case 'vbnet':
|
|
83
|
+
return getCommentPattern(['vbnet', 'rem'], magicCommentDirectives);
|
|
84
|
+
case 'batch':
|
|
85
|
+
return getCommentPattern(['rem'], magicCommentDirectives);
|
|
86
|
+
case 'basic': // https://github.com/PrismJS/prism/blob/master/components/prism-basic.js#L3
|
|
87
|
+
return getCommentPattern(['rem', 'f90'], magicCommentDirectives);
|
|
88
|
+
case 'fsharp':
|
|
89
|
+
return getCommentPattern(['js', 'ml'], magicCommentDirectives);
|
|
90
|
+
case 'ocaml':
|
|
91
|
+
case 'sml':
|
|
92
|
+
return getCommentPattern(['ml'], magicCommentDirectives);
|
|
93
|
+
case 'fortran':
|
|
94
|
+
return getCommentPattern(['f90'], magicCommentDirectives);
|
|
95
|
+
case 'cobol':
|
|
96
|
+
return getCommentPattern(['cobol'], magicCommentDirectives);
|
|
67
97
|
default:
|
|
68
|
-
// All comment types
|
|
69
|
-
return getCommentPattern(
|
|
98
|
+
// All popular comment types
|
|
99
|
+
return getCommentPattern(popularCommentTypes, magicCommentDirectives);
|
|
70
100
|
}
|
|
71
101
|
}
|
|
72
102
|
export function parseCodeBlockTitle(metastring) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAG9C,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAClE,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAE1D,wCAAwC;AACxC,MAAM,
|
|
1
|
+
{"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-common",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "Common code for Docusaurus themes.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@docusaurus/mdx-loader": "3.
|
|
34
|
-
"@docusaurus/module-type-aliases": "3.
|
|
35
|
-
"@docusaurus/plugin-content-blog": "3.
|
|
36
|
-
"@docusaurus/plugin-content-docs": "3.
|
|
37
|
-
"@docusaurus/plugin-content-pages": "3.
|
|
38
|
-
"@docusaurus/utils": "3.
|
|
39
|
-
"@docusaurus/utils-common": "3.
|
|
33
|
+
"@docusaurus/mdx-loader": "3.1.1",
|
|
34
|
+
"@docusaurus/module-type-aliases": "3.1.1",
|
|
35
|
+
"@docusaurus/plugin-content-blog": "3.1.1",
|
|
36
|
+
"@docusaurus/plugin-content-docs": "3.1.1",
|
|
37
|
+
"@docusaurus/plugin-content-pages": "3.1.1",
|
|
38
|
+
"@docusaurus/utils": "3.1.1",
|
|
39
|
+
"@docusaurus/utils-common": "3.1.1",
|
|
40
40
|
"@types/history": "^4.7.11",
|
|
41
41
|
"@types/react": "*",
|
|
42
42
|
"@types/react-router-config": "*",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"utility-types": "^3.10.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@docusaurus/core": "3.
|
|
51
|
-
"@docusaurus/types": "3.
|
|
50
|
+
"@docusaurus/core": "3.1.1",
|
|
51
|
+
"@docusaurus/types": "3.1.1",
|
|
52
52
|
"fs-extra": "^11.1.1",
|
|
53
53
|
"lodash": "^4.17.21"
|
|
54
54
|
},
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=18.0"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "8017f6a6776ba1bd7065e630a52fe2c2654e2f1b"
|
|
63
63
|
}
|
|
@@ -12,6 +12,7 @@ import React, {
|
|
|
12
12
|
type ReactElement,
|
|
13
13
|
} from 'react';
|
|
14
14
|
import clsx from 'clsx';
|
|
15
|
+
import useBrokenLinks from '@docusaurus/useBrokenLinks';
|
|
15
16
|
import useIsBrowser from '@docusaurus/useIsBrowser';
|
|
16
17
|
import {useCollapsible, Collapsible} from '../Collapsible';
|
|
17
18
|
import styles from './styles.module.css';
|
|
@@ -47,6 +48,8 @@ export function Details({
|
|
|
47
48
|
children,
|
|
48
49
|
...props
|
|
49
50
|
}: DetailsProps): JSX.Element {
|
|
51
|
+
useBrokenLinks().collectAnchor(props.id);
|
|
52
|
+
|
|
50
53
|
const isBrowser = useIsBrowser();
|
|
51
54
|
const detailsRef = useRef<HTMLDetailsElement>(null);
|
|
52
55
|
|
|
@@ -17,15 +17,20 @@ const windowSizes = {
|
|
|
17
17
|
|
|
18
18
|
type WindowSize = keyof typeof windowSizes;
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
// Note: this value is also hardcoded in Infima
|
|
21
|
+
// Both JS and CSS must have the same value
|
|
22
|
+
// Updating this JS value alone is not enough
|
|
23
|
+
// See https://github.com/facebook/docusaurus/issues/9603
|
|
24
|
+
const DesktopBreakpoint = 996;
|
|
21
25
|
|
|
22
|
-
function getWindowSize() {
|
|
26
|
+
function getWindowSize(desktopBreakpoint: number): WindowSize {
|
|
23
27
|
if (!ExecutionEnvironment.canUseDOM) {
|
|
24
28
|
throw new Error(
|
|
25
29
|
'getWindowSize() should only be called after React hydration',
|
|
26
30
|
);
|
|
27
31
|
}
|
|
28
|
-
|
|
32
|
+
|
|
33
|
+
return window.innerWidth > desktopBreakpoint
|
|
29
34
|
? windowSizes.desktop
|
|
30
35
|
: windowSizes.mobile;
|
|
31
36
|
}
|
|
@@ -40,7 +45,11 @@ function getWindowSize() {
|
|
|
40
45
|
* with mediaquery). We don't return `undefined` on purpose, to make it more
|
|
41
46
|
* explicit.
|
|
42
47
|
*/
|
|
43
|
-
export function useWindowSize(
|
|
48
|
+
export function useWindowSize({
|
|
49
|
+
desktopBreakpoint = DesktopBreakpoint,
|
|
50
|
+
}: {
|
|
51
|
+
desktopBreakpoint?: number;
|
|
52
|
+
} = {}): WindowSize {
|
|
44
53
|
const [windowSize, setWindowSize] = useState<WindowSize>(
|
|
45
54
|
() =>
|
|
46
55
|
// super important to return a constant value to avoid hydration mismatch
|
|
@@ -50,7 +59,7 @@ export function useWindowSize(): WindowSize {
|
|
|
50
59
|
|
|
51
60
|
useEffect(() => {
|
|
52
61
|
function updateWindowSize() {
|
|
53
|
-
setWindowSize(getWindowSize());
|
|
62
|
+
setWindowSize(getWindowSize(desktopBreakpoint));
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
updateWindowSize();
|
|
@@ -60,7 +69,7 @@ export function useWindowSize(): WindowSize {
|
|
|
60
69
|
return () => {
|
|
61
70
|
window.removeEventListener('resize', updateWindowSize);
|
|
62
71
|
};
|
|
63
|
-
}, []);
|
|
72
|
+
}, [desktopBreakpoint]);
|
|
64
73
|
|
|
65
74
|
return windowSize;
|
|
66
75
|
}
|
|
@@ -13,18 +13,32 @@ const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
|
|
|
13
13
|
const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
|
|
14
14
|
|
|
15
15
|
// Supported types of highlight comments
|
|
16
|
-
const
|
|
16
|
+
const popularCommentPatterns = {
|
|
17
17
|
js: {start: '\\/\\/', end: ''},
|
|
18
18
|
jsBlock: {start: '\\/\\*', end: '\\*\\/'},
|
|
19
19
|
jsx: {start: '\\{\\s*\\/\\*', end: '\\*\\/\\s*\\}'},
|
|
20
20
|
bash: {start: '#', end: ''},
|
|
21
21
|
html: {start: '<!--', end: '-->'},
|
|
22
|
+
} as const;
|
|
23
|
+
|
|
24
|
+
const commentPatterns = {
|
|
25
|
+
...popularCommentPatterns, // shallow copy is sufficient
|
|
26
|
+
// minor comment styles
|
|
22
27
|
lua: {start: '--', end: ''},
|
|
23
28
|
wasm: {start: '\\;\\;', end: ''},
|
|
24
29
|
tex: {start: '%', end: ''},
|
|
25
|
-
}
|
|
30
|
+
vb: {start: "['‘’]", end: ''},
|
|
31
|
+
vbnet: {start: "(?:_\\s*)?['‘’]", end: ''}, // Visual Studio 2019 or later
|
|
32
|
+
rem: {start: '[Rr][Ee][Mm]\\b', end: ''},
|
|
33
|
+
f90: {start: '!', end: ''}, // Free format only
|
|
34
|
+
ml: {start: '\\(\\*', end: '\\*\\)'},
|
|
35
|
+
cobol: {start: '\\*>', end: ''}, // Free format only
|
|
36
|
+
} as const;
|
|
26
37
|
|
|
27
38
|
type CommentType = keyof typeof commentPatterns;
|
|
39
|
+
const popularCommentTypes = Object.keys(
|
|
40
|
+
popularCommentPatterns,
|
|
41
|
+
) as CommentType[];
|
|
28
42
|
|
|
29
43
|
export type MagicCommentConfig = {
|
|
30
44
|
className: string;
|
|
@@ -99,15 +113,35 @@ function getAllMagicCommentDirectiveStyles(
|
|
|
99
113
|
case 'wasm':
|
|
100
114
|
return getCommentPattern(['wasm'], magicCommentDirectives);
|
|
101
115
|
|
|
116
|
+
case 'vb':
|
|
117
|
+
case 'vba':
|
|
118
|
+
case 'visual-basic':
|
|
119
|
+
return getCommentPattern(['vb', 'rem'], magicCommentDirectives);
|
|
120
|
+
case 'vbnet':
|
|
121
|
+
return getCommentPattern(['vbnet', 'rem'], magicCommentDirectives);
|
|
122
|
+
|
|
123
|
+
case 'batch':
|
|
124
|
+
return getCommentPattern(['rem'], magicCommentDirectives);
|
|
125
|
+
|
|
126
|
+
case 'basic': // https://github.com/PrismJS/prism/blob/master/components/prism-basic.js#L3
|
|
127
|
+
return getCommentPattern(['rem', 'f90'], magicCommentDirectives);
|
|
128
|
+
|
|
129
|
+
case 'fsharp':
|
|
130
|
+
return getCommentPattern(['js', 'ml'], magicCommentDirectives);
|
|
131
|
+
|
|
132
|
+
case 'ocaml':
|
|
133
|
+
case 'sml':
|
|
134
|
+
return getCommentPattern(['ml'], magicCommentDirectives);
|
|
135
|
+
|
|
136
|
+
case 'fortran':
|
|
137
|
+
return getCommentPattern(['f90'], magicCommentDirectives);
|
|
138
|
+
|
|
139
|
+
case 'cobol':
|
|
140
|
+
return getCommentPattern(['cobol'], magicCommentDirectives);
|
|
141
|
+
|
|
102
142
|
default:
|
|
103
|
-
// All comment types
|
|
104
|
-
return getCommentPattern(
|
|
105
|
-
Object.keys(commentPatterns).filter(
|
|
106
|
-
(pattern) =>
|
|
107
|
-
!['lua', 'wasm', 'tex', 'latex', 'matlab'].includes(pattern),
|
|
108
|
-
) as CommentType[],
|
|
109
|
-
magicCommentDirectives,
|
|
110
|
-
);
|
|
143
|
+
// All popular comment types
|
|
144
|
+
return getCommentPattern(popularCommentTypes, magicCommentDirectives);
|
|
111
145
|
}
|
|
112
146
|
}
|
|
113
147
|
|