Skip to content

bustle/mobiledoc-text-renderer

Repository files navigation

Mobiledoc Text Renderer Build Status

This is a Text 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 Text documents. It may be of limited use inside browsers as well.

Usage

var mobiledoc = {
  version: "0.2.0",
  sections: [
    [         // markers
      ['B']
    ],
    [         // sections
      [1, 'P', [ // array of markups
        // markup
        [
          [0],          // open markers (by index)
          0,            // close count
          'hello world'
        ]
      ]
    ]
  ]
};
var renderer = new TextRenderer({cards: []});
var rendered = renderer.render(mobiledoc);
console.log(rendered.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

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

  • npm install -g broccoli-cli testem
  • npm test

Releasing

  • npm version patch or minor or major
  • npm run build
  • git push bustle --tags
  • npm publish