uttori-plugin-renderer-markdown-it
v2.0.2
Published
Uttori plugin for rendering Markdown powered by MarkdownIt.
Downloads
2
Maintainers
Readme
Uttori Renderer - Markdown - MarkdownIt
Uttori renderer support for Markdown powered by MarkdownIt.
Install
npm install --save uttori-plugin-renderer-markdown-it
Config
{
// Registration Events
events: {
renderContent: [],
renderCollection: [],
validateConfig: [],
},
// MarkdownIt Configuration
...,
}
The only supported configuration outside of registration events is passing in MarkdownIt config.
API Reference
MarkdownItRenderer
Uttori MarkdownIt Renderer
Kind: global class
- MarkdownItRenderer
- .configKey ⇒ String
- .defaultConfig() ⇒ Object
- .validateConfig(config)
- .register(context)
- .renderContent(content, context) ⇒ String
- .renderCollection(collection, context) ⇒ Array.<Object>
- .render(content, config) ⇒ String
MarkdownItRenderer.configKey ⇒ String
The configuration key for plugin to look for in the provided configuration.
Kind: static property of MarkdownItRenderer
Returns: String - The configuration key.
Example (MarkdownItRenderer.configKey)
const config = { ...MarkdownItRenderer.defaultConfig(), ...context.config[MarkdownItRenderer.configKey] };
MarkdownItRenderer.defaultConfig() ⇒ Object
The default configuration.
Kind: static method of MarkdownItRenderer
Returns: Object - The configuration.
Example (MarkdownItRenderer.defaultConfig())
const config = { ...MarkdownItRenderer.defaultConfig(), ...context.config[MarkdownItRenderer.configKey] };
MarkdownItRenderer.validateConfig(config)
Validates the provided configuration for required entries.
Kind: static method of MarkdownItRenderer
| Param | Type | Description | | --- | --- | --- | | config | Object | A configuration object. | | config[MarkdownItRenderer.configKey | Object | A configuration object specifically for this plugin. |
Example (MarkdownItRenderer.validateConfig(config, _context))
MarkdownItRenderer.validateConfig({ ... });
MarkdownItRenderer.register(context)
Register the plugin with a provided set of events on a provided Hook system.
Kind: static method of MarkdownItRenderer
| Param | Type | Description | | --- | --- | --- | | context | Object | A Uttori-like context. | | context.hooks | Object | An event system / hook system to use. | | context.hooks.on | function | An event registration function. | | context.config | Object | A provided configuration to use. | | context.config.events | Object | An object whose keys correspong to methods, and contents are events to listen for. |
Example (MarkdownItRenderer.register(context))
const context = {
hooks: {
on: (event, callback) => { ... },
},
config: {
[MarkdownItRenderer.configKey]: {
...,
events: {
renderContent: ['render-content', 'render-meta-description'],
renderCollection: ['render-search-results'],
validateConfig: ['validate-config'],
},
},
},
};
MarkdownItRenderer.register(context);
MarkdownItRenderer.renderContent(content, context) ⇒ String
Renders Markdown for a provided string with a provided context.
Kind: static method of MarkdownItRenderer
Returns: String - The rendered content.
| Param | Type | Description | | --- | --- | --- | | content | String | Markdown content to be converted to HTML. | | context | Object | A Uttori-like context. | | context.config | Object | A provided configuration to use. |
Example (MarkdownItRenderer.renderContent(content, context))
const context = {
config: {
[MarkdownItRenderer.configKey]: {
...,
},
},
};
MarkdownItRenderer.renderContent(content, context);
MarkdownItRenderer.renderCollection(collection, context) ⇒ Array.<Object>
Renders Markdown for a collection of Uttori documents with a provided context.
Kind: static method of MarkdownItRenderer
Returns: Array.<Object> - } The rendered documents.
| Param | Type | Description | | --- | --- | --- | | collection | Array.<Object> | A collection of Uttori documents. | | context | Object | A Uttori-like context. | | context.config | Object | A provided configuration to use. |
Example (MarkdownItRenderer.renderCollection(collection, context))
const context = {
config: {
[MarkdownItRenderer.configKey]: {
...,
},
},
};
MarkdownItRenderer.renderCollection(collection, context);
MarkdownItRenderer.render(content, config) ⇒ String
Renders Markdown for a provided string with a provided MarkdownIt configuration.
Kind: static method of MarkdownItRenderer
Returns: String - The rendered content.
| Param | Type | Description | | --- | --- | --- | | content | String | Markdown content to be converted to HTML. | | config | Object | A provided MarkdownIt configuration to use. |
Example (MarkdownItRenderer.render(content, config))
const html = MarkdownItRenderer.render(content, config);
Tests
To run the test suite, first install the dependencies, then run npm test
:
npm install
npm test
DEBUG=Uttori* npm test