summaryrefslogtreecommitdiff
path: root/examples/snowpack/src/components/ContentfulRichText.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'examples/snowpack/src/components/ContentfulRichText.jsx')
-rw-r--r--examples/snowpack/src/components/ContentfulRichText.jsx22
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),
+ }}
+ />
+ );
+}