Provides:
- Component
{{render-mobiledoc}}for rendering mobiledoc in your ember app - (For advanced use) The ability to import the
mobiledoc-dom-rendererclass
To learn more about mobiledoc see mobiledoc-kit.
ember install ember-mobiledoc-dom-renderer
- Ember.js v3.8 or above (tested in LTS versions starting 3.8 -- likely works on earlier releases)
- Ember CLI v3.8 or above
- Node.js v10 or above
The ember components with names matching the mobiledoc card names will be rendered
and passed a payload property.
The ember components will be in a wrapper div with the class '__rendered-mobiledoc-card' and '__rendered-mobiledoc-card-${cardName}'.
If your mobiledoc card names do not match component names, you can subclass
the render-mobiledoc component and override its cardNameToComponentName method.
E.g.:
// components/my-render-mobiledoc.js
import RenderMobiledoc from 'ember-mobiledoc-dom-renderer/components/render-mobiledoc';
export default RenderMobiledoc.extend({
cardNameToComponentName(mobiledocCardName) {
return 'cards/' + mobiledocCardName;
}
});This works the same way as rendering mobiledoc with ember components for cards.
To pass atom names to the renderer, use the atomNames property, e.g.:
The component will be passed a payload and value property.
To customize atom lookup, extend the render-mobiledoc component and override
its atomNameToComponentName method.
The sectionElementRenderer and markupElementRenderer options can be used to
customize the elements used for sections and inline text decorations respectively.
E.g.:
mySectionElementRenderer: {
h1: (tagName, domDocument) => {
let element = domDocument.createElement('h1');
element.classList.add('primary-heading');
return element;
}
}This addon provides the mobiledoc-dom-renderer directly. Most of the time
you will want to use the {{render-mobiledoc}} component, but if you need
to use the renderer directly in code, it can be imported:
import DOMRenderer from 'ember-mobiledoc-dom-renderer';
See RELEASE.md