@slite/unified-mdast-to-delta

1.7.3 • Public • Published

unified-delta

A unified plugin that is able to compile a Markdown Ast to Delta.

Usage

const toDelta = require("unified-delta")

const markdown = `# Hello & World

> A block quote.

* Some _emphasis_, **importance**, and \`code\`.`

toDelta()
  .process(markdown)
  .then(({ contents }) => console.log(JSON.stringify(contents)))
  .catch(e => console.log(e))

This will output the following:

[
  { "insert": "Hello & World" },
  {
    "insert": "\n",
    "attributes": { "type": "header-one", "data": { "depth": 0 } }
  },
  { "insert": "A block quote." },
  { "insert": "\n", "attributes": { "type": "unstyled" } },
  { "insert": "\n", "attributes": { "type": "quote-block" } },
  { "insert": "Some " },
  { "insert": "emphasis", "attributes": { "italic": true } },
  { "insert": ", " },
  { "insert": "importance", "attributes": { "bold": true } },
  { "insert": ", and " },
  { "insert": "code", "attributes": { "code": true } },
  { "insert": "." },
  { "insert": "\n", "attributes": { "type": "unstyled" } },
  {
    "insert": "\n",
    "attributes": { "type": "unordered-list-item", "data": { "depth": 0 } }
  },
  { "insert": "\n", "attributes": { "type": "unstyled" } }
]

API

[...].use(toDelta[, options])

options
options.endWithNewline (default true)

Wether to finish the Delta inserts with a newline. This is mandatory per Delta's spec, but the option is here for testing purposes.

Todo:

[] Make the visitors system extensible

Since each client will implement its own set of attributes for their delta format we can't cover everything here.

/@slite/unified-mdast-to-delta/

    Package Sidebar

    Install

    npm i @slite/unified-mdast-to-delta

    Weekly Downloads

    35

    Version

    1.7.3

    License

    MIT

    Unpacked Size

    39.4 kB

    Total Files

    44

    Last publish

    Collaborators

    • dqms
    • accounts-dev-slite
    • calyhre
    • prenaudin
    • antoineduban
    • guillaumemorin
    • christophepas
    • antoinelyset
    • d34thwings
    • agix
    • alisonsayarath