diff options
Diffstat (limited to 'examples/snowpack/src/components/ContentfulRichText.jsx')
-rw-r--r-- | examples/snowpack/src/components/ContentfulRichText.jsx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/snowpack/src/components/ContentfulRichText.jsx b/examples/snowpack/src/components/ContentfulRichText.jsx new file mode 100644 index 000000000..1f4528f6b --- /dev/null +++ b/examples/snowpack/src/components/ContentfulRichText.jsx @@ -0,0 +1,22 @@ +import { BLOCKS, MARKS } from '@contentful/rich-text-types'; +import { documentToHtmlString } from '@contentful/rich-text-html-renderer'; + +const options = { + renderMark: { + [MARKS.BOLD]: (text) => `<custom-bold>${text}<custom-bold>`, + }, + renderNode: { + [BLOCKS.PARAGRAPH]: (node, next) => + `<custom-paragraph>${next(node.content)}</custom-paragraph>`, + }, +}; + +export function RichTextDocument({ document }) { + return ( + <div + dangerouslySetInnerHTML={{ + html: documentToHtmlString(document, options), + }} + /> + ); +} |