Shortcode parser written in JavaScript
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Spacing adjustments of shortcode replacements Oct 31, 2013
test Spacing adjustments of shortcode replacements Oct 31, 2013
.gitignore Initial commit Oct 30, 2013
.tm_properties Initial commit Oct 30, 2013
.travis.yml Initial commit Oct 30, 2013
LICENSE Initial commit Oct 30, 2013
Makefile Renamed src/ to lib/ Oct 30, 2013
README.md Add shortcode.parseInContext(str, context, data) Oct 30, 2013
jshint.json Initial commit Oct 30, 2013
package.json Renamed src/ to lib/ Oct 30, 2013

README.md

shortcode-parser Build Status

Shortcode parser written in JavaScript.

Features

  • Supports self closing and enclosing shortcodes
  • Supports shortcode attributes
  • Automatic typecasting to JavaScript native objects
  • Clean & Linted JavaScript source
  • Unit tests included

Usage

Install:

npm install shortcode-parser

Install from git Repository:

git clone https://github.com/derdesign/shortcode-parser.git

Running tests:

make test

Require the library:

var shortcode = require('shortcode-parser');

Adding shortcodes:

shortcode.add('bold', function(buf, opts) {
  if (opts.upper) buf = buf.toUpperCase();
  return '<strong>' + buf + '</strong>';
});

Parsing shortcodes:

var str = "This is [bold upper=true]Bold Text[/bold]!!!";
var out = shortcode.parse(out);

Parsing shortcodes with context:

var str = "[markdown gfm tables breaks sanitize]## Hello World[/markdown]";
var out = shortcode.parse(str, {
  charcodes: function(buf, opts) {
    return marked(buf, opts);
  }
});

API

shortcode.add(name, callback)

Adds a handler to the shortcode name. The handler receives (str, params, data). When using an enclosing shortcode, str will contain the wrapped content (empty string if it's a self closing shortcode).

The params object contains the parameters for to the shortcode. The data object is passed by shortcode.parse() if provided.

shortcode.remove(name)

Removes a shortcode handler.

shortcode.parse(str, data, context)

Performs shortcode replacements on str. If context is specified, its methods will be used as shortcode handlers instead of the registered ones. The data parameter is optional and will be passed to all shortcode handlers.

shortcode.parseInContext(str, context, data)

Same as shortcode.parse but with the second and third parameters swapped. Added for convenience and readability.

License

shortcode-parser is MIT Licensed