@markmulder/rich-text-from-markdown
TypeScript icon, indicating that this package has built-in type declarations

15.12.1 • Public • Published

rich-text-from-markdown

A library to convert markdown to Contentful Rich Text document format.

Installation

Using npm:

npm install @contentful/rich-text-from-markdown

Using yarn:

yarn add @contentful/rich-text-from-markdown

Usage

Basic

const { richTextFromMarkdown } = require('@contentful/rich-text-from-markdown');

const document = await richTextFromMarkdown('# Hello World');

Advanced

The library will convert automatically the following markdown nodes:

  • paragraph
  • heading
  • text
  • emphasis
  • strong
  • delete
  • inlineCode
  • link
  • thematicBreak
  • blockquote
  • list
  • listItem

If the markdown content has unsupported nodes like image ![image](url) you can add a callback as a second argument and it will get called everytime an unsupported node is found. The return value of the callback will be the rich text representation of that node.

Example:

const { richTextFromMarkdown } = require('@contentful/rich-text-from-markdown');

// define your own type for unsupported nodes like asset
const document = await richTextFromMarkdown(
  '![image](\'https://example.com/image.jpg\')',
  node => ({
    nodeType: 'embedded-[entry|asset]-[block|inline]',
    content: [],
    data: {
      target: {
        sys: {
          type: 'Link',
          linkType: 'Entry|Asset',
          id: '.........'
        }
      }
    }
  })
);

Package Sidebar

Install

npm i @markmulder/rich-text-from-markdown

Weekly Downloads

1

Version

15.12.1

License

MIT

Unpacked Size

11.1 kB

Total Files

3

Last publish

Collaborators

  • markmulder