@rasenganjs/mdx 1.1.7 → 1.2.0-beta.0
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/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/lib/components/codeblock.js +1 -1
- package/lib/components/codeblock.js.map +1 -1
- package/lib/components/codeblock2.js +1 -1
- package/lib/components/codeblock2.js.map +1 -1
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +2 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/markdown.js +1 -2
- package/lib/components/markdown.js.map +1 -1
- package/lib/components/renderer.js +27 -9
- package/lib/components/renderer.js.map +1 -1
- package/lib/components/toc.js +4 -51
- package/lib/components/toc.js.map +1 -1
- package/lib/hooks/use-toc-observer.d.ts +8 -0
- package/lib/hooks/use-toc-observer.js +60 -0
- package/lib/hooks/use-toc-observer.js.map +1 -0
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/styles/rasengan-mdx.min.css +1 -1
- package/lib/types/index.d.ts +1 -11
- package/lib/utils/create-heading.d.ts +4 -0
- package/lib/utils/create-heading.js +19 -0
- package/lib/utils/create-heading.js.map +1 -0
- package/lib/utils/index.d.ts +3 -8
- package/lib/utils/index.js +3 -5
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/plugin.d.ts +5 -0
- package/lib/utils/plugin.js +34 -0
- package/lib/utils/plugin.js.map +1 -1
- package/package.json +16 -16
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ import { renderToString } from 'react-dom/server';
|
|
|
12
12
|
* @param {string} [props.className] - The CSS class name to apply to the code block.
|
|
13
13
|
* @returns {React.ReactElement} - The rendered code block component.
|
|
14
14
|
*/
|
|
15
|
-
export const CodeBlock = ({ children, className = '', ...rest }) => {
|
|
15
|
+
export const CodeBlock = ({ children = '', className = '', ...rest }) => {
|
|
16
16
|
const language = rest['data-language'] || '';
|
|
17
17
|
const numbers = rest['data-line-numbers'];
|
|
18
18
|
const [hover, setHover] = React.useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeblock.js","sourceRoot":"","sources":["../../src/components/codeblock.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,
|
|
1
|
+
{"version":3,"file":"codeblock.js","sourceRoot":"","sources":["../../src/components/codeblock.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,EAAE,EACd,GAAG,IAAI,EACQ,EAAsB,EAAE;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB;;;WAGG;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb;;;;OAIG;IACH,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE1C,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAC,WAAW,cAAE,QAAQ,GAAe,CAAC;IAC/C,CAAC;IAED,OAAO,CACL,eACE,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAClC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAElC,KAAK,CAAC,CAAC,CAAC,CACP,iBAAQ,SAAS,EAAC,aAAa,EAAC,OAAO,EAAE,UAAU,YAChD,MAAM,CAAC,CAAC,CAAC,CACR,eACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,MAAM,aAEX,eACE,CAAC,EAAC,mHAAmH,EACrH,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,GACjB,EACF,eACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,MAAM,aAEX,eACE,CAAC,EAAC,sRAAsR,EACxR,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,EACF,eACE,CAAC,EAAC,gXAAgX,EAClX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP,GACM,CACV,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,MAAM,YAAE,QAAQ,GAAQ,CACzC,EACD,eACE,SAAS,EAAE,GAAG,SAAS,aAAa,uBACjB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,YAExD,QAAQ,GACJ,IACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,GACuB,EAAsB,EAAE;IACvD,OAAO,eAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,CAAC;AAC1D,CAAC,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { SimpleBlock } from './codeblock.js';
|
|
|
13
13
|
* @param {string} [props.className] - The CSS class name to apply to the code block.
|
|
14
14
|
* @returns {React.ReactElement} - The rendered code block component.
|
|
15
15
|
*/
|
|
16
|
-
export const CodeBlock2 = ({ children, className = '', }) => {
|
|
16
|
+
export const CodeBlock2 = ({ children = '', className = '', }) => {
|
|
17
17
|
const language = className.replace(/language-/, '');
|
|
18
18
|
const [hover, setHover] = React.useState(false);
|
|
19
19
|
if (!language) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeblock2.js","sourceRoot":"","sources":["../../src/components/codeblock2.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,QAAQ,
|
|
1
|
+
{"version":3,"file":"codeblock2.js","sourceRoot":"","sources":["../../src/components/codeblock2.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MDXRenderer } from './renderer.js';
|
|
2
2
|
import { Markdown } from './markdown.js';
|
|
3
3
|
import { TableOfContents } from './toc.js';
|
|
4
|
-
|
|
4
|
+
import { CodeBlock } from './codeblock.js';
|
|
5
|
+
export { Markdown, MDXRenderer, TableOfContents, CodeBlock };
|
package/lib/components/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { MDXRenderer } from './renderer.js';
|
|
3
3
|
import { Markdown } from './markdown.js';
|
|
4
4
|
import { TableOfContents } from './toc.js';
|
|
5
|
+
import { CodeBlock } from './codeblock.js';
|
|
5
6
|
// Export statements
|
|
6
|
-
export { Markdown, MDXRenderer, TableOfContents };
|
|
7
|
+
export { Markdown, MDXRenderer, TableOfContents, CodeBlock };
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -12,8 +12,7 @@ function Markdown({ content, className, overwriteStyle, }) {
|
|
|
12
12
|
return (_jsx("section", { className: `${className} ${overwriteStyle ? '' : 'rasengan-markdown-body'}`, children: _jsx(MarkdownComponent, { children: content, remarkPlugins: [remarkParse, remarkGfm], rehypePlugins: [
|
|
13
13
|
remarkRehype,
|
|
14
14
|
rehypeStringify,
|
|
15
|
-
//
|
|
16
|
-
// }]
|
|
15
|
+
// rehypePrettyCode
|
|
17
16
|
], components: {
|
|
18
17
|
code: CodeBlock2,
|
|
19
18
|
table: Table,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/components/markdown.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,iBAAiB,MAAM,gBAAgB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,SAAS,EACT,cAAc,GAKf;IACC,OAAO,CACL,kBACE,SAAS,EAAE,GAAG,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE,YAE3E,KAAC,iBAAiB,IAChB,QAAQ,EAAE,OAAO,EACjB,aAAa,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,aAAa,EAAE;gBACb,YAAY;gBACZ,eAAe;gBACf,
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/components/markdown.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,iBAAiB,MAAM,gBAAgB,CAAC;AAC/C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,SAAS,EACT,cAAc,GAKf;IACC,OAAO,CACL,kBACE,SAAS,EAAE,GAAG,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,EAAE,YAE3E,KAAC,iBAAiB,IAChB,QAAQ,EAAE,OAAO,EACjB,aAAa,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,aAAa,EAAE;gBACb,YAAY;gBACZ,eAAe;gBACf,mBAAmB;aACpB,EACD,UAAU,EAAE;gBACV,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC/B,GACD,GACM,CACX,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -3,6 +3,9 @@ import { CodeBlock } from './codeblock.js';
|
|
|
3
3
|
import { Table } from './table.js';
|
|
4
4
|
import { Heading } from './heading.js';
|
|
5
5
|
import TableOfContents from './toc.js';
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
import config from 'virtual:rasengan/mdx-components';
|
|
8
|
+
import createHeading from '../utils/create-heading.js';
|
|
6
9
|
/**
|
|
7
10
|
* Renders an MDX content component with a custom code block component.
|
|
8
11
|
*
|
|
@@ -12,16 +15,31 @@ import TableOfContents from './toc.js';
|
|
|
12
15
|
* @returns {React.ReactElement} - The rendered MDX content with the custom code block component.
|
|
13
16
|
*/
|
|
14
17
|
const MDXRenderer = ({ children: MDXContent, className, }) => {
|
|
18
|
+
const { components = {}, toc = undefined } = config;
|
|
15
19
|
return (_jsxs("section", { className: MDXContent.toc ? 'rasengan-wrapper-with-toc' : 'rasengan-wrapper', children: [_jsx("section", { className: 'rasengan-markdown-body ' + className, children: _jsx(MDXContent, { components: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
...components,
|
|
21
|
+
code: components.code ? components.code : CodeBlock,
|
|
22
|
+
table: components.table ? components.table : Table,
|
|
23
|
+
h1: components.h1
|
|
24
|
+
? createHeading(components.h1)
|
|
25
|
+
: Heading({ variant: 'h1' }),
|
|
26
|
+
h2: components.h2
|
|
27
|
+
? createHeading(components.h2)
|
|
28
|
+
: Heading({ variant: 'h2' }),
|
|
29
|
+
h3: components.h3
|
|
30
|
+
? createHeading(components.h3)
|
|
31
|
+
: Heading({ variant: 'h3' }),
|
|
32
|
+
h4: components.h4
|
|
33
|
+
? createHeading(components.h4)
|
|
34
|
+
: Heading({ variant: 'h4' }),
|
|
35
|
+
h5: components.h5
|
|
36
|
+
? createHeading(components.h5)
|
|
37
|
+
: Heading({ variant: 'h5' }),
|
|
38
|
+
h6: components.h6
|
|
39
|
+
? createHeading(components.h6)
|
|
40
|
+
: Heading({ variant: 'h6' }),
|
|
41
|
+
} }) }), MDXContent.toc &&
|
|
42
|
+
(toc ? (toc(MDXContent.toc)) : (_jsx(TableOfContents, { items: MDXContent.toc })))] }));
|
|
25
43
|
};
|
|
26
44
|
export { MDXRenderer };
|
|
27
45
|
//# sourceMappingURL=renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/components/renderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,eAAe,MAAM,UAAU,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EAAE,UAAU,EACpB,SAAS,GACQ,EAAsB,EAAE;IACzC,OAAO,CACL,mBACE,SAAS,EACP,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,aAGnE,kBAAS,SAAS,EAAE,yBAAyB,GAAG,SAAS,YACvD,KAAC,UAAU,IACT,UAAU,EAAE;wBACV,IAAI,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/components/renderer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,eAAe,MAAM,UAAU,CAAC;AAEvC,aAAa;AACb,OAAO,MAAM,MAAM,iCAAiC,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,CAAC,EACnB,QAAQ,EAAE,UAAU,EACpB,SAAS,GACQ,EAAsB,EAAE;IACzC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC;IAEpD,OAAO,CACL,mBACE,SAAS,EACP,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,kBAAkB,aAGnE,kBAAS,SAAS,EAAE,yBAAyB,GAAG,SAAS,YACvD,KAAC,UAAU,IACT,UAAU,EAAE;wBACV,GAAG,UAAU;wBACb,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBACnD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;wBAClD,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBAC9B,EAAE,EAAE,UAAU,CAAC,EAAE;4BACf,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qBAC/B,GACD,GACM,EAET,UAAU,CAAC,GAAG;gBACb,CAAC,GAAG,CAAC,CAAC,CAAC,CACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CACpB,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,KAAK,EAAE,UAAU,CAAC,GAAG,GAAI,CAC3C,CAAC,IACI,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/lib/components/toc.js
CHANGED
|
@@ -1,59 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, {
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
|
+
import { useActiveTocItem } from '../hooks/use-toc-observer.js';
|
|
3
4
|
export const TableOfContents = ({ items }) => {
|
|
4
|
-
const [activeId, setActiveId] =
|
|
5
|
-
const observerRef = useRef(null);
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
// Create an Intersection Observer to track which section is in view
|
|
8
|
-
const observerOptions = {
|
|
9
|
-
root: null,
|
|
10
|
-
rootMargin: '0px',
|
|
11
|
-
threshold: 0.4, // Trigger when 40% of the section is visible
|
|
12
|
-
};
|
|
13
|
-
observerRef.current = new IntersectionObserver((entries) => {
|
|
14
|
-
entries.forEach((entry) => {
|
|
15
|
-
if (entry.isIntersecting) {
|
|
16
|
-
const rect = entry.boundingClientRect;
|
|
17
|
-
if (rect.top >= 0) {
|
|
18
|
-
// Scrolling Down: Set the first intersecting element as active
|
|
19
|
-
setActiveId(entry.target.id);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
// Sort entries by bottom position when scrolling down
|
|
24
|
-
const sortedEntries = entries
|
|
25
|
-
.filter((entry) => entry.isIntersecting)
|
|
26
|
-
.sort((a, b) => b.boundingClientRect.top - a.boundingClientRect.top);
|
|
27
|
-
if (sortedEntries.length > 0) {
|
|
28
|
-
setActiveId(sortedEntries[0].target.id);
|
|
29
|
-
}
|
|
30
|
-
}, observerOptions);
|
|
31
|
-
// Observe all sections with IDs matching TOC anchors
|
|
32
|
-
items.forEach((item) => {
|
|
33
|
-
// Observe items of level 2
|
|
34
|
-
const element = document.getElementById(item.anchor.id);
|
|
35
|
-
if (element && observerRef.current) {
|
|
36
|
-
observerRef.current.observe(element);
|
|
37
|
-
}
|
|
38
|
-
// Observe items of level 3
|
|
39
|
-
item.children.forEach((item) => {
|
|
40
|
-
const element = document.getElementById(item.anchor.id);
|
|
41
|
-
if (element && observerRef.current) {
|
|
42
|
-
observerRef.current.observe(element);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
// Cleanup observer on unmount
|
|
47
|
-
return () => {
|
|
48
|
-
if (observerRef.current) {
|
|
49
|
-
observerRef.current.disconnect();
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}, [items]);
|
|
5
|
+
const [activeId, setActiveId] = useActiveTocItem(items);
|
|
53
6
|
const renderTOCItems = useCallback((items) => {
|
|
54
7
|
return items.map((item, index) => (_jsxs(React.Fragment, { children: [_jsx(Item, { item: item, activeId: activeId, onActive: setActiveId }), item.children && item.children.length > 0 && (_jsx("div", { className: "toc-item--children", children: renderTOCItems(item.children) }))] }, index)));
|
|
55
8
|
}, [items, activeId]);
|
|
56
|
-
return (_jsxs("div", { className: "table-of-contents", children: [_jsx("h2", { className: "title", children: "ON THIS PAGE" }), _jsx("div", { className: "items-container", children: renderTOCItems(items) })
|
|
9
|
+
return (_jsx("aside", { className: "rasengan-toc", children: _jsxs("div", { className: "table-of-contents", children: [_jsx("h2", { className: "title", children: "ON THIS PAGE" }), _jsx("div", { className: "items-container", children: renderTOCItems(items) })] }) }));
|
|
57
10
|
};
|
|
58
11
|
const Item = ({ item, activeId, onActive }) => {
|
|
59
12
|
const handleClick = (e, id) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toc.js","sourceRoot":"","sources":["../../src/components/toc.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"toc.js","sourceRoot":"","sources":["../../src/components/toc.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMhE,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC3E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAgB,EAAE,EAAE;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAChC,MAAC,KAAK,CAAC,QAAQ,eACb,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,GAAI,EAC9D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5C,cAAK,SAAS,EAAC,oBAAoB,YAChC,cAAc,CAAC,IAAI,CAAC,QAAqB,CAAC,GACvC,CACP,KANkB,KAAK,CAOT,CAClB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,gBAAO,SAAS,EAAC,cAAc,YAC7B,eAAK,SAAS,EAAC,mBAAmB,aAChC,aAAI,SAAS,EAAC,OAAO,6BAAkB,EACvC,cAAK,SAAS,EAAC,iBAAiB,YAAE,cAAc,CAAC,KAAK,CAAC,GAAO,IAC1D,GACA,CACT,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAa,EAAE,EAAE;IACvD,MAAM,WAAW,GAAG,CAClB,CAAkD,EAClD,EAAU,EACV,EAAE;QACF,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEb,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEhD,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;IAC1D,CAAC,CAAC;IAEF,OAAO,CACL,cAEE,SAAS,EAAE;;YAEL,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACtC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC9C,YAEH,YACE,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAC1B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAE9C,cAAK,SAAS,EAAC,iBAAiB,YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAO,GACvD,IAZC,IAAI,CAAC,MAAM,CAAC,EAAE,CAaf,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TOCItem } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook that tracks which TOC item is currently active based on scroll position
|
|
4
|
+
* @param items - Array of TOC items to observe
|
|
5
|
+
* @param options - IntersectionObserver options
|
|
6
|
+
* @returns The ID of the currently active TOC item
|
|
7
|
+
*/
|
|
8
|
+
export declare function useActiveTocItem(items: TOCItem[], options?: IntersectionObserverInit): [string | null, (id: string | null) => void];
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useState, useEffect, useRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook that tracks which TOC item is currently active based on scroll position
|
|
4
|
+
* @param items - Array of TOC items to observe
|
|
5
|
+
* @param options - IntersectionObserver options
|
|
6
|
+
* @returns The ID of the currently active TOC item
|
|
7
|
+
*/
|
|
8
|
+
export function useActiveTocItem(items, options = {
|
|
9
|
+
root: null,
|
|
10
|
+
rootMargin: '0px',
|
|
11
|
+
threshold: 0.4, // Trigger when 40% of the section is visible
|
|
12
|
+
}) {
|
|
13
|
+
const [activeId, setActiveId] = useState(null);
|
|
14
|
+
const observerRef = useRef(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
observerRef.current = new IntersectionObserver((entries) => {
|
|
17
|
+
entries.forEach((entry) => {
|
|
18
|
+
if (entry.isIntersecting) {
|
|
19
|
+
const rect = entry.boundingClientRect;
|
|
20
|
+
if (rect.top >= 0) {
|
|
21
|
+
setActiveId(entry.target.id);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
// Sort entries by bottom position when scrolling down
|
|
26
|
+
const sortedEntries = entries
|
|
27
|
+
.filter((entry) => entry.isIntersecting)
|
|
28
|
+
.sort((a, b) => b.boundingClientRect.top - a.boundingClientRect.top);
|
|
29
|
+
if (sortedEntries.length > 0) {
|
|
30
|
+
setActiveId(sortedEntries[0].target.id);
|
|
31
|
+
}
|
|
32
|
+
}, options);
|
|
33
|
+
// Observe all sections with IDs matching TOC anchors
|
|
34
|
+
const observeElements = () => {
|
|
35
|
+
items.forEach((item) => {
|
|
36
|
+
// Observe items of level 2
|
|
37
|
+
const element = document.getElementById(item.anchor.id);
|
|
38
|
+
if (element && observerRef.current) {
|
|
39
|
+
observerRef.current.observe(element);
|
|
40
|
+
}
|
|
41
|
+
// Observe items of level 3
|
|
42
|
+
item.children?.forEach((child) => {
|
|
43
|
+
const childElement = document.getElementById(child.anchor.id);
|
|
44
|
+
if (childElement && observerRef.current) {
|
|
45
|
+
observerRef.current.observe(childElement);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
observeElements();
|
|
51
|
+
// Cleanup observer on unmount
|
|
52
|
+
return () => {
|
|
53
|
+
if (observerRef.current) {
|
|
54
|
+
observerRef.current.disconnect();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}, [items, options]);
|
|
58
|
+
return [activeId, setActiveId];
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=use-toc-observer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toc-observer.js","sourceRoot":"","sources":["../../src/hooks/use-toc-observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,UAAoC;IAClC,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,GAAG,EAAE,6CAA6C;CAC9D;IAED,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;YACzD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC;oBACtC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;wBAClB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,MAAM,aAAa,GAAG,OAAO;iBAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;iBACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,qDAAqD;QACrD,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACnC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC9D,IAAI,YAAY,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,eAAe,EAAE,CAAC;QAElB,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACjC,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* This package is inspired by @mdx-js/rollup to provide a custom implement of the MDX plugin for RasenganJs.
|
|
7
7
|
*/
|
|
8
8
|
import { extractTOC } from './utils/extract-toc.js';
|
|
9
|
+
import { defineMDXConfig } from './utils/define-mdx-config.js';
|
|
9
10
|
export * from './types/index.js';
|
|
10
11
|
export * from './components/index.js';
|
|
11
|
-
export { extractTOC };
|
|
12
|
+
export { extractTOC, defineMDXConfig };
|
|
13
|
+
export { useActiveTocItem } from './hooks/use-toc-observer.js';
|
package/lib/index.js
CHANGED
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
// Import statements
|
|
9
9
|
import { extractTOC } from './utils/extract-toc.js';
|
|
10
|
-
|
|
10
|
+
import { defineMDXConfig } from './utils/define-mdx-config.js';
|
|
11
11
|
// Export statements
|
|
12
12
|
export * from './types/index.js';
|
|
13
13
|
export * from './components/index.js';
|
|
14
|
-
export { extractTOC };
|
|
14
|
+
export { extractTOC, defineMDXConfig };
|
|
15
|
+
export { useActiveTocItem } from './hooks/use-toc-observer.js';
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--bg:transparent;--bg-light:#f5f5f5;--bg-code:#282c34;--bg-code-highlight:#30313e;--bg-code-highlight-2:#494c54;--fg:#333;--fg-code:#adbac7;--fg-light:#666;--fg-dark:#000;--fg-accent:#007bff;--border:#eee;--border-dark:#494c54;--table-border:#d1d5dc;--container-2xs:18rem;--text-3xl:1.875rem;--text-2xl:1.5rem;--text-xl:1.25rem;--text-lg:1.125rem;--text-md:1rem;--text-sm:0.875rem;--ra-spacing:0.25;--mb-3xl:calc(var(--text-3xl) * var(--ra-spacing));--mb-2xl:calc(var(--text-2xl) * var(--ra-spacing));--mb-xl:calc(var(--text-xl) * var(--ra-spacing));--mb-lg:calc(var(--text-lg) * var(--ra-spacing));--mb-md:calc(var(--text-md) * var(--ra-spacing));--mb-sm:calc(var(--text-sm) * var(--ra-spacing))}.dark{--bg:#212121;--bg-light:#30313e55;--bg-code:#282c34;--bg-code-highlight:#30313e;--fg:#eee;--fg-code:#abb2bf;--fg-light:#ccc;--fg-dark:#fff;--fg-accent:#007bff;--border:#2f2f2f;--border-dark:#494c54;--table-border:#4b5563}.rasengan-wrapper,.rasengan-wrapper-with-toc{position:relative}.rasengan-wrapper-with-toc{margin-left:auto;margin-right:auto;display:grid;width:100%;
|
|
1
|
+
:root{--bg:transparent;--bg-light:#f5f5f5;--bg-code:#282c34;--bg-code-highlight:#30313e;--bg-code-highlight-2:#494c54;--fg:#333;--fg-code:#adbac7;--fg-light:#666;--fg-dark:#000;--fg-accent:#007bff;--border:#eee;--border-dark:#494c54;--table-border:#d1d5dc;--container-2xs:18rem;--text-3xl:1.875rem;--text-2xl:1.5rem;--text-xl:1.25rem;--text-lg:1.125rem;--text-md:1rem;--text-sm:0.875rem;--ra-spacing:0.25;--mb-3xl:calc(var(--text-3xl) * var(--ra-spacing));--mb-2xl:calc(var(--text-2xl) * var(--ra-spacing));--mb-xl:calc(var(--text-xl) * var(--ra-spacing));--mb-lg:calc(var(--text-lg) * var(--ra-spacing));--mb-md:calc(var(--text-md) * var(--ra-spacing));--mb-sm:calc(var(--text-sm) * var(--ra-spacing))}.dark{--bg:#212121;--bg-light:#30313e55;--bg-code:#282c34;--bg-code-highlight:#30313e;--fg:#eee;--fg-code:#abb2bf;--fg-light:#ccc;--fg-dark:#fff;--fg-accent:#007bff;--border:#2f2f2f;--border-dark:#494c54;--table-border:#4b5563}.rasengan-wrapper,.rasengan-wrapper-with-toc{position:relative}.rasengan-wrapper-with-toc{margin-left:auto;margin-right:auto;display:grid;width:100%;grid-template-columns:1fr;gap:2.5rem;padding-left:2.5rem}.rasengan-markdown-body{width:100%;position:relative;box-sizing:border-box;margin:0;font-weight:400;padding-left:1rem;padding-right:1rem;padding-top:2.5rem;padding-bottom:6rem}.rasengan-toc>.table-of-contents{position:sticky;top:3.5rem;max-height:calc(100vh - 3.5rem);overflow-x:hidden;padding-left:1.5rem;padding-right:1.5rem;padding-top:2.5rem;padding-bottom:6rem}.rasengan-toc>.table-of-contents .title{font-size:.675rem;margin-bottom:1rem;color:var(--fg-dark)}.rasengan-toc>.table-of-contents .items-container{display:flex;flex-direction:column}.rasengan-toc>.table-of-contents .toc-item{cursor:pointer;padding-left:.5rem;border-left:1px solid var(--border);transition:all .2s ease;color:var(--fg)}.rasengan-toc>.table-of-contents .toc-item:hover{border-left-color:var(--fg-accent);color:var(--fg-accent)}.rasengan-toc>.table-of-contents .toc-item.active{border-left-color:var(--fg-accent);color:var(--fg-accent)}.rasengan-toc>.table-of-contents .toc-item.active .toc-item--title{font-weight:700}.rasengan-toc>.table-of-contents .toc-item--title{font-size:.875rem;padding-top:.25rem;padding-bottom:.25rem}.rasengan-toc>.table-of-contents .level2{padding-left:1rem}.rasengan-toc>.table-of-contents .level3{padding-left:2rem}.rasengan-markdown-body .ra-heading-wrapper{display:flex;align-items:center;justify-content:start}.rasengan-markdown-body .ra-heading-wrapper:has(h1){margin-bottom:1rem;font-size:var(--text-3xl);font-weight:700}.rasengan-markdown-body .ra-heading-wrapper:has(h2){font-size:var(--text-2xl);border-bottom:1px solid var(--border);margin-bottom:1rem;margin-top:2rem;font-weight:700}.rasengan-markdown-body .ra-heading-wrapper:has(h3){font-size:var(--text-xl);margin-bottom:var(--mb-xl);margin-top:2rem;font-weight:700}.rasengan-markdown-body .ra-heading-wrapper:has(h4){font-size:var(--text-lg);margin-bottom:var(--mb-lg);margin-top:2rem;font-weight:700}.rasengan-markdown-body .ra-heading-wrapper:has(h5){font-size:var(--text-md);margin-bottom:var(--mb-md);margin-top:2rem;font-weight:700}.rasengan-markdown-body .ra-heading-wrapper:has(h6){font-size:var(--text-sm);margin-bottom:var(--mb-sm);margin-top:2rem;font-weight:700}.rasengan-markdown-body .ra-heading-wrapper a{margin:.67em 0;margin-left:.5em;color:var(--border);opacity:0;transition:all .3s}.rasengan-markdown-body .ra-heading-wrapper a>svg{color:var(--fg)}.rasengan-markdown-body .ra-heading-wrapper a:hover>svg{color:var(--fg-accent)}.rasengan-markdown-body .ra-heading-wrapper:has(h2) a{font-size:2em;text-decoration:none}.rasengan-markdown-body .ra-heading-wrapper:has(h3) a{font-size:1.5em;text-decoration:none}.rasengan-markdown-body .ra-heading-wrapper:has(h4) a{font-size:1em;text-decoration:none}.rasengan-markdown-body .ra-heading-wrapper:hover a{opacity:1;cursor:pointer}.rasengan-markdown-body .ra-heading-wrapper:hover a:hover{transform:scale(1.1)}.rasengan-markdown-body h2:hover::after,.rasengan-markdown-body h3:hover::after,.rasengan-markdown-body h4:hover::after{opacity:1;cursor:pointer}.rasengan-markdown-body hr{color:var(--border);margin:var(--mb-sm) 0}.rasengan-markdown-body code.simple-block{font-size:.8em;font-family:'JetBrains Mono',monospace;border-radius:5px;padding:2px 3.6px;margin:auto 0;background-color:var(--bg-light);border:1px solid var(--border)}.rasengan-markdown-body figure:has(pre[data-language]){background-color:var(--bg-code);border-radius:8px;margin:10px 0;color:var(--fg-code);border:1px solid var(--border);overflow:hidden}.rasengan-markdown-body figure:has(pre[data-language]) figcaption{padding:10px 20px;font-size:14px;font-weight:400;background-color:var(--bg-code-highlight);border-bottom:1px solid var(--border-dark)}.rasengan-markdown-body code[data-line-numbers]{counter-reset:line}.rasengan-markdown-body pre[data-language]{position:relative;border-radius:8px;border:none;margin:0}.rasengan-markdown-body pre[data-language] code{font-family:'JetBrains Mono',monospace;font-size:14px;overflow-x:auto}.rasengan-markdown-body pre[data-language]>div code{display:grid;grid-template-columns:1fr;line-height:1.6;word-wrap:break-word;padding:16px 0}.rasengan-markdown-body pre[data-language] code>span{padding:0 16px;border-left:4px solid transparent}.rasengan-markdown-body pre[data-language] code[data-line-numbers]>span{padding:0 5px}.rasengan-markdown-body pre[data-language] mark[data-highlighted-chars]{background-color:var(--bg-code-highlight-2);border-radius:5px;padding:0 5px}.rasengan-markdown-body pre[data-language] span[data-highlighted-line]{background-color:var(--bg-code-highlight);border-left:4px solid var(--fg-accent)}.rasengan-markdown-body code[data-line-numbers] span[data-line]:before{counter-increment:line;content:counter(line);display:inline-block;width:2ch;color:#6a737d;text-align:right;margin-right:16px;opacity:.9}.rasengan-markdown-body code.code-block{position:relative;display:block;padding:20px 0;font-size:14px;max-height:800px;overflow:auto}.rasengan-markdown-body pre[data-language] button,.rasengan-markdown-body pre[data-language] span.lang{position:absolute;top:15px;right:15px;transition:all .2s;z-index:10}.rasengan-markdown-body pre[data-language] span.lang{font-size:12px;opacity:.8;color:var(--fg-code);padding:2px 5px;border-radius:5px;background-color:var(--bg-code-highlight);border:1px solid var(--border-dark)}.rasengan-markdown-body pre[data-language] code{font-family:'JetBrains Mono',monospace}.rasengan-markdown-body pre[data-language] button{opacity:.6;cursor:pointer;width:24px;height:24px;border-radius:5px;border:1px solid var(--border-dark);background-color:var(--bg-code-highlight);display:flex;align-items:center;justify-content:center}.rasengan-markdown-body pre[data-language]:hover>div button:hover{opacity:1}.rasengan-markdown-body .ra-table-wrapper{overflow-x:auto}.rasengan-markdown-body .ra-table-wrapper table{border-collapse:collapse;color:var(--fg);margin:.67em 0;width:100%;min-width:600px;overflow-x:auto}.rasengan-markdown-body .ra-table-wrapper th{background-color:transparent;color:var(--fg);font-weight:700}.rasengan-markdown-body .ra-table-wrapper td,.rasengan-markdown-body .ra-table-wrapper th{padding:10px 20px;border:1px solid var(--border);transition:all .3s;cursor:pointer}.rasengan-markdown-body .ra-table-wrapper tr:nth-child(2n){background-color:var(--bg-light)}.rasengan-markdown-body .ra-table-wrapper tr:nth-child(odd){background-color:transparent}.rasengan-markdown-body .ra-table-wrapper tr:hover{background-color:var(--bg-light)}.rasengan-markdown-body ol,.rasengan-markdown-body ul{margin:.67em 0;color:var(--fg);padding-left:15px}.rasengan-markdown-body ul{list-style:disc}.rasengan-markdown-body ul:has(li > input){list-style:none}.rasengan-markdown-body ol li,.rasengan-markdown-body ul li{margin:.67em 0;color:var(--fg)}.rasengan-markdown-body ol li input,.rasengan-markdown-body ul li input{margin-right:.3em}.rasengan-markdown-body ol li input:checked,.rasengan-markdown-body ul li input{background-color:var(--fg-accent);color:var(--bg)}.rasengan-markdown-body blockquote{border-left:4px solid var(--border);padding-left:1em;margin:1em 0}.rasengan-markdown-body blockquote p{margin:0}@media (min-width:1280px){.rasengan-wrapper-with-toc{grid-template-columns:minmax(0,1fr) var(--container-2xs)}.rasengan-markdown-body{padding-right:0;max-width:50rem;margin:0 auto}}@media (max-width:1279px){.rasengan-wrapper-with-toc>.rasengan-toc{display:none}.rasengan-wrapper-with-toc{display:block;padding-left:0}}@media (min-width:640px){.rasengan-markdown-body{padding-left:1.5rem;padding-right:1.5rem}}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -55,19 +55,9 @@ export type NavigationStructure = {
|
|
|
55
55
|
level: number;
|
|
56
56
|
children?: NavigationStructure[];
|
|
57
57
|
};
|
|
58
|
-
type HeadingConfigProps = {
|
|
59
|
-
fullText: string;
|
|
60
|
-
text: string;
|
|
61
|
-
id: string;
|
|
62
|
-
};
|
|
63
58
|
type TOCConfig = (toc: Array<TOCItem>) => React.ReactNode;
|
|
64
59
|
type ComponentConfig = {
|
|
65
|
-
|
|
66
|
-
h2?: (value: HeadingConfigProps) => React.ReactNode;
|
|
67
|
-
h3?: (value: HeadingConfigProps) => React.ReactNode;
|
|
68
|
-
h4?: (value: HeadingConfigProps) => React.ReactNode;
|
|
69
|
-
h5?: (value: HeadingConfigProps) => React.ReactNode;
|
|
70
|
-
h6?: (value: HeadingConfigProps) => React.ReactNode;
|
|
60
|
+
[Key in Extract<React.ElementType, string>]?: React.ElementType<React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement>>;
|
|
71
61
|
};
|
|
72
62
|
export type MDXConfigProps = {
|
|
73
63
|
components?: ComponentConfig;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { generateAnchor } from './extract-toc';
|
|
3
|
+
export default function createHeading(CustomHeading) {
|
|
4
|
+
return ({ children }) => {
|
|
5
|
+
const { id, text } = generateAnchor(children);
|
|
6
|
+
// const handleClick = (
|
|
7
|
+
// e: React.MouseEvent<HTMLAnchorElement, MouseEvent>,
|
|
8
|
+
// id: string
|
|
9
|
+
// ) => {
|
|
10
|
+
// e.preventDefault();
|
|
11
|
+
// const element = document.getElementById(id);
|
|
12
|
+
// element?.scrollIntoView({ behavior: 'smooth' });
|
|
13
|
+
// history.pushState(null, '', `#${id}`); // Update the URL
|
|
14
|
+
// };
|
|
15
|
+
// return <CustomHeading id={id} onClickAnchor={handleClick}>{text}</CustomHeading>;
|
|
16
|
+
return _jsx(CustomHeading, { id: id, children: text });
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=create-heading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-heading.js","sourceRoot":"","sources":["../../src/utils/create-heading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,aAAiD;IAEjD,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9C,wBAAwB;QACxB,wDAAwD;QACxD,eAAe;QACf,SAAS;QACT,wBAAwB;QAExB,iDAAiD;QACjD,qDAAqD;QAErD,6DAA6D;QAC7D,KAAK;QAEL,oFAAoF;QACpF,OAAO,KAAC,aAAa,IAAC,EAAE,EAAE,EAAE,YAAG,IAAI,GAAiB,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -9,12 +9,7 @@ declare const plugin: () => (Promise<{
|
|
|
9
9
|
}>;
|
|
10
10
|
}> | {
|
|
11
11
|
name: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
process: NodeJS.Process;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
enforce: string;
|
|
18
|
-
apply: string;
|
|
12
|
+
resolveId(id: string): string;
|
|
13
|
+
load(id: string): Promise<string>;
|
|
19
14
|
})[];
|
|
20
|
-
export
|
|
15
|
+
export default plugin;
|
package/lib/utils/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import mdxPlugin from './plugin.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const plugin = () => [mdxPlugin(), polyfill()];
|
|
5
|
-
export { plugin };
|
|
1
|
+
import mdxPlugin, { loadMDXComponentsPlugin } from './plugin.js';
|
|
2
|
+
const plugin = () => [mdxPlugin(), loadMDXComponentsPlugin()];
|
|
3
|
+
export default plugin;
|
|
6
4
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAE9D,eAAe,MAAM,CAAC"}
|
package/lib/utils/plugin.d.ts
CHANGED
package/lib/utils/plugin.js
CHANGED
|
@@ -85,4 +85,38 @@ export default async function plugin() {
|
|
|
85
85
|
},
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
+
export function loadMDXComponentsPlugin() {
|
|
89
|
+
const virtualModuleId = 'virtual:rasengan/mdx-components';
|
|
90
|
+
const resolvedVirtualModuleId = '\0' + virtualModuleId;
|
|
91
|
+
return {
|
|
92
|
+
name: 'vite-plugin-rasengan-mdx-components',
|
|
93
|
+
resolveId(id) {
|
|
94
|
+
if (id === virtualModuleId) {
|
|
95
|
+
return resolvedVirtualModuleId;
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
async load(id) {
|
|
99
|
+
if (id === resolvedVirtualModuleId) {
|
|
100
|
+
return `
|
|
101
|
+
const modules = import.meta.glob(
|
|
102
|
+
[
|
|
103
|
+
'/mdx-components.{js,jsx,ts,tsx}',
|
|
104
|
+
],
|
|
105
|
+
{ eager: true }
|
|
106
|
+
);
|
|
107
|
+
let config = {};
|
|
108
|
+
|
|
109
|
+
const modulesArray = Object.entries(modules);
|
|
110
|
+
|
|
111
|
+
if (modulesArray.length > 0) {
|
|
112
|
+
const [filePath, mod] = modulesArray[0];
|
|
113
|
+
config = mod.default;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export default config;
|
|
117
|
+
`;
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
88
122
|
//# sourceMappingURL=plugin.js.map
|
package/lib/utils/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM;IAalC,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;IAErD,IAAI,MAAe,CAAC;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,GAAG,CAAC;QACtB,aAAa,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;QACvC,aAAa,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC;KACjE,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,0BAA0B;QAEhC,4DAA4D;QAC5D,OAAO,EAAE,KAAK;QAEd,MAAM,CAAC,MAAe,EAAE,GAAQ;YAC9B,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QAED;;;;WAIG;QACH,cAAc,CAAC,cAAuB;YACpC,4BAA4B;YAC5B,MAAM,GAAG,cAAc,CAAC;QAC1B,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,EAAU;YACtC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpD,+BAA+B;YAC/B,MAAM,YAAY,GAChB,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1D,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAEhC,uCAAuC;YACvC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAExD,sCAAsC;YACtC,MAAM,QAAQ,GAAG,EAAE;iBAChB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,EAAE;iBACL,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAE9B,2DAA2D;YAC3D,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,IAAI,QAAQ,EAAE;gBACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI;oBAChC,KAAK,EAAE,QAAQ;iBAChB;aACF,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE;YACF,MAAM,CAAC,IAAI;6BACM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;wBAC7B,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;;;;;SAK7D;gBACD,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rasenganjs/mdx",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0-beta.0",
|
|
5
5
|
"description": "RasenganJS plugin for MDX support",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/index.js",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
},
|
|
14
14
|
"./css": "./lib/styles/rasengan-mdx.min.css",
|
|
15
15
|
"./plugin": {
|
|
16
|
-
"import": "./lib/utils/
|
|
17
|
-
"require": "./lib/utils/
|
|
18
|
-
"types": "./lib/utils/
|
|
16
|
+
"import": "./lib/utils/index.js",
|
|
17
|
+
"require": "./lib/utils/index.js",
|
|
18
|
+
"types": "./lib/utils/index.d.ts"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"author": {
|
|
@@ -33,27 +33,27 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/clean-css": "^4.2.11",
|
|
36
|
-
"@types/micromatch": "^4.0.
|
|
37
|
-
"@types/node": "^22.
|
|
38
|
-
"@types/react": "^19.
|
|
39
|
-
"@types/react-dom": "^19.
|
|
36
|
+
"@types/micromatch": "^4.0.10",
|
|
37
|
+
"@types/node": "^22.19.3",
|
|
38
|
+
"@types/react": "^19.2.7",
|
|
39
|
+
"@types/react-dom": "^19.2.3",
|
|
40
40
|
"clean-css": "^5.3.3"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@mdx-js/rollup": "^3.
|
|
43
|
+
"@mdx-js/rollup": "^3.1.1",
|
|
44
44
|
"gray-matter": "^4.0.3",
|
|
45
|
-
"micromatch": "^4.0.
|
|
45
|
+
"micromatch": "^4.0.8",
|
|
46
46
|
"path-browserify": "^1.0.1",
|
|
47
|
-
"prism-react-renderer": "^2.4.
|
|
48
|
-
"react-markdown": "^
|
|
49
|
-
"rehype-pretty-code": "^0.14.
|
|
47
|
+
"prism-react-renderer": "^2.4.1",
|
|
48
|
+
"react-markdown": "^10.1.0",
|
|
49
|
+
"rehype-pretty-code": "^0.14.1",
|
|
50
50
|
"rehype-stringify": "^10.0.1",
|
|
51
51
|
"remark": "^15.0.1",
|
|
52
|
-
"remark-gfm": "^4.0.
|
|
52
|
+
"remark-gfm": "^4.0.1",
|
|
53
53
|
"remark-parse": "^11.0.0",
|
|
54
|
-
"remark-rehype": "^11.1.
|
|
54
|
+
"remark-rehype": "^11.1.2",
|
|
55
55
|
"remark-toc": "^9.0.0",
|
|
56
|
-
"shiki": "^1.
|
|
56
|
+
"shiki": "^1.29.2",
|
|
57
57
|
"unified": "^11.0.5"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|