Utility functions for breakdance plugins.
Install with npm:
$ npm install --save breakdance-util
var utils = require('breakdance-util');
Visit the breakdance documentation for more information about using and customizing breakdance.
Wrapper for creating the handlers for compiling a tag that has *.open
and *.close
nodes, in a single function call.
Params
open
{String}: The opening tag to renderclose
{String}: The closing tag to renderstate
{Object}handler
{Function}: Visitor function to modify the nodereturns
{undefined}
Example
breakdance.set('div', utils.block('', ''));
breakdance.set('address', block('\n<address>\n', '\n</address>\n'));
// optionally pass a handler function to access the "parent" node
breakdance.set('abbr', block('<abbr>', '</abbr>', function(node) {
var attr = utils.toAttribs(node.attribs, ['title']);
if (attr) {
node.open = '<abbr' + attr + '>';
}
}))
Stringify the attribs
for a node.
Params
attribs
{Object}: Object of attributes to stringifynames
{Array}: Array ofnames
to only stringify attributes with those names.returns
{String}: Returns a string of attributes, e.g.src="foo.jpg"
Example
var str = utils.toAttribs(node.attribs);
Attempt to get a "language" value from the given attribs
. Used with code/pre tags.
Params
attribs
{Object}: Thenode.attribs
objectreturns
{String}
Example
breakdance.set('code', function(node) {
var lang = utils.getLang(node.attribs);
// console.log(lang);
});
Formats the link part of a "src" or "href" attribute on the given node
.
Params
node
{Object}key
{String}: Either'src'
or'href'
compiler
{Object}: Pass the breakdance compiler instance, for state and options.returns
{String}
Example
// this is how <img> tags are rendered
breakdance.set('img', function(node) {
var attribs = node.attribs || {};
if (attribs.src) {
this.emit('![' + (attribs.alt || '').trim());
this.mapVisit(node);
var src = utils.formatLink(node, 'src', this);
this.emit(']' + src);
//=> ![foo](bar.jpg)
}
})
- breakdance-checklist: Plugin that adds checklist rendering support to breakdance, similar to task lists in github-flavored-markdown. | homepage
- breakdance: Breakdance is a node.js library for converting HTML to markdown. Highly pluggable, flexible and easy… more | homepage
- generate-breakdance: Generate a new breakdance plugin project. | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. MIT
This file was generated by verb-generate-readme, v0.4.2, on February 05, 2017.