Detalhes do pacote

@gerhobbelt/markdown-it-sanitizer

svbergerem5MIT0.4.3-1

sanitizer for markdown-it.

markdown-it-plugin, markdown-it, markdown, sanitizer

readme (leia-me)

markdown-it-sanitizer

Build Status Coverage Status npm version

sanitizer plugin for markdown-it markdown parser.

Accepted tags

All tags are parsed case insensitive.

Balanced

<b>, <blockquote>, <code>, <em>, <h1>, ..., <h6>, <li>, <ol>, <ol start="42">, <p>, <pre>, <sub>, <sup>, <strong>, <strike>, <ul>

Standalone

<br>, <hr>

Links

<a href="http://example.com" title="link">text</a>

The title attribute is optional.

Images

<img src="http://example.com" alt="cat" title="image">

The alt and title attributes are optional.

Install

node.js, bower:

npm install markdown-it-sanitizer --save
bower install markdown-it-sanitizer --save

Use

Basic

var md = require('markdown-it')({ html: true })
            .use(require('markdown-it-sanitizer'));

md.render('<b>test<p></b>'); // => '<p><b>test</b></p>'

Advanced

For not whitelisted tags and tags that don't have a matching opening/closing tag you can define whether you would like to remove or escape them. You can also define a class attribute that will be added to image tags. Here is an example with default values:

var md = require('markdown-it')({ html: true })
            .use(require('markdown-it-sanitizer'), {
              imageClass: '',
              removeUnbalanced: false,
              removeUnknown: false
            });

// unknown tag
md.render('<u>test</u>'); // => '<p>&lt;u&gt;test&lt;/u&gt;</p>'
// unknown tag with removeUnknown: true
md.render('<u>test</u>'); // => '<p>test</p>'

// unbalanced tags
md.render('<b>test</em>'); // => '<p>&lt;b&gt;test&lt;/em&gt;</p>'
// unbalanced tags with removeUnbalanced: true
md.render('<b>test</em>'); // => '<p>test</p>'

// imageClass: 'img-responsive'
md.render('<img src="http://example.com/image.png" alt="image" title="example">'); // => '<p><img src="http://example.com/image.png" alt="image" title="example" class="img-responsive"></p>'

Differences in the browser. If you load the script directly into the page, without package system, the module will add itself globally as window.markdownitSanitizer.

License

MIT

changelog (log de mudanças)

0.4.3

  • Allow arbitrary attributes for a tags but only keep href and title attributes.

0.4.2

  • Allow image and link urls starting with //

0.4.1

  • Allow arbitrary attributes for image tags but only keep src, alt and title attributes.

0.4.0

  • Update markdown-it to 5.0.0

0.3.2

  • Added option imageClass

0.3.1

  • Remove url-regex dependency
  • Fix sanitizer freeze #3

0.3.0

  • Use markdown-it 4

0.2.2

  • Only run balance for HTML input

0.2.1

  • Refactor sanitizer, should be now one of the last rules

0.2.0

  • Added options for removing or escaping unbalanced/unknown tags
  • Check url for allowed protocolls: http and https for images, http, https, ftp, mailto and xmpp for links

0.1.0

  • Initial release