2.1.0 (2022-04-21)
- refactor(cli)!: Remove support for "extra options" and add -c flag, closes #916
- cli: cli displays the correct version number (8b48882)
- the CLI no longer accepts "extra options". Instead you should pass the
-c
flag. To update:
before:
showdown makehtml -i foo.md -o bar.html --strikethrough --emoji
after:
showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji
2.0.0 (2022-02-15)
- Supported Node Versions were set to match the node release schedule which at the time of writing includes Node 12.x, 14.x, 16.x and 17.x
- The
yargs
dependecy was updated to^17.2.1
to mitigate a security issue. - The Showdown Licesnse has been changed from BSD-3-Clause to MIT
- Added
ellipsis
option to configure if the ellipsis unicode character is used or not. ( Thanks @VladimirV99 ) - Added a default security policy. Please report security issues to the issues tab on GitHub.
1.9.1 (2019-11-02)
1.9.0 (2018-11-10)
Version 1.9.0 introduces a new feature, the Markdown to HTML converter. This feature is still experimental and is a partial backport of the new Reverse Converter planned for version 2.0.
- italicsAndBold: fix issue with consecutive spans (#608) (5c0d67e), closes #544
- underline: fix issue with consecutive spans (81edc70)
1.8.7 (2018-10-16)
-
emojis: fix emoji excessive size (4aca41c)
-
gfm-codeblocks: add support for spaces before language declaration (24bf7b1), closes #569 leading space no longer breaks gfm codeblocks (828c32f), closes #523
-
images: fix js error when using image references (980e702), closes #585
-
literalMidWordAsterisks: now parses single characters enclosed by * correctly (fe70e45), closes #478
-
mentions: allow for usernames with dot, underscore and dash (dfeb1e2), closes #574
-
nbsp: fix replacing of nbsp with regular spaces (8bc1f42)
1.8.6 (2017-12-22)
1.8.5 (2017-12-10)
- completeHTMLDocument: add option to output a complete HTML document (a8427c9)
- metadata: add support for embedded metadata (63d949f), closes #260
1.8.4 (2017-12-05)
1.8.3 (2017-11-28)
- literalMidWordAsterisks: no longer treats colon as alphanumeric char (21194c8), closes #461
- spanGamut: code spans are hashed after parsing (f4f63c5), closes #464
- tables: pipe character in code spans no longer breaks table (0c933a0), closes #465
1.8.2 (2017-11-11)
- fenced codeblocks: add tilde as fenced code block delimiter (c956ede), closes #456
- openLinksInNewWindow: hash links are not affected by the option (11936ec), closes #457
1.8.1 (2017-11-01)
- CDNjs: bump version to fix version mismatch with CDNjs (#452)
1.8.0 (2017-10-24)
Don't use the CDNjs version of this release. See issue #452 for more details.
-
ellipsis: add auto-ellipsis support (25f1978)
-
Example:
input
this is an ellipsis...
output
<p>this is an ellipsis…</p>
-
-
emoji: add emoji support through option
emoji
(5b8f1d3), closes #448-
Usage:
var conv = new showdown.Converter({emoji: true});
-
Example:
input
this is a smile :smile: emoji
output
<p>this is a smile 😄 emoji</p>
-
-
start ordered lists at an arbitrary number: add support for defining the first item number of ordered lists (9cdc35e), closes #377
-
Example:
input
3. foo 4. bar 5. baz
output
<ol start="3"> <li>foo</li> <li>bar</li> <li>baz</li> </ol>
-
-
underline: add EXPERIMENTAL support for underline (084b819), closes #450
-
Usage:
var conv = new showdown.Converter({underline: true});
-
Example:
input
this is __underlined__ and this is ___also underlined___
output
<p>this is <u>underlined</u> and this is <u>also underlined</u></p>
-
Note: With this option enabled, underscore no longer parses as
<em>
or<strong>
-
- start ordered lists at an arbitrary number: Since showdown now supports starting ordered lists at an arbitrary number, list output may differ.
1.7.6 (2017-10-06)
- tables: tables are properly rendered when followed by a single linebreak and a list (d88b095), closes #443
- tables: trailing spaces no longer prevent table parsing (66bdd21), closes #442
1.7.5 (2017-10-02)
- html-comments: changed regex to prevent malformed long comment to freeze showdown (3efcd10), closes #439
1.7.4 (2017-09-08)
- helper.isArray: replace a.constructor === Array with Array.isArray (466a2eb), closes #425
- loader: allow AMD loader to be used within Node env (ff24bdb)
1.7.3 (2017-08-23)
- github flavor: add backslashEscapesHTMLTags to GFM flavor (5284439)
- literalMidWordAsterisks: option no longer treats punctuation as word character (8f05be7), closes #398
- tables: allow for one column table (fef110c), closes #406
- rawHeaderId: Remove only spaces, ' and " from generated header ids (1791cf0), closes #409
- rawPrefixHeaderId: add option to prevent showdown from modifying the prefix (ff26c08), closes #409
1.7.2 (2017-08-05)
- githubMentions: githubMentions now works with openLinksInNewWindow options (1194d88), closes #403
- lists: fix multi paragraph lists with sublists (a2259c0), closes #397
- tablesHeaderId: fix mismatch of option name (51e4693), closes #412
1.7.1 (2017-06-02)
Important HOTFIX
1.7.0 (2017-06-01)
(DEPRECATED)
- anchors: fix issue with brackets in link URL (7ba18dd), closes #390
- excludeTrailingPunctuationFromURL: add comma to punctuation list (fa35fd5), closes #354
- excludeTrailingPunctuationFromURLs: fix weird character when this option with simplifiedAutoLinks (71acff5), closes #378
- HTML parsing: fix HTML parsing issues with nested tags (6fbc072), closes #357 #387
- openLinksInNewWindow: encode _ to prevent clash with em (813f832), closes #379
- package: update yargs to version 7.0.1 (#349) (9308d7b)
- package: update yargs to version 8.0.1 (#385) (5fd847b)
- simpleAutoLinks: URLs with emphasis/strikethrough are parsed (5c50675), closes #347
- tables: pipe char can now be escaped (1ebc195), closes #345
- url parsing: fix url edge case parsing in images and links (30aa18c)
- customizeHeaderId: add option for customizing header ids (94c570a), closes #383
- images: add support for image's implicit reference syntax (0c6c07b), closes #366
- literalMidWordAsterisks: add option for mid word asterisks (5bec8f9)
- openLinksInNewWindow: add option to open all links in a new window (50235d6), closes #362 #337 #249 #247 #222
1.6.4 (2017-02-06)
- encodeAmpsAndAngles: fix > and < encoding (7f43b79), closes #236
- encodeEmail: now produces valid emails (605d8b7), closes #340
- flavor: github: new version of github does not use prefix 'user-content' in headers (368f0b6)
- hashCodeTags: escape code tags (41cb3f6), closes #339
- italicsAndBold: fix double emphasis edge case (1832b7f)
- paragraph: workaround QML bug (f7a429e), closes #246 #338
- prefixHeaderId: make
prefixHeaderId
string be parsed along the generated id (f641a7d)
- flavor: ghost: add Ghost flavor (6374b5b)
- flavor: original: add John Gruber's markdown flavor (6374b5b)
1.6.3 (2017-01-30)
- codeSpans: add - and = to escaped chars inside code spans (4243a31)
- italicsAndBold: fix inconsistency in italicsAndBold parsing (a4f05d4), closes #332
- literalMidWordUnderscores: fix inconsistent behavior of emphasis and strong with literalMidWordUndescores (0292ae0), closes #333
- paragraphs: fix empty lines generating empty paragraphs (54bf744), closes #334
- strikethrough: fix strikethrough being wrongly parsed inside codeSpans (169cbe8)
- events: add events to all subparsers (7d63a3e)
1.6.2 (2017-01-29)
- escapeSpecialCharsWithinTagAttributes: add ~ and = to escaped chars (bfcc0e4)
- strikethrough: allow escaping tilde char (24d47d7), closes #331
- ghMentionsLink: add ability to define the generated url in @mentions (a4c24c9)
1.6.1 (2017-01-28)
- encodeEmail: add option to enable/disable mail obfuscation (90c52b8)
This release also improves performance a bit (around 8%)
1.6.0 (2017-01-09)
- ghCompatibleHeaderId: improve the number of removed chars (d499feb)
- IE8: fix for IE8 error on using isUndefined function (561dc5f), closes #280
- options: fix ghCompatibleHeaderId that was set as string instead of boolean (de7c37e)
- simpleLineBreaks: fix simpleLineBreaks option not working with non-ASCII chars and markdown delimiters (b1c458a), closes #318 #323
- CLI: add -q (quiet) and -m (mute) mode to CLI (f3b86f0)
- CLI:flavor: add flavor option to CLI (2d6cd1e)
- getFlavor: add getFlavor method to showdown and Converter (0eaf105)
- ghMentions: add support for github's @mentions (f2671c0), closes #51
-
CLI tool now uses the same option defaults as showdown main library. This mean the default flavor is vanilla and ghCodeBlocks options is enabled by default.
To update, add
--ghCodeBlocks="false"
to the command.
1.5.5 (2016-12-30)
1.5.4 (2016-12-21)
- horizontal rule: revert backwards incompatibility change (113f5f6), closes #317
- simpleLineBreaks: fix simpleLineBreak option breaking lists html (ed4c33f), closes #316
1.5.3 (2016-12-19)
- requireSpaceBeforeHeadingText: option to make space between
#
and header text mandatory (5d19877), closes #277
1.5.2 (2016-12-17)
- listeners: fix listeners typo (f0d25b7), closes #290
- lists: lines with multiple dashes being parsed as multilists (10b3410), closes #312
- nbsp: nbsp are replaced with simple spaces (6e90f7c)
1.5.1 (2016-12-01)
- simpleLineBreaks: option that parses linebreaks as
. 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. (0942b5e), closes #206 - excludeTrailingPunctuationFromURLs: option that excludes trailing punctuation from auto linked URLs. (d2fc2a0), closes #266 #308
1.5.0 (2016-11-11)
- lists: enforce 4 space indentation in sublists (d51be6e)
- lists: fix sublists inconsistent behavior (9cfe8b1), closes #299
- disableForced4SpacesIndentedSublists: option that disables the requirement of indenting nested sublists by 4 spaces. The option is disabled by default (0be39bc)
-
syntax for sublists is now more restrictive. Before, sublists SHOULD be indented by 4 spaces, but indenting at least 2 spaces would work. Now, sublists MUST be indented 4 spaces or they won't work.
With this input:
* one * two * three
Before (output):
<ul> <li>one <ul> <li>two <ul><li>three</li></ul> <li> </ul> </li> <ul>
After (output):
<ul> <li>one</li> <li>two <ul><li>three</li></ul> </li> </ul>
To migrate either fix source md files or activate the option
disableForced4SpacesIndentedSublists
:showdown.setOption('disableForced4SpacesIndentedSublists', true);
1.4.4 (2016-11-02)
- make some regexes a bit faster and make tab char equivalent to 4 spaces (b7e7560)
- double linebreaks: fix double linebreaks in html output (f97e072), closes #291
- lists linebreaks: fix lists linebreaks in html output (2b813cd), closes #291
- parser: fix issue with comments inside nested code blocks (799abea), closes #288
1.4.3 (2016-08-19)
- bower: fix sourceMappingURL errors in bower by including source (9b5a233), closes #200
- comments: Fix html comment parser (238726c), closes #276
- ie8 compatibility: Improve ie8 compatibility (984942e), closes #275 #271
- simplifiedAutoLink: fix simplified autolink to match GFM behavior (0cc55b0), closes #284 #285
1.4.2 (2016-06-21)
- image-parser: fix ref style imgs after inline style imgs not parsing correctly (73206b0), closes #261
- tables: add check for undefined on text due to failing to parse tables (6e30a48), author stewartmckee, closes #257
1.4.1 (2016-05-17)
1.4.0 (2016-05-13)
- hashHTMLBlock: fix issue with html breaking markdown parsing (2746949), closes #220
- HTMLParser: fix code tags parsing (71a5873), closes #231
- HTMLParser: fix ghCodeBlocks being parsed inside code tags (7d0436d), closes #229
- strikethrough: Fix strikethrough issue with escaped chars (5669317), closes #214
- tables: fix tables to match github's md spec (f58f014), closes #230
1.3.0 (2015-10-19)
- literalMidWordUnderscores: fix different behavior with asterisks (e86aea8), closes #198
- simpleautolink: fix mail simpleAutoLink to ignore urls with @ symbol (8ebb25e), closes #204
- eventDispatcher: add an event dispatcher to converter (2734326)
- hashHTMLSpans: add support for hashing span elements (3097bd4), closes #196 #175
<a name"1.2.3">
1.2.3 (2015-08-27)
- blockGamut: fix for headings inside blockquotes (3df70624, closes #191)
- blockQuote: fix 'github style codeblocks' not being parsed inside 'blockquote' (ed2cf595, closes #192)
- simpleAutoLinks: fix emails being treated as simple urls (7dc3fb1d, closes #187)
- tables: fix md tables being parsed inside indented code blocks. (50256233, closes #193)
<a name"1.2.2">
1.2.2 (2015-08-02)
<a name"1.2.1">
1.2.1 (2015-07-22)
- smoothLivePreview: fix weird effects due to parsing incomplete input (62ba3733)
- subParsers/githubCodeBlock: add extra language class to conform to html5 spec (b7f5e32)
-
tables:
-
italicsAndBold:
-
codeSpans: Fix issue with code html tags not being correctly escaped (5f043ca)
-
images: fix alt attribute not being escaped correctly (542194e)
<a name"1.2.0">
1.2.0 (2015-07-13)
This release moves some of the most popular extensions (such as table-extension and github-extension) to core. Also introduces a simple cli tool that you can use to quickly convert markdown files into html.
- headerLevelStart: fix for NaN error when specifying a non number as headerLevelStart param (be72b487)
- CLI: simple cli tool (ALPHA) (f6a33e40)
- flavours: add markdown presets/flavors (7e55bceb, closes #164)
- ghCodeBlocks: add option to disable GH codeblocks (c33f9888)
- literalMidWordUnderscores: add support for GFM literal midword underscores (0c0cd7db)
- simplifiedAutoLink: add support for GFM autolinks (cff02372)
- strikethrough: add support for GFM strikethrough (43e9448d)
- tables: add support for GFM tables (3a924e3c)
- tasklists: add support for GFM tasklists (dc72403a)
<a name"1.1.0">
1.1.0 (2015-06-18)
- converter.js: add error if the passed constructor argument is not an object (d86ed450)
- output modifiers: fix for output modifiers running twice (dcbdc61e)
- headerLevelStart: add support for setting the header starting level (b84ac67d, closes #69)
- image dimensions: add support for setting image dimensions within markdown syntax (af82c2b6, closes #143)
- noHeaderId: add option to suppress automatic generation of ids in headers (7ac893e9)
- showdown.getDefaultOptions: add method to retrieve default global options keypairs (2de53a7d)
- Deprecates
showdown.extensions
property. To migrate, extensions should use the new methodshowdown.extension(<ext name>, <extension>)
to register. For more information on the new extension loading mechanism, please check the wiki pages. (4ebd0caa)
<a name"1.0.2">
1.0.2 (2015-05-28)
- Gruntfile.js add missing comma in footer. This bug prevented concatenating other js scripts and libraries with showdown(5315508. Credits to Alexandre Courtiol.
<a name"1.0.1">
1.0.1 (2015-05-27)
- bower.json: update bower.json main attribute to point to dist directory (bc3a092f)
<a name"1.0.0">
1.0.0 (2015-05-27)
This is a major code refactor with some big changes such as:
- showdown.js file was split in several files, called sub-parsers. This should improve code maintainability.
- angular integration was removed from core and move to its own repository, similar to what was done with extensions
- A new extension registering system is on the "cooks" that should reduce errors when using extensions. The old mechanism is kept so old extensions should be compatible.
- extensions: support for old extension loading mechanism (95ed7c68)
- helpers: fix wrong function call 'escapeCharacters' due to old strayed code (18ba4e75)
- showdown.js:
- options.omitExtraWLInCodeBlocks: fix for options.omitExtraWLInCodeBlocks only applying in gitHub flavoured code b (e6f40e19)
- showdown: fix for options merging into globalOptions (ddd6011d, closes #153)
- registerExtension(): new extension loading mechanism. Now extensions can be registered using this function. The system, however, is not final and will probably be changed until the final version([0fd10cb] (http://github.com/showdownjs/showdown/commit/0fd10cb))
- allowBlockIndents: indented inline block elements can now be parsed as markdown (f6326b84)
- omitExtraWLInCodeBlocks: add option to omit extra newline at the end of codeblocks (141e3f5)
- prefixHeaderId: add options to prefix header ids to prevent id clash (141e3f5)
- Converter.options: add getOption(), setOption() and getOptions() to Converter object (db6f79b0)
-
NAMESPACE: showdown's namespace changed.
To migrate your code you should update all references to
Showdown
withshowdown
. -
Converter: converter reference changed from
converter
toConverter
.To migrate you should update all references to
Showdown.converter
withshowdown.Converter
-
angular: angular integration was removed from core and now lives in it's own repository.
If you're using angular integration, you should install ng-showdown. Ex:
bower install ng-showdown
-
extensions: showdown extensions were removed from core package and now live in their own repository. See the project's github page for available extensions