markdown-symbols

Easily add and create custom symbols to use in markdown, and then compile them to HTML.

markdown-symbols

Easily add and create custom symbols to use in markdown, and then compile them to HTML.

If you find a bug or have a feature request, please create an issue.

Inspired by @Vinz243 from this issue on marked-extras.

Install with npm:

npm i markdown-symbols --save
var symbols = require('markdown-symbols');
symbols.process( String );

An array of replacement patterns for custom symbols can be passed as a second parameter

symbols.process( String, patterns );

Replacement patterns follow this format:

var patterns = [
  {
    pattern: /foo/, // the pattern to replace 
    replacement: 'bar' // the replacement. can be a string or a function. 
  }
];

This is the pattern and replacement used to for alerts:

var patterns = [
  {
    pattern: symbols.makeDelims(['!!', '!!']),
    replacementfunction (matchinner) {
      var arr = inner.split('|');
      var text = arr[0];
      var modifier = arr[1] ? ' alert-' + arr[1] : '';
      return '<span class="alert' + modifier + '">' + text + '</span>';
    }
  }
];

Take a look at index.js to see how the others are created.

For patterns, the makeDelims utility method is a convenience for more easily creating custom symbols:

symbols.makeDelims(['!!', '!!'])

The delims library is used to create delimiters, visit that project to learn about usage and available options.

To build the examples, run npm i && node examples/example

||This is a label!||
||This is a label!|warning||
||This is a label!|success||
> and captcha protected spoilers:
 
\{{Simple spoiler|info}}
 
!\{{Write me at <john.doe@example.com>|info}}
=====0%=====
=====10%|error=====
=====40%|warning=====
=====80%|success=====
::|search::
[[42]]
[[42|danger]]
////
Hello, world|small
////
!!New update released! !!
!!New update released!|info!!

Jon Schlinkert

Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license