-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathrenderers.tsx
More file actions
75 lines (72 loc) · 1.93 KB
/
renderers.tsx
File metadata and controls
75 lines (72 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import {
BlockContent,
Blockquote,
Break,
Code,
Definition,
DefinitionContent,
Delete,
Emphasis,
FootnoteDefinition,
FootnoteReference,
Heading,
Html,
Image,
ImageReference,
InlineCode,
Link,
LinkReference,
List,
ListItem,
Node,
Paragraph,
PhrasingContent,
RootContent,
Strong,
Table,
TableCell,
TableRow,
Text,
ThematicBreak,
Yaml,
} from "mdast";
import { ReactNode } from "react";
export type RendererArgs<This extends Node> = {
node: This;
parent?: Node;
index?: number;
};
export type RenderFunc<This extends Node, T = object> = (
args: RendererArgs<This> & T,
) => ReactNode;
export interface Renderers {
BlockContentRenderer: RenderFunc<BlockContent>;
BlockquoteRenderer: RenderFunc<Blockquote>;
BreakRenderer: RenderFunc<Break>;
CodeRenderer: RenderFunc<Code>;
DefinitionRenderer: RenderFunc<Definition>;
DefinitionContentRenderer: RenderFunc<DefinitionContent>;
DeleteRenderer: RenderFunc<Delete>;
EmphasisRenderer: RenderFunc<Emphasis>;
FootnoteDefinitionRenderer: RenderFunc<FootnoteDefinition>;
FootnoteReferenceRenderer: RenderFunc<FootnoteReference>;
HeadingRenderer: RenderFunc<Heading>;
HtmlRenderer: RenderFunc<Html>;
ImageRenderer: RenderFunc<Image>;
ImageReferenceRenderer: RenderFunc<ImageReference>;
InlineCodeRenderer: RenderFunc<InlineCode>;
LinkRenderer: RenderFunc<Link>;
LinkReferenceRenderer: RenderFunc<LinkReference>;
ListRenderer: RenderFunc<List>;
ListItemRenderer: RenderFunc<ListItem>;
ParagraphRenderer: RenderFunc<Paragraph>;
PhrasingContentRenderer: RenderFunc<PhrasingContent>;
RootContentRenderer: RenderFunc<RootContent>;
StrongRenderer: RenderFunc<Strong>;
TableRenderer: RenderFunc<Table>;
TableCellRenderer: RenderFunc<TableCell, { rowIndex: number }>;
TableRowRenderer: RenderFunc<TableRow>;
TextRenderer: RenderFunc<Text>;
ThematicBreakRenderer: RenderFunc<ThematicBreak>;
YamlRenderer: RenderFunc<Yaml>;
}