1.3.0 • Published 5 years ago

metalsmith-markdown v1.3.0

Weekly downloads
4,652
License
MIT
Repository
github
Last release
5 years ago

metalsmith-markdown

npm version code style: prettier metalsmith: core plugin

Known Vulnerabilities

A Metalsmith plugin to convert markdown files.

Installation

$ npm install metalsmith-markdown

CLI Usage

Install via npm and then add the metalsmith-markdown key to your metalsmith.json plugins with any Marked options you want, like so:

{
  "plugins": {
    "metalsmith-markdown": {
      "pedantic": false,
      "gfm": true,
      "tables": true,
      "breaks": false,
      "sanitize": false,
      "smartLists": true,
      "smartypants": false,
      "xhtml": false
    }
  }
}

Javascript Usage

Pass options to the markdown plugin and pass it to Metalsmith with the use method:

var markdown = require('metalsmith-markdown');
var highlighter = require('highlighter');

metalsmith.use(markdown({
  highlight: function(code) {
    return require('highlight.js').highlightAuto(code).value;
  },
  pedantic: false,
  gfm: true,
  tables: true,
  breaks: false,
  sanitize: false,
  smartLists: true,
  smartypants: false,
  xhtml: false
}));

Custom Renderer

metalsmith-markdown uses marked, so to create a custom renderer get an instance of marked.Renderer()

var markdown = require('metalsmith-markdown');
var marked = require('marked');
var markdownRenderer = new marked.Renderer();

markdownRenderer.image = function (href, title, text) {
return `
  <figure>
    <img src="${href}" alt="${title}" title="${title}" />
    <figcaption>
      <p>${text}</p>
    </figcaption>
  </figure>`;
};

metalsmith.use(markdown({
  renderer: markdownRenderer,
  pedantic: false,
  gfm: true,
  tables: true,
  breaks: false,
  sanitize: false,
  smartLists: true,
  smartypants: false,
  xhtml: false
}));

History

History

License

MIT