Fix ghCodeBlocks not being correctly parsed inside lists. Also, as a side
effect, fixes issues with consecutive lists and extra paragraphs being
added into lists.
Closes#142, Closes#183, Closes#184
When literalMidWordUnderscoresis set to true, em and strong tags that start or end a paragraph don't get parsed as such.
This fixes this issue.
Closes#174
Cannot read property 'trim' of undefined happens when the parser is fed a malformed table.
This happens in live previews (for instance, when using Angularjs).
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
Consecutive lists we're previously being condensed into one unique list, with odd paragraph output.
This fix correctly splits lists, but does not change the weird paragraph output
closes#142
According to spec, the title attribute in link definitions can be wrapped in single quotes. Previously, showdown didn't support this.
Now the title attribute can be wrapped in single quotes.
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
Some HTML5 block elements were not being properly ignored. This caused problems in rendering markdown as showdown would add additional <br /> to some block elements.
This commit should fix this issue.
Closes#90, closes#140, closes#147
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
* `this` scope is captured as `self`, so that it can be properly passed to `Showdown.forEach(plugin(self)` otherwise,
extension plugin will end up with converter pointing to global scope.
* because Showdown is not using proper prototype chain (i.e. references to yet to be defined functions), I had to
move the extension handling below makeHtml so that it is defined and available within the plugin itself
+ fix bug with forEach extensions within client-side handling (browser)
+ update README to specify extension as array for client-side usage (same as server)
* Arrays used as hashes replaced by object initializer `{}` and Array
constructor calls replaced with array literal `[]`
* `function char2hex(ch)` used in email obfuscation replaced with inline
call `ch.charCodeAt(0).toString(16)`
* **For clarity I edited only src/showdown.js script. There are also
copy of file in `example` directory and minified version in
`compressed` directory.**
* Arrays used as hashes replaced by object initializer `{}` and Array
constructor calls replaced with array literal `[]`
* `function char2hex(ch)` used in email obfuscation replaced with inline
call `ch.charCodeAt(0).toString(16)`
* **For clarity I edited only src/showdown.js script. There are also
copy of file in `example` directory and minified version in
`compressed` directory.**