0.1.2 • Published 10 years ago

markdown-symbols v0.1.2

Weekly downloads
3
License
-
Repository
github
Last release
10 years ago

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

Install with npm:

npm i markdown-symbols --save

Usage

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

Add Custom Symbols

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.
  }
];

Example

This is the pattern and replacement used to for alerts:

var patterns = [
  {
    pattern: symbols.makeDelims(['!!', '!!']),
    replacement: function (match, inner) {
      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.

.makeDelims()

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.

Examples

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

Labels

||This is a label!||
||This is a label!|warning||
||This is a label!|success||

Spoiler

> and captcha protected spoilers:

\{{Simple spoiler|info}}

!\{{Write me at <john.doe@example.com>|info}}

Progress bars

=====0%=====
=====10%|error=====
=====40%|warning=====
=====80%|success=====

Glyphicons

::|search::

Badges

[[42]]
[[42|danger]]

Jumbotrons

////
Hello, world|small
////

Alerts

!!New update released! !!
!!New update released!|info!!

Author

Jon Schlinkert

License

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