pd-markdown 1.1.0 → 2.0.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/README.md +52 -170
- package/package.json +12 -11
- package/packages/parser/README.md +120 -0
- package/packages/utils/README.md +130 -0
- package/packages/web/README.md +110 -0
- package/packages/parser/dist/index.cjs +0 -191
- package/packages/parser/dist/index.cjs.map +0 -1
- package/packages/parser/dist/index.d.ts +0 -4
- package/packages/parser/dist/index.d.ts.map +0 -1
- package/packages/parser/dist/index.mjs +0 -185
- package/packages/parser/dist/index.mjs.map +0 -1
- package/packages/parser/dist/plugins/index.d.ts +0 -4
- package/packages/parser/dist/plugins/index.d.ts.map +0 -1
- package/packages/parser/dist/plugins/transform/heading.d.ts +0 -6
- package/packages/parser/dist/plugins/transform/heading.d.ts.map +0 -1
- package/packages/parser/dist/plugins/transform/list.d.ts +0 -14
- package/packages/parser/dist/plugins/transform/list.d.ts.map +0 -1
- package/packages/parser/dist/plugins/transform/table.d.ts +0 -27
- package/packages/parser/dist/plugins/transform/table.d.ts.map +0 -1
- package/packages/parser/dist/processor.d.ts +0 -22
- package/packages/parser/dist/processor.d.ts.map +0 -1
- package/packages/parser/dist/types/index.d.ts +0 -55
- package/packages/parser/dist/types/index.d.ts.map +0 -1
- package/packages/utils/dist/ast/query.d.ts +0 -36
- package/packages/utils/dist/ast/query.d.ts.map +0 -1
- package/packages/utils/dist/ast/traverse.d.ts +0 -22
- package/packages/utils/dist/ast/traverse.d.ts.map +0 -1
- package/packages/utils/dist/index.cjs +0 -358
- package/packages/utils/dist/index.cjs.map +0 -1
- package/packages/utils/dist/index.d.ts +0 -7
- package/packages/utils/dist/index.d.ts.map +0 -1
- package/packages/utils/dist/index.mjs +0 -343
- package/packages/utils/dist/index.mjs.map +0 -1
- package/packages/utils/dist/string/sanitize.d.ts +0 -22
- package/packages/utils/dist/string/sanitize.d.ts.map +0 -1
- package/packages/utils/dist/string/slugify.d.ts +0 -16
- package/packages/utils/dist/string/slugify.d.ts.map +0 -1
- package/packages/utils/dist/types/index.d.ts +0 -49
- package/packages/utils/dist/types/index.d.ts.map +0 -1
- package/packages/web/dist/components/MarkdownRenderer.d.ts +0 -27
- package/packages/web/dist/components/MarkdownRenderer.d.ts.map +0 -1
- package/packages/web/dist/components/NodeRenderer.d.ts +0 -10
- package/packages/web/dist/components/NodeRenderer.d.ts.map +0 -1
- package/packages/web/dist/components/context.d.ts +0 -17
- package/packages/web/dist/components/context.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Blockquote.d.ts +0 -8
- package/packages/web/dist/components/defaults/Blockquote.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Code.d.ts +0 -13
- package/packages/web/dist/components/defaults/Code.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Heading.d.ts +0 -8
- package/packages/web/dist/components/defaults/Heading.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Image.d.ts +0 -7
- package/packages/web/dist/components/defaults/Image.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Link.d.ts +0 -8
- package/packages/web/dist/components/defaults/Link.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/List.d.ts +0 -13
- package/packages/web/dist/components/defaults/List.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Paragraph.d.ts +0 -8
- package/packages/web/dist/components/defaults/Paragraph.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/Table.d.ts +0 -19
- package/packages/web/dist/components/defaults/Table.d.ts.map +0 -1
- package/packages/web/dist/components/defaults/index.d.ts +0 -34
- package/packages/web/dist/components/defaults/index.d.ts.map +0 -1
- package/packages/web/dist/hooks/useMarkdown.d.ts +0 -11
- package/packages/web/dist/hooks/useMarkdown.d.ts.map +0 -1
- package/packages/web/dist/index.cjs +0 -306
- package/packages/web/dist/index.cjs.map +0 -1
- package/packages/web/dist/index.d.ts +0 -6
- package/packages/web/dist/index.d.ts.map +0 -1
- package/packages/web/dist/index.mjs +0 -287
- package/packages/web/dist/index.mjs.map +0 -1
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { Heading, HeadingProps } from './Heading';
|
|
3
|
-
import { Paragraph, ParagraphProps } from './Paragraph';
|
|
4
|
-
import { List, ListItem, ListProps, ListItemProps } from './List';
|
|
5
|
-
import { Table, TableRow, TableCell, TableProps, TableRowProps, TableCellProps } from './Table';
|
|
6
|
-
import { Code, InlineCodeComponent, CodeProps, InlineCodeProps } from './Code';
|
|
7
|
-
import { Link, LinkProps } from './Link';
|
|
8
|
-
import { Image, ImageProps } from './Image';
|
|
9
|
-
import { Blockquote, BlockquoteProps } from './Blockquote';
|
|
10
|
-
export { Heading, Paragraph, List, ListItem, Table, TableRow, TableCell, Code, InlineCodeComponent, Link, Image, Blockquote, };
|
|
11
|
-
export type { HeadingProps, ParagraphProps, ListProps, ListItemProps, TableProps, TableRowProps, TableCellProps, CodeProps, InlineCodeProps, LinkProps, ImageProps, BlockquoteProps, };
|
|
12
|
-
/**
|
|
13
|
-
* Map of node types to their corresponding React components
|
|
14
|
-
*/
|
|
15
|
-
export interface ComponentMap {
|
|
16
|
-
heading: React.FC<HeadingProps>;
|
|
17
|
-
paragraph: React.FC<ParagraphProps>;
|
|
18
|
-
list: React.FC<ListProps>;
|
|
19
|
-
listItem: React.FC<ListItemProps>;
|
|
20
|
-
table: React.FC<TableProps>;
|
|
21
|
-
tableRow: React.FC<TableRowProps>;
|
|
22
|
-
tableCell: React.FC<TableCellProps>;
|
|
23
|
-
code: React.FC<CodeProps>;
|
|
24
|
-
inlineCode: React.FC<InlineCodeProps>;
|
|
25
|
-
link: React.FC<LinkProps>;
|
|
26
|
-
image: React.FC<ImageProps>;
|
|
27
|
-
blockquote: React.FC<BlockquoteProps>;
|
|
28
|
-
[key: string]: React.FC<any>;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Default component map
|
|
32
|
-
*/
|
|
33
|
-
export declare const defaultComponents: ComponentMap;
|
|
34
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/defaults/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC/F,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,IAAI,EACJ,KAAK,EACL,UAAU,GACX,CAAA;AAGD,YAAY,EACV,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACT,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,GAChB,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;IAC/B,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACjC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAC3B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;IACjC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;IACrC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAC3B,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;IAErC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAa/B,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Root } from 'mdast';
|
|
2
|
-
import { type ParserOptions } from '@pd-markdown/parser';
|
|
3
|
-
/**
|
|
4
|
-
* Hook for parsing markdown on the client side
|
|
5
|
-
*
|
|
6
|
-
* @param source - Markdown source string
|
|
7
|
-
* @param options - Parser options
|
|
8
|
-
* @returns Parsed AST
|
|
9
|
-
*/
|
|
10
|
-
export declare function useMarkdown(source: string, options?: ParserOptions): Root;
|
|
11
|
-
//# sourceMappingURL=useMarkdown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkdown.d.ts","sourceRoot":"","sources":["../../src/hooks/useMarkdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAetE;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAOzE"}
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var parser = require('@pd-markdown/parser');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Context for passing configuration down the component tree
|
|
9
|
-
*/
|
|
10
|
-
const MarkdownContext = react.createContext({
|
|
11
|
-
components: {},
|
|
12
|
-
});
|
|
13
|
-
/**
|
|
14
|
-
* Hook to access markdown context
|
|
15
|
-
*/
|
|
16
|
-
function useMarkdownContext() {
|
|
17
|
-
return react.useContext(MarkdownContext);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const Heading = ({ node, children }) => {
|
|
21
|
-
const Tag = `h${node.depth}`;
|
|
22
|
-
const id = node.data && 'id' in node.data ? node.data.id : undefined;
|
|
23
|
-
return jsxRuntime.jsx(Tag, { id: id, children: children });
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const Paragraph = ({ children }) => {
|
|
27
|
-
return jsxRuntime.jsx("p", { children: children });
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const List = ({ node, children }) => {
|
|
31
|
-
const Tag = node.ordered ? 'ol' : 'ul';
|
|
32
|
-
const start = node.ordered && node.start != null && node.start !== 1 ? node.start : undefined;
|
|
33
|
-
return jsxRuntime.jsx(Tag, { start: start, children: children });
|
|
34
|
-
};
|
|
35
|
-
const ListItem = ({ node, children }) => {
|
|
36
|
-
// Handle task list items
|
|
37
|
-
if (typeof node.checked === 'boolean') {
|
|
38
|
-
return (jsxRuntime.jsxs("li", { className: "task-list-item", children: [jsxRuntime.jsx("input", { type: "checkbox", checked: node.checked, readOnly: true }), jsxRuntime.jsx("span", { children: children })] }));
|
|
39
|
-
}
|
|
40
|
-
return jsxRuntime.jsx("li", { children: children });
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const Table = ({ children }) => {
|
|
44
|
-
return (jsxRuntime.jsx("table", { children: children }));
|
|
45
|
-
};
|
|
46
|
-
const TableRow = ({ children, isHeader }) => {
|
|
47
|
-
if (isHeader) {
|
|
48
|
-
return (jsxRuntime.jsx("thead", { children: jsxRuntime.jsx("tr", { children: children }) }));
|
|
49
|
-
}
|
|
50
|
-
return jsxRuntime.jsx("tr", { children: children });
|
|
51
|
-
};
|
|
52
|
-
const TableCell = ({ node, children }) => {
|
|
53
|
-
const isHeader = node.data?.isHeader;
|
|
54
|
-
const align = node.data?.align;
|
|
55
|
-
const Tag = isHeader ? 'th' : 'td';
|
|
56
|
-
const style = align ? { textAlign: align } : undefined;
|
|
57
|
-
return jsxRuntime.jsx(Tag, { style: style, children: children });
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const Code = ({ node }) => {
|
|
61
|
-
const className = node.lang ? `language-${node.lang}` : undefined;
|
|
62
|
-
return (jsxRuntime.jsx("pre", { children: jsxRuntime.jsx("code", { className: className, children: node.value }) }));
|
|
63
|
-
};
|
|
64
|
-
const InlineCodeComponent = ({ node }) => {
|
|
65
|
-
return jsxRuntime.jsx("code", { children: node.value });
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const Link = ({ node, children }) => {
|
|
69
|
-
// Basic security: prevent javascript: URLs
|
|
70
|
-
const href = node.url?.startsWith('javascript:') ? '#' : node.url;
|
|
71
|
-
return (jsxRuntime.jsx("a", { href: href, title: node.title || undefined, children: children }));
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
const Image = ({ node }) => {
|
|
75
|
-
return jsxRuntime.jsx("img", { src: node.url, alt: node.alt || '', title: node.title || undefined });
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const Blockquote = ({ children }) => {
|
|
79
|
-
return jsxRuntime.jsx("blockquote", { children: children });
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Default component map
|
|
84
|
-
*/
|
|
85
|
-
const defaultComponents = {
|
|
86
|
-
heading: Heading,
|
|
87
|
-
paragraph: Paragraph,
|
|
88
|
-
list: List,
|
|
89
|
-
listItem: ListItem,
|
|
90
|
-
table: Table,
|
|
91
|
-
tableRow: TableRow,
|
|
92
|
-
tableCell: TableCell,
|
|
93
|
-
code: Code,
|
|
94
|
-
inlineCode: InlineCodeComponent,
|
|
95
|
-
link: Link,
|
|
96
|
-
image: Image,
|
|
97
|
-
blockquote: Blockquote,
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Recursive node renderer that renders AST nodes to React elements
|
|
102
|
-
*/
|
|
103
|
-
const NodeRenderer = ({ node }) => {
|
|
104
|
-
const { components } = useMarkdownContext();
|
|
105
|
-
// Get the component for this node type
|
|
106
|
-
const getComponent = (type) => {
|
|
107
|
-
return components[type] || defaultComponents[type];
|
|
108
|
-
};
|
|
109
|
-
// Render children nodes
|
|
110
|
-
const renderChildren = (children) => {
|
|
111
|
-
return children.map((child, index) => (jsxRuntime.jsx(NodeRenderer, { node: child }, index)));
|
|
112
|
-
};
|
|
113
|
-
// Render phrasing content (inline elements)
|
|
114
|
-
const renderPhrasingContent = (children) => {
|
|
115
|
-
return children.map((child, index) => {
|
|
116
|
-
switch (child.type) {
|
|
117
|
-
case 'text':
|
|
118
|
-
return child.value;
|
|
119
|
-
case 'strong':
|
|
120
|
-
return jsxRuntime.jsx("strong", { children: renderPhrasingContent(child.children) }, index);
|
|
121
|
-
case 'emphasis':
|
|
122
|
-
return jsxRuntime.jsx("em", { children: renderPhrasingContent(child.children) }, index);
|
|
123
|
-
case 'delete':
|
|
124
|
-
return jsxRuntime.jsx("del", { children: renderPhrasingContent(child.children) }, index);
|
|
125
|
-
case 'inlineCode': {
|
|
126
|
-
const InlineCode = getComponent('inlineCode');
|
|
127
|
-
return InlineCode ? jsxRuntime.jsx(InlineCode, { node: child }, index) : jsxRuntime.jsx("code", { children: child.value }, index);
|
|
128
|
-
}
|
|
129
|
-
case 'link': {
|
|
130
|
-
const Link = getComponent('link');
|
|
131
|
-
return Link ? (jsxRuntime.jsx(Link, { node: child, children: renderPhrasingContent(child.children) }, index)) : (jsxRuntime.jsx("a", { href: child.url, children: renderPhrasingContent(child.children) }, index));
|
|
132
|
-
}
|
|
133
|
-
case 'image': {
|
|
134
|
-
const Image = getComponent('image');
|
|
135
|
-
return Image ? jsxRuntime.jsx(Image, { node: child }, index) : jsxRuntime.jsx("img", { src: child.url, alt: child.alt || '' }, index);
|
|
136
|
-
}
|
|
137
|
-
case 'break':
|
|
138
|
-
return jsxRuntime.jsx("br", {}, index);
|
|
139
|
-
case 'html':
|
|
140
|
-
// For safety, render HTML as text in React
|
|
141
|
-
return child.value;
|
|
142
|
-
default:
|
|
143
|
-
// For unknown inline types, try to render as text if possible
|
|
144
|
-
if ('value' in child && typeof child.value === 'string') {
|
|
145
|
-
return child.value;
|
|
146
|
-
}
|
|
147
|
-
if ('children' in child) {
|
|
148
|
-
return renderPhrasingContent(child.children);
|
|
149
|
-
}
|
|
150
|
-
return null;
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
};
|
|
154
|
-
// Handle different node types
|
|
155
|
-
switch (node.type) {
|
|
156
|
-
case 'root':
|
|
157
|
-
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderChildren(node.children) });
|
|
158
|
-
case 'heading': {
|
|
159
|
-
const Heading = getComponent('heading');
|
|
160
|
-
return Heading ? (jsxRuntime.jsx(Heading, { node: node, children: renderPhrasingContent(node.children) })) : null;
|
|
161
|
-
}
|
|
162
|
-
case 'paragraph': {
|
|
163
|
-
const Paragraph = getComponent('paragraph');
|
|
164
|
-
return Paragraph ? (jsxRuntime.jsx(Paragraph, { node: node, children: renderPhrasingContent(node.children) })) : null;
|
|
165
|
-
}
|
|
166
|
-
case 'list': {
|
|
167
|
-
const List = getComponent('list');
|
|
168
|
-
return List ? (jsxRuntime.jsx(List, { node: node, children: renderChildren(node.children) })) : null;
|
|
169
|
-
}
|
|
170
|
-
case 'listItem': {
|
|
171
|
-
const ListItem = getComponent('listItem');
|
|
172
|
-
const children = node.children.map((child, index) => {
|
|
173
|
-
// Unwrap single paragraph in list item
|
|
174
|
-
if (child.type === 'paragraph' && node.children.length === 1) {
|
|
175
|
-
return renderPhrasingContent(child.children);
|
|
176
|
-
}
|
|
177
|
-
return jsxRuntime.jsx(NodeRenderer, { node: child }, index);
|
|
178
|
-
});
|
|
179
|
-
return ListItem ? jsxRuntime.jsx(ListItem, { node: node, children: children }) : null;
|
|
180
|
-
}
|
|
181
|
-
case 'table': {
|
|
182
|
-
const Table = getComponent('table');
|
|
183
|
-
const TableRow = getComponent('tableRow');
|
|
184
|
-
if (!Table || !TableRow)
|
|
185
|
-
return null;
|
|
186
|
-
const [headerRow, ...bodyRows] = node.children;
|
|
187
|
-
return (jsxRuntime.jsxs(Table, { node: node, children: [headerRow && (jsxRuntime.jsx(TableRow, { node: headerRow, isHeader: true, children: headerRow.children.map((cell, index) => (jsxRuntime.jsx(NodeRenderer, { node: cell }, index))) })), bodyRows.length > 0 && (jsxRuntime.jsx("tbody", { children: bodyRows.map((row, rowIndex) => (jsxRuntime.jsx(TableRow, { node: row, children: row.children.map((cell, cellIndex) => (jsxRuntime.jsx(NodeRenderer, { node: cell }, cellIndex))) }, rowIndex))) }))] }));
|
|
188
|
-
}
|
|
189
|
-
case 'tableCell': {
|
|
190
|
-
const TableCell = getComponent('tableCell');
|
|
191
|
-
return TableCell ? (jsxRuntime.jsx(TableCell, { node: node, children: renderPhrasingContent(node.children) })) : null;
|
|
192
|
-
}
|
|
193
|
-
case 'code': {
|
|
194
|
-
const Code = getComponent('code');
|
|
195
|
-
return Code ? jsxRuntime.jsx(Code, { node: node }) : null;
|
|
196
|
-
}
|
|
197
|
-
case 'blockquote': {
|
|
198
|
-
const Blockquote = getComponent('blockquote');
|
|
199
|
-
return Blockquote ? (jsxRuntime.jsx(Blockquote, { node: node, children: renderChildren(node.children) })) : null;
|
|
200
|
-
}
|
|
201
|
-
case 'thematicBreak':
|
|
202
|
-
return jsxRuntime.jsx("hr", {});
|
|
203
|
-
case 'html':
|
|
204
|
-
// For safety, don't render raw HTML by default
|
|
205
|
-
return null;
|
|
206
|
-
case 'yaml':
|
|
207
|
-
// Frontmatter shouldn't be rendered
|
|
208
|
-
return null;
|
|
209
|
-
default: {
|
|
210
|
-
// Try to find a custom component for unknown types
|
|
211
|
-
const CustomComponent = getComponent(node.type);
|
|
212
|
-
if (CustomComponent) {
|
|
213
|
-
const children = 'children' in node
|
|
214
|
-
? renderChildren(node.children)
|
|
215
|
-
: undefined;
|
|
216
|
-
return jsxRuntime.jsx(CustomComponent, { node: node, children: children });
|
|
217
|
-
}
|
|
218
|
-
// Fallback: try to render children if available
|
|
219
|
-
if ('children' in node) {
|
|
220
|
-
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderChildren(node.children) });
|
|
221
|
-
}
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
// Singleton parser for client-side use
|
|
228
|
-
let defaultParser = null;
|
|
229
|
-
function getParser$1(options) {
|
|
230
|
-
if (options) {
|
|
231
|
-
return parser.createParser(options);
|
|
232
|
-
}
|
|
233
|
-
if (!defaultParser) {
|
|
234
|
-
defaultParser = parser.createParser();
|
|
235
|
-
}
|
|
236
|
-
return defaultParser;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Main markdown renderer component
|
|
240
|
-
*
|
|
241
|
-
* Supports both client-side and server-side rendering:
|
|
242
|
-
* - Pass `source` for automatic parsing
|
|
243
|
-
* - Pass `ast` for pre-parsed content (SSR optimization)
|
|
244
|
-
*/
|
|
245
|
-
const MarkdownRenderer = ({ source, ast, components = {}, className, style, parserOptions, }) => {
|
|
246
|
-
// Use provided AST or parse source
|
|
247
|
-
let tree;
|
|
248
|
-
if (ast) {
|
|
249
|
-
tree = ast;
|
|
250
|
-
}
|
|
251
|
-
else if (source) {
|
|
252
|
-
const parser = getParser$1(parserOptions);
|
|
253
|
-
tree = parser.parse(source);
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
// No content provided
|
|
257
|
-
return null;
|
|
258
|
-
}
|
|
259
|
-
return (jsxRuntime.jsx(MarkdownContext.Provider, { value: { components }, children: jsxRuntime.jsx("div", { className: className, style: style, children: jsxRuntime.jsx(NodeRenderer, { node: tree }) }) }));
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
// Cached parser instance
|
|
263
|
-
let cachedParser = null;
|
|
264
|
-
function getParser(options) {
|
|
265
|
-
if (options) {
|
|
266
|
-
return parser.createParser(options);
|
|
267
|
-
}
|
|
268
|
-
if (!cachedParser) {
|
|
269
|
-
cachedParser = parser.createParser();
|
|
270
|
-
}
|
|
271
|
-
return cachedParser;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Hook for parsing markdown on the client side
|
|
275
|
-
*
|
|
276
|
-
* @param source - Markdown source string
|
|
277
|
-
* @param options - Parser options
|
|
278
|
-
* @returns Parsed AST
|
|
279
|
-
*/
|
|
280
|
-
function useMarkdown(source, options) {
|
|
281
|
-
const ast = react.useMemo(() => {
|
|
282
|
-
const parser = getParser(options);
|
|
283
|
-
return parser.parse(source);
|
|
284
|
-
}, [source, options]);
|
|
285
|
-
return ast;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
exports.Blockquote = Blockquote;
|
|
289
|
-
exports.Code = Code;
|
|
290
|
-
exports.Heading = Heading;
|
|
291
|
-
exports.Image = Image;
|
|
292
|
-
exports.InlineCodeComponent = InlineCodeComponent;
|
|
293
|
-
exports.Link = Link;
|
|
294
|
-
exports.List = List;
|
|
295
|
-
exports.ListItem = ListItem;
|
|
296
|
-
exports.MarkdownContext = MarkdownContext;
|
|
297
|
-
exports.MarkdownRenderer = MarkdownRenderer;
|
|
298
|
-
exports.NodeRenderer = NodeRenderer;
|
|
299
|
-
exports.Paragraph = Paragraph;
|
|
300
|
-
exports.Table = Table;
|
|
301
|
-
exports.TableCell = TableCell;
|
|
302
|
-
exports.TableRow = TableRow;
|
|
303
|
-
exports.defaultComponents = defaultComponents;
|
|
304
|
-
exports.useMarkdown = useMarkdown;
|
|
305
|
-
exports.useMarkdownContext = useMarkdownContext;
|
|
306
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/components/context.ts","../src/components/defaults/Heading.tsx","../src/components/defaults/Paragraph.tsx","../src/components/defaults/List.tsx","../src/components/defaults/Table.tsx","../src/components/defaults/Code.tsx","../src/components/defaults/Link.tsx","../src/components/defaults/Image.tsx","../src/components/defaults/Blockquote.tsx","../src/components/defaults/index.tsx","../src/components/NodeRenderer.tsx","../src/components/MarkdownRenderer.tsx","../src/hooks/useMarkdown.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["createContext","useContext","_jsx","_jsxs","_Fragment","getParser","createParser","useMemo"],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { MarkdownRenderer, type MarkdownRendererProps } from './components/MarkdownRenderer';
|
|
2
|
-
export { NodeRenderer, type NodeRendererProps } from './components/NodeRenderer';
|
|
3
|
-
export { MarkdownContext, useMarkdownContext, type MarkdownContextValue } from './components/context';
|
|
4
|
-
export { Heading, Paragraph, List, ListItem, Table, TableRow, TableCell, Code, InlineCodeComponent, Link, Image, Blockquote, defaultComponents, type ComponentMap, type HeadingProps, type ParagraphProps, type ListProps, type ListItemProps, type TableProps, type TableRowProps, type TableCellProps, type CodeProps, type InlineCodeProps, type LinkProps, type ImageProps, type BlockquoteProps, } from './components/defaults';
|
|
5
|
-
export { useMarkdown } from './hooks/useMarkdown';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC5F,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAGrG,OAAO,EACL,OAAO,EACP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,IAAI,EACJ,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
|