@maartenbusstra/mobiledoc-markdown-renderer

0.3.3 • Public • Published

Mobiledoc Markdown Renderer

This is a markdown renderer for the Mobiledoc format used by Mobiledoc-Kit.

To learn more about Mobiledoc cards and renderers, see the Mobiledoc Cards docs.

The renderer is a small library intended for use in servers that are building markdown documents. It may be of limited use inside browsers as well.

Usage

var mobiledoc = {
  "version": "0.3.0",
  "atoms": [],
  "cards": [],
  "markups": [
    [
      "strong"
    ]
  ],
  "sections": [
    [
      1,
      "p",
      [
        [
          0,
          [],
          0,
          "Hello "
        ],
        [
          0,
          [
            0
          ],
          1,
          "world!"
        ]
      ]
    ]
  ]
};
var renderer = new MobiledocMarkdownRenderer({cards: []});
var rendered = renderer.render(mobiledoc);
console.log(rendererd.result); // "Hello **world!**"

The Renderer constructor accepts a single object with the following optional properties:

  • cards [array] - The list of card objects that the renderer may encounter in the mobiledoc
  • cardOptions [object] - Options to pass to cards when they are rendered
  • unknownCardHandler [function] - Will be called when any unknown card is enountered
  • unknownAtomHandler [function] - Will be called when any unknown atom is enountered

The return value from renderer.render(mobiledoc) is an object with two properties:

  • result [string] - The rendered result
  • teardown [function] - When called, this function will tear down the rendered mobiledoc and call any teardown handlers that were registered by cards when they were rendered

Tests

Command-line:

  • npm test

Or in the browser:

Credits

This library is based on the mobiledoc-html-renderer by Cory Forsyth.

Package Sidebar

Install

npm i @maartenbusstra/mobiledoc-markdown-renderer

Weekly Downloads

12

Version

0.3.3

License

MIT

Unpacked Size

252 kB

Total Files

27

Last publish

Collaborators

  • maartenbusstra