@maartenbusstra/mobiledoc-markdown-renderer

Renders mobiledoc input to markdown (string) output

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@maartenbusstra/mobiledoc-markdown-renderer
0.3.34 years ago4 years agoMinified + gzip package size for @maartenbusstra/mobiledoc-markdown-renderer in KB

Readme

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:
broccoli serve visit http://localhost:4200/tests

Credits

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