The CLI was completely rewrote. Changed dependency from yargs to commanderjs,
which is cleaner, faster and has no dependencies.
Also added a complete testsuite for the cli.
Closes#893, #894
Add rel="noreferrer" to links when openLinksInNewWindow is on. Also add noopener when openLinksInNewWindow is on.
target="_blank" without also adding rel="noopener noreferrer" creates a vulnerability
(since the site you're linking to has access to the window.opener by default.
This adds rel="noopener noreferrer" to links generated by the makeHtml converter when openLinksInNewWindow is true.
Closes#670
Showdown now supports a simple HTML to Markdown converter.
**Usage:**
```
var conv = new showdown.Converter();
var md = conv.makeMarkdown('<a href="/url">a link</a>');
```
Closes#388, #233
In some circumstances, on a reference style image, the last capturing
group is ignored, which causes the fucntion argument to return the number
of matches instead of a string (or undefined).
Checking if the title parameter is a string ensures that the title
parameter is actually something that was caught by the regex and not some
metadata.
Closes#585
One or more spaces before the language declaration of a code block is supported by Github.
E.g.
``` html
<div>HTML!</div>
```
``` html
<div>HTML!</div>
```
```html
<div>HTML!</div>
```
Closes#569
With this option enabled, this:
```md
> some text
> some other text
```
witll result in:
```html
<blockquote>
<p>some text</p>
</blockquote>
<blockquote>
<p>some other text</p>
</blockquote>
```
This is the default behavior of GFM.
Closes#477
A simple metadata parser can be useful in markdown documents.
This commit introduces the feature, with the following syntax:
--- or ««« at tstart of the document,
(optionally) followed by a alphanumeric format identifier
followed by key value pairs separated by a colon and a space
followed by --- or ÂÂÂ
Also, adds methods for retrieving the parsed metadata, namely:
getMetadata() and getMetadataFormat
Closes#260
Code spans are now hashed after parsing which means extensions
that listen to spanGamut events no longer need to worry about
escaping "custom" magic chars inside code spans.
Closes#464
Syntax is:
```
__double underscores__
or
___triple unserscores___
```
Keep in mind that, with this option enabled, underscore no longer
parses as `<em>` or `<strong>`
Closes#450