2.0.2 • Published 4 years ago

uttori-plugin-renderer-markdown-it v2.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

view on npm npm module downloads Build Status Dependency Status Coverage Status

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

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

ParamTypeDescription
configObjectA configuration object.
config[MarkdownItRenderer.configKeyObjectA 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

ParamTypeDescription
contextObjectA Uttori-like context.
context.hooksObjectAn event system / hook system to use.
context.hooks.onfunctionAn event registration function.
context.configObjectA provided configuration to use.
context.config.eventsObjectAn 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.

ParamTypeDescription
contentStringMarkdown content to be converted to HTML.
contextObjectA Uttori-like context.
context.configObjectA 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.

ParamTypeDescription
collectionArray.<Object>A collection of Uttori documents.
contextObjectA Uttori-like context.
context.configObjectA 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.

ParamTypeDescription
contentStringMarkdown content to be converted to HTML.
configObjectA 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

Contributors

License

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.1

5 years ago

1.0.0

5 years ago