Skip to content

Commit 58c7c69

Browse files
committed
feat: add rehypeRewrite props.
1 parent 216e14d commit 58c7c69

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,21 @@ function Demo() {
5050

5151
```typescript
5252
import { ReactMarkdownProps } from 'react-markdown';
53+
import { RehypeRewriteOptions } from 'rehype-rewrite';
5354

5455
type MarkdownPreviewProps = {
56+
prefixCls?: string;
5557
className?: string;
5658
source?: string;
5759
disableCopy?: boolean;
5860
style?: React.CSSProperties;
59-
warpperElement?: HTMLDivElement;
6061
pluginsFilter?: (type: 'rehype' | 'remark', plugin: PluggableList) => PluggableList;
62+
warpperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
63+
'data-color-mode'?: 'light' | 'dark';
64+
};
6165
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
6266
onMouseOver?: (e: React.MouseEvent<HTMLDivElement>) => void;
67+
rehypeRewrite?: RehypeRewriteOptions['rewrite'];
6368
} & ReactMarkdownProps;
6469
```
6570

src/index.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export interface MarkdownPreviewProps extends Omit<Options, 'children'> {
2828
};
2929
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
3030
onMouseOver?: (e: React.MouseEvent<HTMLDivElement>) => void;
31+
rehypeRewrite?: RehypeRewriteOptions['rewrite'];
3132
}
3233

3334
export interface MarkdownPreviewRef extends MarkdownPreviewProps {
@@ -44,6 +45,7 @@ export default React.forwardRef<MarkdownPreviewRef, MarkdownPreviewProps>((props
4445
onScroll,
4546
onMouseOver,
4647
pluginsFilter,
48+
rehypeRewrite: rewrite,
4749
warpperElement = {},
4850
...other
4951
} = props;
@@ -63,6 +65,7 @@ export default React.forwardRef<MarkdownPreviewRef, MarkdownPreviewProps>((props
6365
const code = getCodeString(node.children);
6466
node.children.push(copyElement(code));
6567
}
68+
rewrite && rewrite(node, index, parent);
6669
};
6770

6871
const rehypePlugins: PluggableList = [

0 commit comments

Comments
 (0)