* startrefactoring the event system
* refactor: blockquotes, code blocks and links refactored
* refactor codeblock to new event system
* refactor subparser until ghcode to new events
* finish adating ghcodeblock to new event
* add headings to new events
* add image to event system
* add emphasisAndStrong to event system
* fix wrong event name in emphasisAndStrong onEnd event
* spanGamut and build
* showdown.helper.event refactored to showdown.Event
* partial
* add links
* add metadata
* add strikethrough and table
* build
* add underline
* add unescapeSpecialChars
* small refactoring
* remove old tables parser
* add lists
* add simple event trigger tests
* build
* fix browserstack
* fix browserstack
* remove testing for ie11 and bumped firefox min version to 45
* fixes and closes#920
* build
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.
Merged branch 'cli_refactor' into develop
Closes#893, #894
This is a major refactor of the links subparser, previously known as anchors subparser.
Closes#355, #534
BREAKING CHANGE: `excludeTrailingPunctuationFromURLs` option was removed. This is now the default behavior
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
style
Github replaces spaces with dashes and removes a bunch of characters
from generated header ids ][&~$!@#*()=:/,;?+'.\
This feature implements this.
Closes # 320, closes#321
This option enables linebreaks to always be treated as `<br />` tags
without needing to add spaces in front of the line, the same way GitHub does.
Closes#206
This feature enables users to select a preset/flavor.
A flavor is just a preset of options, a shortcut so users don't have to set each option one by one.
Closes#164
Github Flavored Markdown supports tasklist by `[x]` or `[ ]` after list item marker.
This commit adds this feature to showdown through an option called "tasklists".
Related to #164
GFM support fenced codeblocks. Showdown, since very early, adopted this too.
It is now possible to disable GFM codeblocks with the option "ghCodeBlocks" set to false.
It is enabled by default
Github Flavored Markdown supports a specific table syntax. Table support was already available as an extension.
With this commit, the feature was moved to core, adding this feature to showdown through an option called "tables".
Related to #164
Github Flavored Markdown supports strikethrough (`<del>`) syntax using double tilde `~~` delimiters.
This commit adds this feature to showdown through an option called "strikethrough".
Related to #164
Github Flavored Markdown does not parse underscores in the middle of a word as emphasis/bold.
This commit adds this feature to showdown through an option called "literalMidWordUnderscores".
Related to #164
Github Flavored Markdown detects urls and mails embeded in the text without any extra markup or delimiter.
This commit adds this feature to showdown through an option called "simplifiedAutoLink".
Related to #164
This feature allows users to define the image dimensions using markdown syntax:
```
![my image](img.jpg =100x80 "image title")
```
To enable this feature, use the option `parseImgDimensions`.
Closes#143
Old extensions that register themselves in `showdown.extensions` can be loaded and validated using the new extension loading mechanism.
However, a warn is issued, alerting users and developers that the extension should be updated to use the new mechanism
BREAKING CHANGE: Deprecates `showdown.extensions` property. To migrate, you should use the new method `showdown.extension(<ext name>, <extension>)` to register the extension.
Passing an option to a specific converter affects other instances of the converter since options are merged into showdown's global options.
This commit fixes that.
Closes#153
If two headers have similar texts, the generated id could be equal. In order to prevent id clash:
- A unique suffix is added if a header id already exists
- Option to add a prefix to header id
- Update of correspondent tests
- (credits to nicovalencia)
Closes#81, closes#82
When the text is pulled from indented HTML elements, ex:
```
<body>
<div>
## Content to be converted
</div>
</body>
```
it no longer becomes wrapped in code/pre tags. A new option is also available (allowBlockIndents) that when set to false, reverts to the previous behavior