Repository: showdownjs/showdown Branch: master Commit: 2a8a64eb3dd1 Files: 899 Total size: 1014.2 KB Directory structure: gitextract_un81wrs2/ ├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── browserstack.yml │ ├── codeql-analysis.yml │ ├── docs.yml │ ├── node.linux.yml │ └── node.win.yml ├── .gitignore ├── .jshintignore ├── .jshintrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── CREDITS.md ├── DONATIONS.md ├── Gruntfile.js ├── LICENSE ├── README.md ├── SECURITY.md ├── TASKS.TODO.md ├── bin/ │ └── showdown.js ├── bower.json ├── dist/ │ └── showdown.js ├── docs/ │ ├── assets/ │ │ └── extra.css │ ├── available-options.md │ ├── cli.md │ ├── compatibility.md │ ├── configuration.md │ ├── create-extension.md │ ├── credits.md │ ├── donations.md │ ├── event_system.md │ ├── extensions-list.md │ ├── extensions.md │ ├── flavors.md │ ├── index.md │ ├── integrations.md │ ├── markdown-syntax.md │ ├── quickstart.md │ ├── tutorials/ │ │ ├── add-default-class-to-html.md │ │ ├── index.md │ │ ├── markdown-editor-with-showdown.md │ │ └── use-both-extension-types-together.md │ └── xss.md ├── karma.browserstack.js ├── karma.conf.js ├── mkdocs.yml ├── package.json ├── performance.json ├── performance.log.md ├── src/ │ ├── cli/ │ │ └── cli.js │ ├── converter.js │ ├── helpers.js │ ├── loader.js │ ├── options.js │ ├── showdown.js │ └── subParsers/ │ ├── makehtml/ │ │ ├── blockGamut.js │ │ ├── blockQuotes.js │ │ ├── codeBlocks.js │ │ ├── codeSpans.js │ │ ├── completeHTMLDocument.js │ │ ├── detab.js │ │ ├── ellipsis.js │ │ ├── emoji.js │ │ ├── encodeAmpsAndAngles.js │ │ ├── encodeBackslashEscapes.js │ │ ├── encodeCode.js │ │ ├── escapeSpecialCharsWithinTagAttributes.js │ │ ├── githubCodeBlocks.js │ │ ├── hashBlock.js │ │ ├── hashCodeTags.js │ │ ├── hashElement.js │ │ ├── hashHTMLBlocks.js │ │ ├── hashHTMLSpans.js │ │ ├── hashPreCodeTags.js │ │ ├── headers.js │ │ ├── horizontalRule.js │ │ ├── images.js │ │ ├── italicsAndBold.js │ │ ├── links.js │ │ ├── lists.js │ │ ├── metadata.js │ │ ├── outdent.js │ │ ├── paragraphs.js │ │ ├── runExtension.js │ │ ├── spanGamut.js │ │ ├── strikethrough.js │ │ ├── stripLinkDefinitions.js │ │ ├── tables.js │ │ ├── underline.js │ │ └── unescapeSpecialChars.js │ └── makemarkdown/ │ ├── blockquote.js │ ├── break.js │ ├── codeBlock.js │ ├── codeSpan.js │ ├── emphasis.js │ ├── header.js │ ├── hr.js │ ├── image.js │ ├── input.js │ ├── links.js │ ├── list.js │ ├── listItem.js │ ├── node.js │ ├── paragraph.js │ ├── pre.js │ ├── strikethrough.js │ ├── strong.js │ ├── table.js │ ├── tableCell.js │ └── txt.js └── test/ ├── bootstrap.js ├── cli/ │ ├── basic.html │ └── basic.md ├── functional/ │ ├── makehtml/ │ │ ├── cases/ │ │ │ ├── commonmark.testsuite.json │ │ │ ├── features/ │ │ │ │ ├── #143.support-image-dimensions.html │ │ │ │ ├── #143.support-image-dimensions.md │ │ │ │ ├── #164.1.simple-autolink.html │ │ │ │ ├── #164.1.simple-autolink.md │ │ │ │ ├── #164.2.disallow-underscore-emphasis-mid-word.html │ │ │ │ ├── #164.2.disallow-underscore-emphasis-mid-word.md │ │ │ │ ├── #164.3.strikethrough.html │ │ │ │ ├── #164.3.strikethrough.md │ │ │ │ ├── #164.4.tasklists.html │ │ │ │ ├── #164.4.tasklists.md │ │ │ │ ├── #178.markdown-inside-html-does-not-parse.html │ │ │ │ ├── #178.markdown-inside-html-does-not-parse.md │ │ │ │ ├── #198.literalMidWordUnderscores-changes-behavior-of-asterisk.html │ │ │ │ ├── #198.literalMidWordUnderscores-changes-behavior-of-asterisk.md │ │ │ │ ├── #204.certain-links-with-at-and-dot-break-url.html │ │ │ │ ├── #204.certain-links-with-at-and-dot-break-url.md │ │ │ │ ├── #206.treat-single-line-breaks-as-br.html │ │ │ │ ├── #206.treat-single-line-breaks-as-br.md │ │ │ │ ├── #214.escaped-markdown-chars-break-strikethrough.html │ │ │ │ ├── #214.escaped-markdown-chars-break-strikethrough.md │ │ │ │ ├── #259.es6-template-strings-indentation-issues.html │ │ │ │ ├── #259.es6-template-strings-indentation-issues.md │ │ │ │ ├── #284.simplifiedAutoLink-does-not-match-GFM-style.html │ │ │ │ ├── #284.simplifiedAutoLink-does-not-match-GFM-style.md │ │ │ │ ├── #316.new-simpleLineBreaks-option-breaks-lists.html │ │ │ │ ├── #316.new-simpleLineBreaks-option-breaks-lists.md │ │ │ │ ├── #318.simpleLineBreaks-does-not-work-with-chinese-characters.html │ │ │ │ ├── #318.simpleLineBreaks-does-not-work-with-chinese-characters.md │ │ │ │ ├── #320.github-compatible-generated-header-id.html │ │ │ │ ├── #320.github-compatible-generated-header-id.md │ │ │ │ ├── #323.simpleLineBreaks-breaks-with-strong.html │ │ │ │ ├── #323.simpleLineBreaks-breaks-with-strong.md │ │ │ │ ├── #330.simplifiedAutoLink-drops-character-before-and-after-linked-mail.html │ │ │ │ ├── #330.simplifiedAutoLink-drops-character-before-and-after-linked-mail.md │ │ │ │ ├── #331.allow-escaping-of-tilde.html │ │ │ │ ├── #331.allow-escaping-of-tilde.md │ │ │ │ ├── #355.simplifiedAutoLink-URLs-inside-parenthesis-followed-by-another-character-are-not-parsed-correctly.html │ │ │ │ ├── #355.simplifiedAutoLink-URLs-inside-parenthesis-followed-by-another-character-are-not-parsed-correctly.md │ │ │ │ ├── #374.escape-html-tags.html │ │ │ │ ├── #374.escape-html-tags.md │ │ │ │ ├── #378.simplifiedAutoLinks-with-excludeTrailingPunctuationFromURLs.html │ │ │ │ ├── #378.simplifiedAutoLinks-with-excludeTrailingPunctuationFromURLs.md │ │ │ │ ├── #379.openLinksInNewWindow-breaks-em-markdup.html │ │ │ │ ├── #379.openLinksInNewWindow-breaks-em-markdup.md │ │ │ │ ├── #398.literalMidWordAsterisks-treats-non-word-characters-as-characters.html │ │ │ │ ├── #398.literalMidWordAsterisks-treats-non-word-characters-as-characters.md │ │ │ │ ├── #69.header-level-start.html │ │ │ │ ├── #69.header-level-start.md │ │ │ │ ├── #709.allow-whitespaces-after-end-in-metadata.html │ │ │ │ ├── #709.allow-whitespaces-after-end-in-metadata.md │ │ │ │ ├── completeHTMLOutput/ │ │ │ │ │ ├── simple.html │ │ │ │ │ └── simple.md │ │ │ │ ├── customizedHeaderId-simple.html │ │ │ │ ├── customizedHeaderId-simple.md │ │ │ │ ├── disable-email-encoding.html │ │ │ │ ├── disable-email-encoding.md │ │ │ │ ├── disable-gh-codeblocks.html │ │ │ │ ├── disable-gh-codeblocks.md │ │ │ │ ├── disableForced4SpacesIndentedSublists/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── disableForced4SpacesIndentedSublists.html │ │ │ │ ├── disableForced4SpacesIndentedSublists.md │ │ │ │ ├── ellipsis/ │ │ │ │ │ ├── ellipsis.html │ │ │ │ │ └── ellipsis.md │ │ │ │ ├── emojis/ │ │ │ │ │ ├── complex.html │ │ │ │ │ ├── complex.md │ │ │ │ │ ├── links.html │ │ │ │ │ ├── links.md │ │ │ │ │ ├── simple.html │ │ │ │ │ ├── simple.md │ │ │ │ │ ├── simplifiedautolinks.html │ │ │ │ │ ├── simplifiedautolinks.md │ │ │ │ │ ├── special.html │ │ │ │ │ └── special.md │ │ │ │ ├── excludeTrailingPunctuationFromURLs-option.html │ │ │ │ ├── excludeTrailingPunctuationFromURLs-option.md │ │ │ │ ├── ghMentions.html │ │ │ │ ├── ghMentions.md │ │ │ │ ├── literalMidWordAsterisks/ │ │ │ │ │ ├── basic.html │ │ │ │ │ ├── basic.md │ │ │ │ │ ├── punctation-test.html │ │ │ │ │ └── punctation-test.md │ │ │ │ ├── literalMidWordUnderscores/ │ │ │ │ │ ├── basic.html │ │ │ │ │ ├── basic.md │ │ │ │ │ ├── punctation-test.html │ │ │ │ │ └── punctation-test.md │ │ │ │ ├── metadata/ │ │ │ │ │ ├── dashes-conflict.html │ │ │ │ │ ├── dashes-conflict.md │ │ │ │ │ ├── embeded-in-output.html │ │ │ │ │ ├── embeded-in-output.md │ │ │ │ │ ├── embeded-two-consecutive-metadata-blocks-different-symbols.html │ │ │ │ │ ├── embeded-two-consecutive-metadata-blocks-different-symbols.md │ │ │ │ │ ├── embeded-two-consecutive-metadata-blocks.html │ │ │ │ │ ├── embeded-two-consecutive-metadata-blocks.md │ │ │ │ │ ├── ignore-metadata.html │ │ │ │ │ ├── ignore-metadata.md │ │ │ │ │ ├── simple-angled-for-method.html │ │ │ │ │ ├── simple-angled-for-method.md │ │ │ │ │ ├── simple-angled-quotes.html │ │ │ │ │ ├── simple-angled-quotes.md │ │ │ │ │ ├── simple-three-dashes.html │ │ │ │ │ ├── simple-three-dashes.md │ │ │ │ │ ├── simple-with-format.html │ │ │ │ │ └── simple-with-format.md │ │ │ │ ├── moreStyling/ │ │ │ │ │ ├── tasklists-with-styling.html │ │ │ │ │ └── tasklists-with-styling.md │ │ │ │ ├── openLinksInNewWindow/ │ │ │ │ │ ├── hash-links-open-in-same-page.html │ │ │ │ │ ├── hash-links-open-in-same-page.md │ │ │ │ │ ├── simple-cases.html │ │ │ │ │ ├── simple-cases.md │ │ │ │ │ ├── simple.html │ │ │ │ │ ├── simple.md │ │ │ │ │ ├── simplifiedAutoLink.html │ │ │ │ │ └── simplifiedAutoLink.md │ │ │ │ ├── prefixHeaderId-simple.html │ │ │ │ ├── prefixHeaderId-simple.md │ │ │ │ ├── prefixHeaderId-string-and-ghCompatibleHeaderId.html │ │ │ │ ├── prefixHeaderId-string-and-ghCompatibleHeaderId.md │ │ │ │ ├── prefixHeaderId-string-and-ghCompatibleHeaderId2.html │ │ │ │ ├── prefixHeaderId-string-and-ghCompatibleHeaderId2.md │ │ │ │ ├── prefixHeaderId-string.html │ │ │ │ ├── prefixHeaderId-string.md │ │ │ │ ├── rawHeaderId/ │ │ │ │ │ ├── simple.html │ │ │ │ │ ├── simple.md │ │ │ │ │ ├── with-prefixHeaderId.html │ │ │ │ │ └── with-prefixHeaderId.md │ │ │ │ ├── rawPrefixHeaderId/ │ │ │ │ │ ├── simple-with-prefixHeaderId.html │ │ │ │ │ └── simple-with-prefixHeaderId.md │ │ │ │ ├── relativePathBaseUrl.html │ │ │ │ ├── relativePathBaseUrl.md │ │ │ │ ├── requireSpaceBeforeHeadingText.html │ │ │ │ ├── requireSpaceBeforeHeadingText.md │ │ │ │ ├── simpleLineBreaks-handle-html-pre.html │ │ │ │ ├── simpleLineBreaks-handle-html-pre.md │ │ │ │ ├── simpleLineBreaks2.html │ │ │ │ ├── simpleLineBreaks2.md │ │ │ │ ├── simplifiedAutoLink/ │ │ │ │ │ ├── autolinks-with-magic-chars.html │ │ │ │ │ ├── autolinks-with-magic-chars.md │ │ │ │ │ ├── blockquote.html │ │ │ │ │ ├── blockquote.md │ │ │ │ │ ├── codespans.html │ │ │ │ │ ├── codespans.md │ │ │ │ │ ├── complete-test-case.html │ │ │ │ │ ├── complete-test-case.md │ │ │ │ │ ├── disallow-underscores.html │ │ │ │ │ ├── disallow-underscores.md │ │ │ │ │ ├── does-not-parse-inside-a-tags.html │ │ │ │ │ ├── does-not-parse-inside-a-tags.md │ │ │ │ │ ├── does-not-parse-inside-code.html │ │ │ │ │ ├── does-not-parse-inside-code.md │ │ │ │ │ ├── does-not-parse-reference-links.html │ │ │ │ │ ├── does-not-parse-reference-links.md │ │ │ │ │ ├── emphasis-and-strikethrough.html │ │ │ │ │ ├── emphasis-and-strikethrough.md │ │ │ │ │ ├── ordered-lists.html │ │ │ │ │ ├── ordered-lists.md │ │ │ │ │ ├── text.html │ │ │ │ │ ├── text.md │ │ │ │ │ ├── trailing-punctuation.html │ │ │ │ │ ├── trailing-punctuation.md │ │ │ │ │ ├── unordered-lists.html │ │ │ │ │ ├── unordered-lists.md │ │ │ │ │ ├── wrapping-parenthesis.html │ │ │ │ │ └── wrapping-parenthesis.md │ │ │ │ ├── splitAdjacentBlockquotes/ │ │ │ │ │ ├── basic.html │ │ │ │ │ ├── basic.md │ │ │ │ │ ├── multiline-paragraph.html │ │ │ │ │ └── multiline-paragraph.md │ │ │ │ ├── tables/ │ │ │ │ │ ├── #179.parse-md-in-table-ths.html │ │ │ │ │ ├── #179.parse-md-in-table-ths.md │ │ │ │ │ ├── #256.table-header-separators-should-not-require-3-dashes.html │ │ │ │ │ ├── #256.table-header-separators-should-not-require-3-dashes.md │ │ │ │ │ ├── #345.escape-pipe-character.html │ │ │ │ │ ├── #345.escape-pipe-character.md │ │ │ │ │ ├── #406.does-not-render-one-column-tables.html │ │ │ │ │ ├── #406.does-not-render-one-column-tables.md │ │ │ │ │ ├── #442.trailing-spaces-break-one-column-tables.html │ │ │ │ │ ├── #442.trailing-spaces-break-one-column-tables.md │ │ │ │ │ ├── #443.2.table-followed-by-list-does-not-parse-correctly.html │ │ │ │ │ ├── #443.2.table-followed-by-list-does-not-parse-correctly.md │ │ │ │ │ ├── #443.table-followed-by-list-does-not-parse-correctly.html │ │ │ │ │ ├── #443.table-followed-by-list-does-not-parse-correctly.md │ │ │ │ │ ├── #465.code-spans-with-pipes-break-table.html │ │ │ │ │ ├── #465.code-spans-with-pipes-break-table.md │ │ │ │ │ ├── #471.ol-is-not-rendered-correctly-inside-table.html │ │ │ │ │ ├── #471.ol-is-not-rendered-correctly-inside-table.md │ │ │ │ │ ├── basic-alignment.html │ │ │ │ │ ├── basic-alignment.md │ │ │ │ │ ├── basic-with-header-ids.html │ │ │ │ │ ├── basic-with-header-ids.md │ │ │ │ │ ├── basic.html │ │ │ │ │ ├── basic.md │ │ │ │ │ ├── gh-style-tables.html │ │ │ │ │ ├── gh-style-tables.md │ │ │ │ │ ├── large-table-with-allignments.html │ │ │ │ │ ├── large-table-with-allignments.md │ │ │ │ │ ├── large.html │ │ │ │ │ ├── large.md │ │ │ │ │ ├── mixed-alignment.html │ │ │ │ │ ├── mixed-alignment.md │ │ │ │ │ ├── multiple-tables.html │ │ │ │ │ ├── multiple-tables.md │ │ │ │ │ ├── table-inside-codeblock.html │ │ │ │ │ ├── table-inside-codeblock.md │ │ │ │ │ ├── table-without-leading-pipe.html │ │ │ │ │ ├── table-without-leading-pipe.md │ │ │ │ │ ├── with-equals.html │ │ │ │ │ ├── with-equals.md │ │ │ │ │ ├── with-span-elements.html │ │ │ │ │ ├── with-span-elements.md │ │ │ │ │ ├── with-surroundings.html │ │ │ │ │ ├── with-surroundings.md │ │ │ │ │ ├── without-body.html │ │ │ │ │ ├── without-body.md │ │ │ │ │ ├── without-header-delimiter.html │ │ │ │ │ └── without-header-delimiter.md │ │ │ │ └── underline/ │ │ │ │ ├── fulltext.html │ │ │ │ ├── fulltext.md │ │ │ │ ├── simple.html │ │ │ │ └── simple.md │ │ │ ├── ghost/ │ │ │ │ ├── markdown-magic.html │ │ │ │ ├── markdown-magic.md │ │ │ │ ├── underscore.html │ │ │ │ └── underscore.md │ │ │ ├── issues/ │ │ │ │ ├── #107.inner-underscore-parse-to-block.html │ │ │ │ ├── #107.inner-underscore-parse-to-block.md │ │ │ │ ├── #142.odd-behaviour-for-multiple-consecutive-lists.html │ │ │ │ ├── #142.odd-behaviour-for-multiple-consecutive-lists.md │ │ │ │ ├── #150.hyphens-are-getting-removed.html │ │ │ │ ├── #150.hyphens-are-getting-removed.md │ │ │ │ ├── #183.gh-code-blocks-within-lists-do-not-render-properly.html │ │ │ │ ├── #183.gh-code-blocks-within-lists-do-not-render-properly.md │ │ │ │ ├── #191.blockquote-followed-by-an-heading.html │ │ │ │ ├── #191.blockquote-followed-by-an-heading.md │ │ │ │ ├── #196.entity-in-code-block-in-nested-list.html │ │ │ │ ├── #196.entity-in-code-block-in-nested-list.md │ │ │ │ ├── #220.html-breaks-markdown-parsing.html │ │ │ │ ├── #220.html-breaks-markdown-parsing.md │ │ │ │ ├── #229.2.code-being-parsed-inside-HTML-code-tags.html │ │ │ │ ├── #229.2.code-being-parsed-inside-HTML-code-tags.md │ │ │ │ ├── #229.code-being-parsed-inside-HTML-code-tags.html │ │ │ │ ├── #229.code-being-parsed-inside-HTML-code-tags.md │ │ │ │ ├── #230.paragraphs-are-ignored-between-code-tags.html │ │ │ │ ├── #230.paragraphs-are-ignored-between-code-tags.md │ │ │ │ ├── #236.wrong-lt-parsing-when-attached-to-word.html │ │ │ │ ├── #236.wrong-lt-parsing-when-attached-to-word.md │ │ │ │ ├── #261.mix-images-with-links.html │ │ │ │ ├── #261.mix-images-with-links.md │ │ │ │ ├── #261.reference-style-image-after-inline-style-image-does-not-work-correctely.html │ │ │ │ ├── #261.reference-style-image-after-inline-style-image-does-not-work-correctely.md │ │ │ │ ├── #261.reference-style-link-after-inline-style-link-does-not-work-correctely.html │ │ │ │ ├── #261.reference-style-link-after-inline-style-link-does-not-work-correctely.md │ │ │ │ ├── #288.code-blocks-containing-xml-comments-are-not-converted-correctly-when-nested-in-list-items.html │ │ │ │ ├── #288.code-blocks-containing-xml-comments-are-not-converted-correctly-when-nested-in-list-items.md │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior-2.html │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior-2.md │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior-3.html │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior-3.md │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior.html │ │ │ │ ├── #299.nested-ordered-unordered-list-inconsistent-behavior.md │ │ │ │ ├── #312.spaced-dashes-followed-by-char.html │ │ │ │ ├── #312.spaced-dashes-followed-by-char.md │ │ │ │ ├── #312.spaced-dashes-followed-by-char2.html │ │ │ │ ├── #312.spaced-dashes-followed-by-char2.md │ │ │ │ ├── #312.spaced-dashes-followed-by-char3.html │ │ │ │ ├── #312.spaced-dashes-followed-by-char3.md │ │ │ │ ├── #312.spaced-dashes-followed-by-char4.html │ │ │ │ ├── #312.spaced-dashes-followed-by-char4.md │ │ │ │ ├── #317.spaces-before-hr.html │ │ │ │ ├── #317.spaces-before-hr.md │ │ │ │ ├── #332.inconsistent-behavior-of-emphasis-and-strong.html │ │ │ │ ├── #332.inconsistent-behavior-of-emphasis-and-strong.md │ │ │ │ ├── #345.no-escape-for-the-pipe-character.html │ │ │ │ ├── #345.no-escape-for-the-pipe-character.md │ │ │ │ ├── #390.brackets-in-URL-break-images.html │ │ │ │ ├── #390.brackets-in-URL-break-images.md │ │ │ │ ├── #390.brackets-in-URL-break-links.html │ │ │ │ ├── #390.brackets-in-URL-break-links.md │ │ │ │ ├── #393.showdown-hangs-with-malformed-html.html │ │ │ │ ├── #393.showdown-hangs-with-malformed-html.md │ │ │ │ ├── #397.unordered-list-strange-behavior.html │ │ │ │ ├── #397.unordered-list-strange-behavior.md │ │ │ │ ├── #429.multiline-base64-image-support.html │ │ │ │ ├── #429.multiline-base64-image-support.md │ │ │ │ ├── #467.header-ids-for-subheadings.html │ │ │ │ ├── #467.header-ids-for-subheadings.md │ │ │ │ ├── #494.enumerated-code-blocks-are-partially-escaped-when-including-empy-lines-between-code-2.html │ │ │ │ ├── #494.enumerated-code-blocks-are-partially-escaped-when-including-empy-lines-between-code-2.md │ │ │ │ ├── #494.enumerated-code-blocks-are-partially-escaped-when-including-empy-lines-between-code.html │ │ │ │ ├── #494.enumerated-code-blocks-are-partially-escaped-when-including-empy-lines-between-code.md │ │ │ │ ├── #495.headings-different-behavior-in-paragraphs-and-lists.html │ │ │ │ ├── #495.headings-different-behavior-in-paragraphs-and-lists.md │ │ │ │ ├── #510.specific-string-gets-removed-from-text.html │ │ │ │ ├── #510.specific-string-gets-removed-from-text.md │ │ │ │ ├── #523.leading-space-breaks-gfm-code-blocks.html │ │ │ │ ├── #523.leading-space-breaks-gfm-code-blocks.md │ │ │ │ ├── #585.error-when-using-image-references.html │ │ │ │ ├── #585.error-when-using-image-references.md │ │ │ │ ├── #697.space-between-inline-elements.html │ │ │ │ ├── #697.space-between-inline-elements.md │ │ │ │ ├── #83.parsed-text-links-with-underscores.html │ │ │ │ ├── #83.parsed-text-links-with-underscores.md │ │ │ │ ├── #856.gfm-codeblock-with-language-with-spaces.html │ │ │ │ ├── #856.gfm-codeblock-with-language-with-spaces.md │ │ │ │ ├── #96.underscores-in-links.html │ │ │ │ ├── #96.underscores-in-links.md │ │ │ │ ├── URLs-with-multiple-parenthesis.html │ │ │ │ ├── URLs-with-multiple-parenthesis.md │ │ │ │ ├── crazy-urls.html │ │ │ │ ├── crazy-urls.md │ │ │ │ ├── deeply-nested-HTML-blocks.html │ │ │ │ ├── deeply-nested-HTML-blocks.md │ │ │ │ ├── handle-html-pre.html │ │ │ │ ├── handle-html-pre.md │ │ │ │ ├── one-line-HTML-input.html │ │ │ │ ├── one-line-HTML-input.md │ │ │ │ ├── reference-link-impostors.html │ │ │ │ └── reference-link-impostors.md │ │ │ ├── karlcow/ │ │ │ │ ├── 2-paragraphs-hard-return-spaces.html │ │ │ │ ├── 2-paragraphs-hard-return-spaces.md │ │ │ │ ├── 2-paragraphs-hard-return.html │ │ │ │ ├── 2-paragraphs-hard-return.md │ │ │ │ ├── 2-paragraphs-line-returns.html │ │ │ │ ├── 2-paragraphs-line-returns.md │ │ │ │ ├── 2-paragraphs-line-spaces.html │ │ │ │ ├── 2-paragraphs-line-spaces.md │ │ │ │ ├── 2-paragraphs-line-tab.html │ │ │ │ ├── 2-paragraphs-line-tab.md │ │ │ │ ├── 2-paragraphs-line.html │ │ │ │ ├── 2-paragraphs-line.md │ │ │ │ ├── EOL-CR+LF.html │ │ │ │ ├── EOL-CR+LF.md │ │ │ │ ├── EOL-CR.html │ │ │ │ ├── EOL-CR.md │ │ │ │ ├── EOL-LF.html │ │ │ │ ├── EOL-LF.md │ │ │ │ ├── ampersand-text-flow.html │ │ │ │ ├── ampersand-text-flow.md │ │ │ │ ├── ampersand-uri.html │ │ │ │ ├── ampersand-uri.md │ │ │ │ ├── asterisk-near-text.html │ │ │ │ ├── asterisk-near-text.md │ │ │ │ ├── asterisk.html │ │ │ │ ├── asterisk.md │ │ │ │ ├── backslash-escape.html │ │ │ │ ├── backslash-escape.md │ │ │ │ ├── blockquote-added-markup.html │ │ │ │ ├── blockquote-added-markup.md │ │ │ │ ├── blockquote-line-2-paragraphs.html │ │ │ │ ├── blockquote-line-2-paragraphs.md │ │ │ │ ├── blockquote-line.html │ │ │ │ ├── blockquote-line.md │ │ │ │ ├── blockquote-multiline-1-space-begin.html │ │ │ │ ├── blockquote-multiline-1-space-begin.md │ │ │ │ ├── blockquote-multiline-1-space-end.html │ │ │ │ ├── blockquote-multiline-1-space-end.md │ │ │ │ ├── blockquote-multiline-2-paragraphs.html │ │ │ │ ├── blockquote-multiline-2-paragraphs.md │ │ │ │ ├── blockquote-multiline.html │ │ │ │ ├── blockquote-multiline.md │ │ │ │ ├── blockquote-nested-multiplereturn-level1.html │ │ │ │ ├── blockquote-nested-multiplereturn-level1.md │ │ │ │ ├── blockquote-nested-multiplereturn.html │ │ │ │ ├── blockquote-nested-multiplereturn.md │ │ │ │ ├── blockquote-nested-return-level1.html │ │ │ │ ├── blockquote-nested-return-level1.md │ │ │ │ ├── blockquote-nested.html │ │ │ │ ├── blockquote-nested.md │ │ │ │ ├── code-1-tab.html │ │ │ │ ├── code-1-tab.md │ │ │ │ ├── code-4-spaces-escaping.html │ │ │ │ ├── code-4-spaces-escaping.md │ │ │ │ ├── code-4-spaces.html │ │ │ │ ├── code-4-spaces.md │ │ │ │ ├── em-middle-word.html │ │ │ │ ├── em-middle-word.md │ │ │ │ ├── em-star.html │ │ │ │ ├── em-star.md │ │ │ │ ├── em-underscore.html │ │ │ │ ├── em-underscore.md │ │ │ │ ├── entities-text-flow.html │ │ │ │ ├── entities-text-flow.md │ │ │ │ ├── header-level1-equal-underlined.html │ │ │ │ ├── header-level1-equal-underlined.md │ │ │ │ ├── header-level1-hash-sign-closed.html │ │ │ │ ├── header-level1-hash-sign-closed.md │ │ │ │ ├── header-level1-hash-sign-trailing-1-space.html │ │ │ │ ├── header-level1-hash-sign-trailing-1-space.md │ │ │ │ ├── header-level1-hash-sign-trailing-2-spaces.html │ │ │ │ ├── header-level1-hash-sign-trailing-2-spaces.md │ │ │ │ ├── header-level1-hash-sign.html │ │ │ │ ├── header-level1-hash-sign.md │ │ │ │ ├── header-level2-dash-underlined.html │ │ │ │ ├── header-level2-dash-underlined.md │ │ │ │ ├── header-level2-hash-sign-closed.html │ │ │ │ ├── header-level2-hash-sign-closed.md │ │ │ │ ├── header-level2-hash-sign.html │ │ │ │ ├── header-level2-hash-sign.md │ │ │ │ ├── header-level3-hash-sign-closed.html │ │ │ │ ├── header-level3-hash-sign-closed.md │ │ │ │ ├── header-level3-hash-sign.html │ │ │ │ ├── header-level3-hash-sign.md │ │ │ │ ├── header-level4-hash-sign-closed.html │ │ │ │ ├── header-level4-hash-sign-closed.md │ │ │ │ ├── header-level4-hash-sign.html │ │ │ │ ├── header-level4-hash-sign.md │ │ │ │ ├── header-level5-hash-sign-closed.html │ │ │ │ ├── header-level5-hash-sign-closed.md │ │ │ │ ├── header-level5-hash-sign.html │ │ │ │ ├── header-level5-hash-sign.md │ │ │ │ ├── header-level6-hash-sign-closed.html │ │ │ │ ├── header-level6-hash-sign-closed.md │ │ │ │ ├── header-level6-hash-sign.html │ │ │ │ ├── header-level6-hash-sign.md │ │ │ │ ├── horizontal-rule-3-dashes-spaces.html │ │ │ │ ├── horizontal-rule-3-dashes-spaces.md │ │ │ │ ├── horizontal-rule-3-dashes.html │ │ │ │ ├── horizontal-rule-3-dashes.md │ │ │ │ ├── horizontal-rule-3-stars.html │ │ │ │ ├── horizontal-rule-3-stars.md │ │ │ │ ├── horizontal-rule-3-underscores.html │ │ │ │ ├── horizontal-rule-3-underscores.md │ │ │ │ ├── horizontal-rule-7-dashes.html │ │ │ │ ├── horizontal-rule-7-dashes.md │ │ │ │ ├── img-idref-title.html │ │ │ │ ├── img-idref-title.md │ │ │ │ ├── img-idref.html │ │ │ │ ├── img-idref.md │ │ │ │ ├── img-title.html │ │ │ │ ├── img-title.md │ │ │ │ ├── img.html │ │ │ │ ├── img.md │ │ │ │ ├── inline-code-escaping-entities.html │ │ │ │ ├── inline-code-escaping-entities.md │ │ │ │ ├── inline-code-with-visible-backtick.html │ │ │ │ ├── inline-code-with-visible-backtick.md │ │ │ │ ├── inline-code.html │ │ │ │ ├── inline-code.md │ │ │ │ ├── line-break-2-spaces.html │ │ │ │ ├── line-break-2-spaces.md │ │ │ │ ├── line-break-5-spaces.html │ │ │ │ ├── line-break-5-spaces.md │ │ │ │ ├── link-automatic.html │ │ │ │ ├── link-automatic.md │ │ │ │ ├── link-bracket-paranthesis-title.html │ │ │ │ ├── link-bracket-paranthesis-title.md │ │ │ │ ├── link-bracket-paranthesis.html │ │ │ │ ├── link-bracket-paranthesis.md │ │ │ │ ├── link-idref-angle-bracket.html │ │ │ │ ├── link-idref-angle-bracket.md │ │ │ │ ├── link-idref-implicit-spaces.html │ │ │ │ ├── link-idref-implicit-spaces.md │ │ │ │ ├── link-idref-implicit.html │ │ │ │ ├── link-idref-implicit.md │ │ │ │ ├── link-idref-space.html │ │ │ │ ├── link-idref-space.md │ │ │ │ ├── link-idref-title-next-line.html │ │ │ │ ├── link-idref-title-next-line.md │ │ │ │ ├── link-idref-title-paranthesis.html │ │ │ │ ├── link-idref-title-paranthesis.md │ │ │ │ ├── link-idref-title-single-quote.html │ │ │ │ ├── link-idref-title-single-quote.md │ │ │ │ ├── link-idref-title.html │ │ │ │ ├── link-idref-title.md │ │ │ │ ├── link-idref.html │ │ │ │ ├── link-idref.md │ │ │ │ ├── list-blockquote.html │ │ │ │ ├── list-blockquote.md │ │ │ │ ├── list-code.html │ │ │ │ ├── list-code.md │ │ │ │ ├── list-multiparagraphs-tab.html │ │ │ │ ├── list-multiparagraphs-tab.md │ │ │ │ ├── list-multiparagraphs.html │ │ │ │ ├── list-multiparagraphs.md │ │ │ │ ├── ordered-list-escaped.html │ │ │ │ ├── ordered-list-escaped.md │ │ │ │ ├── ordered-list-inner-par-list.html │ │ │ │ ├── ordered-list-inner-par-list.md │ │ │ │ ├── ordered-list-items-random-number.html │ │ │ │ ├── ordered-list-items-random-number.md │ │ │ │ ├── ordered-list-items.html │ │ │ │ ├── ordered-list-items.md │ │ │ │ ├── paragraph-hard-return.html │ │ │ │ ├── paragraph-hard-return.md │ │ │ │ ├── paragraph-line.html │ │ │ │ ├── paragraph-line.md │ │ │ │ ├── paragraph-trailing-leading-spaces.html │ │ │ │ ├── paragraph-trailing-leading-spaces.md │ │ │ │ ├── paragraph-trailing-tab.html │ │ │ │ ├── paragraph-trailing-tab.md │ │ │ │ ├── paragraphs-2-leading-spaces.html │ │ │ │ ├── paragraphs-2-leading-spaces.md │ │ │ │ ├── paragraphs-3-leading-spaces.html │ │ │ │ ├── paragraphs-3-leading-spaces.md │ │ │ │ ├── paragraphs-leading-space.html │ │ │ │ ├── paragraphs-leading-space.md │ │ │ │ ├── paragraphs-trailing-spaces.html │ │ │ │ ├── paragraphs-trailing-spaces.md │ │ │ │ ├── strong-middle-word.html │ │ │ │ ├── strong-middle-word.md │ │ │ │ ├── strong-star.html │ │ │ │ ├── strong-star.md │ │ │ │ ├── strong-underscore.html │ │ │ │ ├── strong-underscore.md │ │ │ │ ├── unordered-list-items-asterisk.html │ │ │ │ ├── unordered-list-items-asterisk.md │ │ │ │ ├── unordered-list-items-dashsign.html │ │ │ │ ├── unordered-list-items-dashsign.md │ │ │ │ ├── unordered-list-items-leading-1space.html │ │ │ │ ├── unordered-list-items-leading-1space.md │ │ │ │ ├── unordered-list-items-leading-2spaces.html │ │ │ │ ├── unordered-list-items-leading-2spaces.md │ │ │ │ ├── unordered-list-items-leading-3spaces.html │ │ │ │ ├── unordered-list-items-leading-3spaces.md │ │ │ │ ├── unordered-list-items-plussign.html │ │ │ │ ├── unordered-list-items-plussign.md │ │ │ │ ├── unordered-list-paragraphs.html │ │ │ │ ├── unordered-list-paragraphs.md │ │ │ │ ├── unordered-list-unindented-content.html │ │ │ │ ├── unordered-list-unindented-content.md │ │ │ │ ├── unordered-list-with-indented-content.html │ │ │ │ └── unordered-list-with-indented-content.md │ │ │ └── standard/ │ │ │ ├── anchors-allow-fragments.html │ │ │ ├── anchors-allow-fragments.md │ │ │ ├── anchors-allow-javacript-identifiers.html │ │ │ ├── anchors-allow-javacript-identifiers.md │ │ │ ├── anchors-allow-no-protocols.html │ │ │ ├── anchors-allow-no-protocols.md │ │ │ ├── anchors-allow-object-property-names.html │ │ │ ├── anchors-allow-object-property-names.md │ │ │ ├── anchors-by-reference.html │ │ │ ├── anchors-by-reference.md │ │ │ ├── anchors-followed-by-brakets.html │ │ │ ├── anchors-followed-by-brakets.md │ │ │ ├── automatic-anchors.html │ │ │ ├── automatic-anchors.md │ │ │ ├── blockquote-followed-by-code.html │ │ │ ├── blockquote-followed-by-code.md │ │ │ ├── blockquote-inside-code.html │ │ │ ├── blockquote-inside-code.md │ │ │ ├── blockquote-nested-markdown.html │ │ │ ├── blockquote-nested-markdown.md │ │ │ ├── blockquote.html │ │ │ ├── blockquote.md │ │ │ ├── code-block-html-escape.html │ │ │ ├── code-block-html-escape.md │ │ │ ├── code-block-with-special-chars.html │ │ │ ├── code-block-with-special-chars.md │ │ │ ├── code-block.html │ │ │ ├── code-block.md │ │ │ ├── double-emphasis.html │ │ │ ├── double-emphasis.md │ │ │ ├── doubline-list.html │ │ │ ├── doubline-list.md │ │ │ ├── ellipsis.html │ │ │ ├── ellipsis.md │ │ │ ├── emphasis-inside-inline-code.html │ │ │ ├── emphasis-inside-inline-code.md │ │ │ ├── emphasis.html │ │ │ ├── emphasis.md │ │ │ ├── encodeHTMLCodeTags.html │ │ │ ├── encodeHTMLCodeTags.md │ │ │ ├── escaped-number-period.html │ │ │ ├── escaped-number-period.md │ │ │ ├── escaping.html │ │ │ ├── escaping.md │ │ │ ├── github-style-at-start.html │ │ │ ├── github-style-at-start.md │ │ │ ├── github-style-codeblock-inside-quote.html │ │ │ ├── github-style-codeblock-inside-quote.md │ │ │ ├── github-style-codeblock.html │ │ │ ├── github-style-codeblock.md │ │ │ ├── github-style-linebreaks.html │ │ │ ├── github-style-linebreaks.md │ │ │ ├── h1-with-double-hash.html │ │ │ ├── h1-with-double-hash.md │ │ │ ├── h1-with-equals.html │ │ │ ├── h1-with-equals.md │ │ │ ├── h1-with-single-hash.html │ │ │ ├── h1-with-single-hash.md │ │ │ ├── h2-with-dashes.html │ │ │ ├── h2-with-dashes.md │ │ │ ├── h2-with-double-hash.html │ │ │ ├── h2-with-double-hash.md │ │ │ ├── h2-with-single-hash.html │ │ │ ├── h2-with-single-hash.md │ │ │ ├── h3-with-double-hash.html │ │ │ ├── h3-with-double-hash.md │ │ │ ├── h3-with-single-hash.html │ │ │ ├── h3-with-single-hash.md │ │ │ ├── h4-with-single-hash.html │ │ │ ├── h4-with-single-hash.md │ │ │ ├── h5-with-single-hash.html │ │ │ ├── h5-with-single-hash.md │ │ │ ├── h6-with-single-hash.html │ │ │ ├── h6-with-single-hash.md │ │ │ ├── horizontal-rules.html │ │ │ ├── horizontal-rules.md │ │ │ ├── html-comments.html │ │ │ ├── html-comments.md │ │ │ ├── html-inside-listed-code.html │ │ │ ├── html-inside-listed-code.md │ │ │ ├── html5-strutural-tags.html │ │ │ ├── html5-strutural-tags.md │ │ │ ├── images-followed-by-brackets.html │ │ │ ├── images-followed-by-brackets.md │ │ │ ├── images.html │ │ │ ├── images.md │ │ │ ├── implicit-anchors.html │ │ │ ├── implicit-anchors.md │ │ │ ├── inline-anchors.html │ │ │ ├── inline-anchors.md │ │ │ ├── inline-code.html │ │ │ ├── inline-code.md │ │ │ ├── inline-escaped-chars.html │ │ │ ├── inline-escaped-chars.md │ │ │ ├── inline-style-tag.html │ │ │ ├── inline-style-tag.md │ │ │ ├── lazy-blockquote.html │ │ │ ├── lazy-blockquote.md │ │ │ ├── line-starts-with-html.html │ │ │ ├── line-starts-with-html.md │ │ │ ├── list-followed-by-blockquote.html │ │ │ ├── list-followed-by-blockquote.md │ │ │ ├── list-followed-by-ghcode.html │ │ │ ├── list-followed-by-ghcode.md │ │ │ ├── list-with-blockquote.html │ │ │ ├── list-with-blockquote.md │ │ │ ├── list-with-code.html │ │ │ ├── list-with-code.md │ │ │ ├── literal-html-tags.html │ │ │ ├── literal-html-tags.md │ │ │ ├── multi-paragraph-list.html │ │ │ ├── multi-paragraph-list.md │ │ │ ├── multiline-unordered-list.html │ │ │ ├── multiline-unordered-list.md │ │ │ ├── nested-blockquote.html │ │ │ ├── nested-blockquote.md │ │ │ ├── nested-gh-codeblocks.html │ │ │ ├── nested-gh-codeblocks.md │ │ │ ├── obfuscated-emails.html │ │ │ ├── obfuscated-emails.md │ │ │ ├── ordered-list-same-number.html │ │ │ ├── ordered-list-same-number.md │ │ │ ├── ordered-list-starting-number.html │ │ │ ├── ordered-list-starting-number.md │ │ │ ├── ordered-list-wrong-numbers.html │ │ │ ├── ordered-list-wrong-numbers.md │ │ │ ├── ordered-list.html │ │ │ ├── ordered-list.md │ │ │ ├── paragraphed-list-with-sublists.html │ │ │ ├── paragraphed-list-with-sublists.md │ │ │ ├── pre-code-tags-inside-code-block.html │ │ │ ├── pre-code-tags-inside-code-block.md │ │ │ ├── pre-code-tags.html │ │ │ ├── pre-code-tags.md │ │ │ ├── relative-anchors.html │ │ │ ├── relative-anchors.md │ │ │ ├── repeated-headers.html │ │ │ ├── repeated-headers.md │ │ │ ├── simple-paragraph.html │ │ │ ├── simple-paragraph.md │ │ │ ├── strip-references.html │ │ │ ├── strip-references.md │ │ │ ├── strong.html │ │ │ ├── strong.md │ │ │ ├── unordered-list-asterisk.html │ │ │ ├── unordered-list-asterisk.md │ │ │ ├── unordered-list-minus.html │ │ │ ├── unordered-list-minus.md │ │ │ ├── unordered-list-plus.html │ │ │ ├── unordered-list-plus.md │ │ │ ├── url-with-parenthesis.html │ │ │ └── url-with-parenthesis.md │ │ ├── makehtml.bootstrap.js │ │ ├── testsuite.commonmark.js │ │ ├── testsuite.features.js │ │ ├── testsuite.ghost.js │ │ ├── testsuite.issues.js │ │ ├── testsuite.karlcow.js │ │ └── testsuite.standard.js │ └── makemarkdown/ │ ├── cases/ │ │ ├── features/ │ │ │ ├── ghMentions/ │ │ │ │ ├── github.html │ │ │ │ └── github.md │ │ │ └── issues/ │ │ │ ├── tasklists.html │ │ │ └── tasklists.md │ │ └── standard/ │ │ ├── anchors-relative.html │ │ ├── anchors-relative.md │ │ ├── anchors.html │ │ ├── anchors.md │ │ ├── blockquote-followed-by-code.html │ │ ├── blockquote-followed-by-code.md │ │ ├── blockquote-nested-markdown.html │ │ ├── blockquote-nested-markdown.md │ │ ├── blockquote.html │ │ ├── blockquote.md │ │ ├── breaks.html │ │ ├── breaks.md │ │ ├── emphasis-double.html │ │ ├── emphasis-double.md │ │ ├── emphasis-inside-inline-code.html │ │ ├── emphasis-inside-inline-code.md │ │ ├── emphasis.html │ │ ├── emphasis.md │ │ ├── escaping-html-entities.html │ │ ├── escaping-html-entities.md │ │ ├── escaping.html │ │ ├── escaping.md │ │ ├── github-style-at-start.html │ │ ├── github-style-at-start.md │ │ ├── github-style-codeblock-inside-quote.html │ │ ├── github-style-codeblock-inside-quote.md │ │ ├── github-style-codeblock.html │ │ ├── github-style-codeblock.md │ │ ├── github-style-linebreaks.html │ │ ├── github-style-linebreaks.md │ │ ├── h1-with-single-hash.html │ │ ├── h1-with-single-hash.md │ │ ├── h2-with-single-hash.html │ │ ├── h2-with-single-hash.md │ │ ├── h3-with-single-hash.html │ │ ├── h3-with-single-hash.md │ │ ├── h4-with-single-hash.html │ │ ├── h4-with-single-hash.md │ │ ├── h5-with-single-hash.html │ │ ├── h5-with-single-hash.md │ │ ├── h6-with-single-hash.html │ │ ├── h6-with-single-hash.md │ │ ├── horizontal-rules.html │ │ ├── horizontal-rules.md │ │ ├── html-comments.html │ │ ├── html-comments.md │ │ ├── html.html │ │ ├── html.md │ │ ├── html5-strutural-tags.html │ │ ├── html5-strutural-tags.md │ │ ├── images-followed-by-brackets.html │ │ ├── images-followed-by-brackets.md │ │ ├── images.html │ │ ├── images.md │ │ ├── list-doubleline.html │ │ ├── list-doubleline.md │ │ ├── list-followed-by-blockquote.html │ │ ├── list-followed-by-blockquote.md │ │ ├── list-followed-by-ghcode.html │ │ ├── list-followed-by-ghcode.md │ │ ├── list-with-blockquote.html │ │ ├── list-with-blockquote.md │ │ ├── list-with-code.html │ │ ├── list-with-code.md │ │ ├── multi-paragraph-list.html │ │ ├── multi-paragraph-list.md │ │ ├── nested-gh-codeblocks.html │ │ ├── nested-gh-codeblocks.md │ │ ├── ordered-list-starting-number.html │ │ ├── ordered-list-starting-number.md │ │ ├── ordered-list.html │ │ ├── ordered-list.md │ │ ├── paragraph-simple.html │ │ ├── paragraph-simple.md │ │ ├── paragraphed-list-with-sublists.html │ │ ├── paragraphed-list-with-sublists.md │ │ ├── table-complex.html │ │ ├── table-complex.md │ │ ├── table-header-only.html │ │ ├── table-header-only.md │ │ ├── table-mix-malformed.html │ │ ├── table-mix-malformed.md │ │ ├── table-no-header.html │ │ ├── table-no-header.md │ │ ├── table-simple.html │ │ └── table-simple.md │ ├── makemarkdown.bootstrap.js │ ├── testsuite.features.js │ └── testsuite.standard.js ├── mocks/ │ └── mock-extension.js ├── optionswp.js ├── performance/ │ ├── lib/ │ │ └── performance.lib.js │ └── performance.js ├── performance.testfile.md └── unit/ ├── cli.js ├── showdown.Converter.js ├── showdown.Converter.makeHtml.js ├── showdown.Converter.makeMarkdown.js ├── showdown.helpers.js └── showdown.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ [*.js] indent_style = space indent_size = 2 continuation_indent_size = 2 insert_final_newline = true quote_type = single space_after_anonymous_functions = true space_after_control_statements = true spaces_around_operators = true trim_trailing_whitespace = true spaces_in_brackets = false curly_bracket_next_line = true indent_brace_style = 1TBS end_of_line = lf charset = utf-8 ================================================ FILE: .eslintrc.json ================================================ { "env": { "es6": true }, "rules": { "indent": [2, 2, {"SwitchCase": 1, "VariableDeclarator": 2}], "curly": [2, "all"], "operator-linebreak": [2, "after"], "camelcase": [2, {"properties": "never"}], "quotes": [2, "single"], "no-multi-str": 2, "no-mixed-spaces-and-tabs": 2, "no-trailing-spaces": 2, "space-unary-ops": [2, { "nonwords": false, "overrides": {} } ], "brace-style": [2, "1tbs", {"allowSingleLine": true}], "keyword-spacing": [2, {}], "space-infix-ops": 2, "space-before-blocks": [2, "always"], "eol-last": 2, "space-before-function-paren": [2, "always"], "array-bracket-spacing": [2, "never", {"singleValue": false}], "space-in-parens": [2, "never"], "no-multiple-empty-lines": 2 } } ================================================ FILE: .gitattributes ================================================ # Exports for git archive /test export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore .eslintrc.json export-ignore .jshintignore export-ignore .jshintrc export-ignore .travis.yml export-ignore .appveyor.yml export-ignore bower.json Gruntfile.js export-ignore performance.* export-ignore # Line endings control CHANGELOG.md text CONTRIBUTING.md text CREDITS.md text license.txt text # Force LF on js files *.js text eol=lf # Force binary mode on bin dir and dist fir bin/* binary dist/* binary ================================================ FILE: .github/workflows/browserstack.yml ================================================ name: 'BrowserStack Test' on: push: branches: [ master, develop ] pull_request: branches: [ master, develop ] jobs: ubuntu-job: name: 'BrowserStack Test on Ubuntu' runs-on: ubuntu-latest steps: - name: set up env vars # Only the first line of commit msg run: echo "COMMIT_MSG=$(printf "%s" "${{ github.event.head_commit.message }}" | head -n 1)" >> $GITHUB_ENV - name: '📦 Checkout the repository' uses: actions/checkout@v2 - name: '🚚 Upgrade NPM' run: npm install -g npm - name: '⚙ Setup Node.js v17.x' uses: actions/setup-node@v2 with: node-version: 17.x cache: 'npm' - name: '📖 Get current package version' id: package-version uses: martinbeentjes/npm-get-version-action@v1.2.3 - name: '📝 Print build version and commit msg' run: 'printf "version: %s\n build:%s\n message:%s\n" "${{ steps.package-version.outputs.current-version}}" "${{ github.run_id }}" "$COMMIT_MSG"' - name: '📱 BrowserStack Env Setup' # Invokes the setup-env action uses: browserstack/github-actions/setup-env@master with: username: ${{ secrets.BROWSERSTACK_USERNAME }} access-key: ${{ secrets.BROWSERSTACK_ACCESSKEY }} project-name: 'showdown' build-name: ${{ steps.package-version.outputs.current-version}}-${{ github.run_id }} - name: '🚇 BrowserStack Local Tunnel Setup' # Invokes the setup-local action uses: browserstack/github-actions/setup-local@master with: local-testing: start local-identifier: random - name: '🚚 Install dependencies for CI' run: npm ci - name: '🏗 Building src files for testing' run: npx grunt concat:test - name: '✅ Running test on BrowserStack with Karma' run: npx karma start karma.browserstack.js - name: '🛑 BrowserStackLocal Stop' # Terminating the BrowserStackLocal tunnel connection uses: browserstack/github-actions/setup-local@master with: local-testing: stop ================================================ FILE: .github/workflows/codeql-analysis.yml ================================================ # For most projects, this workflow file will not need changing; you simply need # to commit it to your repository. # # You may wish to alter this file to override the set of languages analyzed, # or to provide custom queries or build logic. # # ******** NOTE ******** # We have attempted to detect the languages in your repository. Please check # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # name: "CodeQL" on: push: branches: [ master, develop ] pull_request: # The branches below must be a subset of the branches above branches: [ master, develop ] schedule: - cron: '39 3 * * 0' jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: [ 'javascript' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://git.io/codeql-language-support steps: - name: Checkout repository uses: actions/checkout@v2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v1 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. # queries: ./path/to/local/query, your-org/your-repo/queries@main # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild uses: github/codeql-action/autobuild@v1 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines # and modify them (or add more) to build your code if your project # uses a compiled language #- run: | # make bootstrap # make release - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v1 ================================================ FILE: .github/workflows/docs.yml ================================================ name: documentation on: push: branches: - master paths: - 'mkdocs.yml' - 'docs/**' - '.github/workflows/docs.yml' jobs: build_docs: name: Build documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Trigger external build env: TOKEN: ${{ secrets.DOCS_DEPLOY_KEY }} COMMIT: ${{ github.event.head_commit.id }} COMMITTER: ${{ github.event.head_commit.author.username }} OWNER: showdownjs REPO: showdownjs.github.io run: | curl -X POST \ -H "Authorization: token ${TOKEN}" \ -H "Accept: application/vnd.github.v3+json" \ https://api.github.com/repos/${OWNER}/${REPO}/dispatches \ -d '{ "event_type": "e: \"'"${COMMIT}"'\" by '"${COMMITTER}"'", "client_payload": { "source": "showdown" } }' ================================================ FILE: .github/workflows/node.linux.yml ================================================ # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: Node Linux CI on: push: branches: [ master, develop ] pull_request: branches: [ master, develop ] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [12.x, 14.x, 16.x, 17.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 - name: 🚚 Upgrade NPM run: npm install -g npm - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} cache: 'npm' - run: npm ci - run: npm test ================================================ FILE: .github/workflows/node.win.yml ================================================ # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: Node Windows CI on: push: branches: [ master, develop ] pull_request: branches: [ master, develop ] jobs: build: runs-on: windows-latest strategy: matrix: node-version: [12.x, 14.x, 16.x, 17.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} cache: 'npm' - run: npm ci - run: npm test ================================================ FILE: .gitignore ================================================ .idea/ .build/ .DS_Store node_modules npm-debug.log /*.test.* *.log ================================================ FILE: .jshintignore ================================================ Gruntfile.js dist/**/*.js build/**/*.js src/options.js bin/* /karma.browserstack.js ================================================ FILE: .jshintrc ================================================ { "node": true, "browser": true, "esnext": true, "bitwise": true, "camelcase": true, "curly": true, "eqeqeq": true, "immed": true, "indent": 2, "latedef": "nofunc", "newcap": true, "noarg": true, "quotmark": "single", "undef": false, "unused": true, "strict": false, "trailing": true, "smarttabs": true, "onevar": true, "globals": { "module": true, "define": true, "window": true, "document": true, "showdown": true } } ================================================ FILE: CHANGELOG.md ================================================ ## [2.1.0](https://github.com/showdownjs/showdown/compare/2.0.0...2.1.0) (2022-04-21) * refactor(cli)!: Remove support for "extra options" and add -c flag, closes [#916](https://github.com/showdownjs/showdown/issues/916) ### Bug Fixes * **cli:** cli displays the correct version number ([8b48882](https://github.com/showdownjs/showdown/commit/8b48882)) ### BREAKING CHANGES * 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](https://github.com/showdownjs/showdown/compare/1.9.1...2.0.0) (2022-02-15) ### Breaking Changes * Supported Node Versions were set to match the [node release schedule](https://nodejs.org/en/about/releases/) 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 ### Bug Fixes * allow escaping of colons ([25c4420](https://github.com/showdownjs/showdown/commit/25c4420)) * reduce npm package size ([35730b7](https://github.com/showdownjs/showdown/commit/35730b7)), closes [#619](https://github.com/showdownjs/showdown/issues/619) ### Features * 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](https://github.com/showdownjs/showdown/compare/1.9.0...1.9.1) (2019-11-02) ### Bug Fixes * **openLinksInNewWindow:** add rel="noopener noreferrer" to links ([1cd281f](https://github.com/showdownjs/showdown/commit/1cd281f)), closes [#670](https://github.com/showdownjs/showdown/issues/670) # [1.9.0](https://github.com/showdownjs/showdown/compare/1.8.7...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. ### Bug Fixes * **italicsAndBold:** fix issue with consecutive spans ([#608](https://github.com/showdownjs/showdown/issues/608)) ([5c0d67e](https://github.com/showdownjs/showdown/commit/5c0d67e)), closes [#544](https://github.com/showdownjs/showdown/issues/544) * **underline:** fix issue with consecutive spans ([81edc70](https://github.com/showdownjs/showdown/commit/81edc70)) ### Features * **converter.makeMarkdown:** [EXPERIMENTAL] add an HTML to MD converter ([e4b0e69](https://github.com/showdownjs/showdown/commit/e4b0e69)), closes [#388](https://github.com/showdownjs/showdown/issues/388) [#233](https://github.com/showdownjs/showdown/issues/233) # [1.8.7](https://github.com/showdownjs/showdown/compare/1.8.6...1.8.7) (2018-10-16) ### Bug Fixes * **emojis:** fix emoji excessive size ([4aca41c](https://github.com/showdownjs/showdown/commit/4aca41c)) * **gfm-codeblocks:** add support for spaces before language declaration ([24bf7b1](https://github.com/showdownjs/showdown/commit/24bf7b1)), closes [#569](https://github.com/showdownjs/showdown/issues/569) leading space no longer breaks gfm codeblocks ([828c32f](https://github.com/showdownjs/showdown/commit/828c32f)), closes [#523](https://github.com/showdownjs/showdown/issues/523) * **images:** fix js error when using image references ([980e702](https://github.com/showdownjs/showdown/commit/980e702)), closes [#585](https://github.com/showdownjs/showdown/issues/585) * **literalMidWordAsterisks:** now parses single characters enclosed by * correctly ([fe70e45](https://github.com/showdownjs/showdown/commit/fe70e45)), closes [#478](https://github.com/showdownjs/showdown/issues/478) * **mentions:** allow for usernames with dot, underscore and dash ([dfeb1e2](https://github.com/showdownjs/showdown/commit/dfeb1e2)), closes [#574](https://github.com/showdownjs/showdown/issues/574) * **nbsp:** fix replacing of nbsp with regular spaces ([8bc1f42](https://github.com/showdownjs/showdown/commit/8bc1f42)) # [1.8.6](https://github.com/showdownjs/showdown/compare/1.8.5...1.8.6) (2017-12-22) ### Features * **splitAdjacentBlockquotes:** add option to split adjacent blockquote blocks ([da328f2](https://github.com/showdownjs/showdown/commit/da328f2)), closes [#477](https://github.com/showdownjs/showdown/issues/477) # [1.8.5](https://github.com/showdownjs/showdown/compare/1.8.4...1.8.5) (2017-12-10) ### Features * **completeHTMLDocument:** add option to output a complete HTML document ([a8427c9](https://github.com/showdownjs/showdown/commit/a8427c9)) * **metadata:** add support for embedded metadata ([63d949f](https://github.com/showdownjs/showdown/commit/63d949f)), closes [#260](https://github.com/showdownjs/showdown/issues/260) ## [1.8.4](https://github.com/showdownjs/showdown/compare/1.8.3...1.8.4) (2017-12-05) ### Bug Fixes * **tables:** raw html inside code tags in tables no longer breaks tables ([4ef4c5e](https://github.com/showdownjs/showdown/commit/4ef4c5e)), closes [#471](https://github.com/showdownjs/showdown/issues/471) ## [1.8.3](https://github.com/showdownjs/showdown/compare/1.8.2...1.8.3) (2017-11-28) ### Bug Fixes * **literalMidWordAsterisks:** no longer treats colon as alphanumeric char ([21194c8](https://github.com/showdownjs/showdown/commit/21194c8)), closes [#461](https://github.com/showdownjs/showdown/issues/461) * **spanGamut:** code spans are hashed after parsing ([f4f63c5](https://github.com/showdownjs/showdown/commit/f4f63c5)), closes [#464](https://github.com/showdownjs/showdown/issues/464) * **tables:** pipe character in code spans no longer breaks table ([0c933a0](https://github.com/showdownjs/showdown/commit/0c933a0)), closes [#465](https://github.com/showdownjs/showdown/issues/465) ## [1.8.2](https://github.com/showdownjs/showdown/compare/1.8.1...1.8.2) (2017-11-11) ### Bug Fixes * **fenced codeblocks:** add tilde as fenced code block delimiter ([c956ede](https://github.com/showdownjs/showdown/commit/c956ede)), closes [#456](https://github.com/showdownjs/showdown/issues/456) * **openLinksInNewWindow:** hash links are not affected by the option ([11936ec](https://github.com/showdownjs/showdown/commit/11936ec)), closes [#457](https://github.com/showdownjs/showdown/issues/457) ## [1.8.1](https://github.com/showdownjs/showdown/compare/1.8.0...1.8.1) (2017-11-01) ### Dependencies update * **package:** update yargs to version 10.0.3 ([#447](https://github.com/showdownjs/showdown/issues/447)) ([906b26d](https://github.com/showdownjs/showdown/commit/906b26d)) ### Bug Fixes * **CDNjs:** bump version to fix version mismatch with CDNjs ([#452](https://github.com/showdownjs/showdown/issues/452)) # [1.8.0](https://github.com/showdownjs/showdown/compare/1.7.6...1.8.0) (2017-10-24) ### NOTICE Don't use the CDNjs version of this release. See issue [#452](https://github.com/showdownjs/showdown/issues/452) for more details. ### Bug Fixes * **autolinks:** prevent _ and * to be parsed in links ([61929bb](https://github.com/showdownjs/showdown/commit/61929bb)), closes [#444](https://github.com/showdownjs/showdown/issues/444) ### Features * **ellipsis:** add auto-ellipsis support ([25f1978](https://github.com/showdownjs/showdown/commit/25f1978)) - *Example:* input ```md this is an ellipsis... ``` output ```html

this is an ellipsis…

``` * **emoji:** add emoji support through option `emoji`([5b8f1d3](https://github.com/showdownjs/showdown/commit/5b8f1d3)), closes [#448](https://github.com/showdownjs/showdown/issues/448) - *Usage:* ```js var conv = new showdown.Converter({emoji: true}); ``` - *Example:* input ```md this is a smile :smile: emoji ``` output ```html

this is a smile 😄 emoji

``` * **start ordered lists at an arbitrary number:** add support for defining the first item number of ordered lists ([9cdc35e](https://github.com/showdownjs/showdown/commit/9cdc35e)), closes [#377](https://github.com/showdownjs/showdown/issues/377) - *Example:* input ```md 3. foo 4. bar 5. baz ``` output ```html
  1. foo
  2. bar
  3. baz
``` * **underline:** add EXPERIMENTAL support for underline ([084b819](https://github.com/showdownjs/showdown/commit/084b819)), closes [#450](https://github.com/showdownjs/showdown/issues/450) - *Usage:* ```js var conv = new showdown.Converter({underline: true}); ``` - *Example:* input ```md this is __underlined__ and this is ___also underlined___ ``` output ```html

this is underlined and this is also underlined

``` - *Note:* With this option enabled, underscore no longer parses as `` or `` ### BREAKING CHANGES * 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](https://github.com/showdownjs/showdown/compare/1.7.5...1.7.6) (2017-10-06) ### Bug Fixes * **tables:** tables are properly rendered when followed by a single linebreak and a list ([d88b095](https://github.com/showdownjs/showdown/commit/d88b095)), closes [#443](https://github.com/showdownjs/showdown/issues/443) * **tables:** trailing spaces no longer prevent table parsing ([66bdd21](https://github.com/showdownjs/showdown/commit/66bdd21)), closes [#442](https://github.com/showdownjs/showdown/issues/442) ## [1.7.5](https://github.com/showdownjs/showdown/compare/1.7.4...1.7.5) (2017-10-02) ### Bug Fixes * **html-comments:** changed regex to prevent malformed long comment to freeze showdown ([3efcd10](https://github.com/showdownjs/showdown/commit/3efcd10)), closes [#439](https://github.com/showdownjs/showdown/issues/439) ## [1.7.4](https://github.com/showdownjs/showdown/compare/1.7.3...1.7.4) (2017-09-08) ### Bug Fixes * **helper.isArray:** replace a.constructor === Array with Array.isArray ([466a2eb](https://github.com/showdownjs/showdown/commit/466a2eb)), closes [#425](https://github.com/showdownjs/showdown/issues/425) * **loader:** allow AMD loader to be used within Node env ([ff24bdb](https://github.com/showdownjs/showdown/commit/ff24bdb)) ### Features * **base64-wrapping:** support for wrapping base64 strings ([8c593a4](https://github.com/showdownjs/showdown/commit/8c593a4)), closes [#429](https://github.com/showdownjs/showdown/issues/429) ## [1.7.3](https://github.com/showdownjs/showdown/compare/1.7.2...1.7.3) (2017-08-23) ### Bug Fixes * **github flavor:** add backslashEscapesHTMLTags to GFM flavor ([5284439](https://github.com/showdownjs/showdown/commit/5284439)) * **literalMidWordAsterisks:** option no longer treats punctuation as word character ([8f05be7](https://github.com/showdownjs/showdown/commit/8f05be7)), closes [#398](https://github.com/showdownjs/showdown/issues/398) * **tables:** allow for one column table ([fef110c](https://github.com/showdownjs/showdown/commit/fef110cccb2d02b218183398d9baa0ae256a7283)), closes [#406](https://github.com/showdownjs/showdown/issues/406) ### Features * **rawHeaderId:** Remove only spaces, ' and " from generated header ids ([1791cf0](https://github.com/showdownjs/showdown/commit/1791cf0)), closes [#409](https://github.com/showdownjs/showdown/issues/409) * **rawPrefixHeaderId:** add option to prevent showdown from modifying the prefix ([ff26c08](https://github.com/showdownjs/showdown/commit/ff26c08)), closes [#409](https://github.com/showdownjs/showdown/issues/409) ## [1.7.2](https://github.com/showdownjs/showdown/compare/1.7.1...1.7.2) (2017-08-05) ### Bug Fixes * **githubMentions:** githubMentions now works with openLinksInNewWindow options ([1194d88](https://github.com/showdownjs/showdown/commit/1194d88)), closes [#403](https://github.com/showdownjs/showdown/issues/403) * **lists:** fix multi paragraph lists with sublists ([a2259c0](https://github.com/showdownjs/showdown/commit/a2259c0)), closes [#397](https://github.com/showdownjs/showdown/issues/397) * **tablesHeaderId:** fix mismatch of option name ([51e4693](https://github.com/showdownjs/showdown/commit/51e4693)), closes [#412](https://github.com/showdownjs/showdown/issues/412) ### Features * **backslashEscapesHTMLTags:** backslash escapes HTML tags ([5a5aff6](https://github.com/showdownjs/showdown/commit/5a5aff6)), closes [#374](https://github.com/showdownjs/showdown/issues/374) ## [1.7.1](https://github.com/showdownjs/showdown/compare/1.7.0...1.7.1) (2017-06-02) Important HOTFIX ### Bug Fixes * **HTML Parser:** fix nasty bug where malformed HTML would hang showdown ([6566c72](https://github.com/showdownjs/showdown/commit/6566c72)), closes [#393](https://github.com/showdownjs/showdown/issues/393) ## [1.7.0](https://github.com/showdownjs/showdown/compare/1.6.4...1.7.0) (2017-06-01) (DEPRECATED) ### Bug Fixes * **anchors:** fix issue with brackets in link URL ([7ba18dd](https://github.com/showdownjs/showdown/commit/7ba18dd)), closes [#390](https://github.com/showdownjs/showdown/issues/390) * **excludeTrailingPunctuationFromURL:** add comma to punctuation list ([fa35fd5](https://github.com/showdownjs/showdown/commit/fa35fd5)), closes [#354](https://github.com/showdownjs/showdown/issues/354) * **excludeTrailingPunctuationFromURLs:** fix weird character when this option with simplifiedAutoLinks ([71acff5](https://github.com/showdownjs/showdown/commit/71acff5)), closes [#378](https://github.com/showdownjs/showdown/issues/378) * **HTML parsing:** fix HTML parsing issues with nested tags ([6fbc072](https://github.com/showdownjs/showdown/commit/6fbc072)), closes [#357](https://github.com/showdownjs/showdown/issues/357) [#387](https://github.com/showdownjs/showdown/issues/387) * **openLinksInNewWindow:** encode _ to prevent clash with em ([813f832](https://github.com/showdownjs/showdown/commit/813f832)), closes [#379](https://github.com/showdownjs/showdown/issues/379) * **package:** update yargs to version 7.0.1 ([#349](https://github.com/showdownjs/showdown/issues/349)) ([9308d7b](https://github.com/showdownjs/showdown/commit/9308d7b)) * **package:** update yargs to version 8.0.1 ([#385](https://github.com/showdownjs/showdown/issues/385)) ([5fd847b](https://github.com/showdownjs/showdown/commit/5fd847b)) * **simpleAutoLinks:** URLs with emphasis/strikethrough are parsed ([5c50675](https://github.com/showdownjs/showdown/commit/5c50675)), closes [#347](https://github.com/showdownjs/showdown/issues/347) * **tables:** pipe char can now be escaped ([1ebc195](https://github.com/showdownjs/showdown/commit/1ebc195)), closes [#345](https://github.com/showdownjs/showdown/issues/345) * **url parsing:** fix url edge case parsing in images and links ([30aa18c](https://github.com/showdownjs/showdown/commit/30aa18c)) ### Features * **customizeHeaderId:** add option for customizing header ids ([94c570a](https://github.com/showdownjs/showdown/commit/94c570a)), closes [#383](https://github.com/showdownjs/showdown/issues/383) * **images:** add support for image's implicit reference syntax ([0c6c07b](https://github.com/showdownjs/showdown/commit/0c6c07b)), closes [#366](https://github.com/showdownjs/showdown/issues/366) * **literalMidWordAsterisks:** add option for mid word asterisks ([5bec8f9](https://github.com/showdownjs/showdown/commit/5bec8f9)) * **openLinksInNewWindow:** add option to open all links in a new window ([50235d6](https://github.com/showdownjs/showdown/commit/50235d6)), closes [#362](https://github.com/showdownjs/showdown/issues/362) [#337](https://github.com/showdownjs/showdown/issues/337) [#249](https://github.com/showdownjs/showdown/issues/249) [#247](https://github.com/showdownjs/showdown/issues/247) [#222](https://github.com/showdownjs/showdown/issues/222) ## [1.6.4](https://github.com/showdownjs/showdown/compare/1.6.3...1.6.4) (2017-02-06) ### Bug Fixes * **encodeAmpsAndAngles:** fix > and < encoding ([7f43b79](https://github.com/showdownjs/showdown/commit/7f43b79)), closes [#236](https://github.com/showdownjs/showdown/issues/236) * **encodeEmail:** now produces valid emails ([605d8b7](https://github.com/showdownjs/showdown/commit/605d8b7)), closes [#340](https://github.com/showdownjs/showdown/issues/340) * **flavor: github:** new version of github does not use prefix 'user-content' in headers ([368f0b6](https://github.com/showdownjs/showdown/commit/368f0b6)) * **hashCodeTags:** escape code tags ([41cb3f6](https://github.com/showdownjs/showdown/commit/41cb3f6)), closes [#339](https://github.com/showdownjs/showdown/issues/339) * **italicsAndBold:** fix double emphasis edge case ([1832b7f](https://github.com/showdownjs/showdown/commit/1832b7f)) * **paragraph:** workaround QML bug ([f7a429e](https://github.com/showdownjs/showdown/commit/f7a429e)), closes [#246](https://github.com/showdownjs/showdown/issues/246) [#338](https://github.com/showdownjs/showdown/issues/338) * **prefixHeaderId:** make `prefixHeaderId` string be parsed along the generated id ([f641a7d](https://github.com/showdownjs/showdown/commit/f641a7d)) ### Features * **flavor: ghost:** add Ghost flavor ([6374b5b](https://github.com/showdownjs/showdown/commit/6374b5b)) * **flavor: original:** add John Gruber's markdown flavor ([6374b5b](https://github.com/showdownjs/showdown/commit/6374b5b)) ## [1.6.3](https://github.com/showdownjs/showdown/compare/1.6.2...1.6.3) (2017-01-30) ### Bug Fixes * **codeSpans:** add - and = to escaped chars inside code spans ([4243a31](https://github.com/showdownjs/showdown/commit/4243a31)) * **italicsAndBold:** fix inconsistency in italicsAndBold parsing ([a4f05d4](https://github.com/showdownjs/showdown/commit/a4f05d4)), closes [#332](https://github.com/showdownjs/showdown/issues/332) * **literalMidWordUnderscores:** fix inconsistent behavior of emphasis and strong with literalMidWordUndescores ([0292ae0](https://github.com/showdownjs/showdown/commit/0292ae0)), closes [#333](https://github.com/showdownjs/showdown/issues/333) * **paragraphs:** fix empty lines generating empty paragraphs ([54bf744](https://github.com/showdownjs/showdown/commit/54bf744)), closes [#334](https://github.com/showdownjs/showdown/issues/334) * **strikethrough:** fix strikethrough being wrongly parsed inside codeSpans ([169cbe8](https://github.com/showdownjs/showdown/commit/169cbe8)) ### Features * **events:** add events to all subparsers ([7d63a3e](https://github.com/showdownjs/showdown/commit/7d63a3e)) ## [1.6.2](https://github.com/showdownjs/showdown/compare/1.6.1...1.6.2) (2017-01-29) ### Bug Fixes * **escapeSpecialCharsWithinTagAttributes:** add ~ and = to escaped chars ([bfcc0e4](https://github.com/showdownjs/showdown/commit/bfcc0e4)) * **strikethrough:** allow escaping tilde char ([24d47d7](https://github.com/showdownjs/showdown/commit/24d47d7)), closes [#331](https://github.com/showdownjs/showdown/issues/331) ### Features * **ghMentionsLink:** add ability to define the generated url in @mentions ([a4c24c9](https://github.com/showdownjs/showdown/commit/a4c24c9)) ## [1.6.1](https://github.com/showdownjs/showdown/compare/1.6.0...1.6.1) (2017-01-28) ### Bug Fixes * **simplifiedAutoLink:** fix missing spaces before and after email addresses ([5190b6a](https://github.com/showdownjs/showdown/commit/5190b6a)), closes [#330](https://github.com/showdownjs/showdown/issues/330) ### Features * **encodeEmail:** add option to enable/disable mail obfuscation ([90c52b8](https://github.com/showdownjs/showdown/commit/90c52b8)) ### Notes This release also improves performance a bit (around 8%) ## [1.6.0](https://github.com/showdownjs/showdown/compare/1.5.5...1.6.0) (2017-01-09) ### Bug Fixes * **ghCompatibleHeaderId:** improve the number of removed chars ([d499feb](https://github.com/showdownjs/showdown/commit/d499feb)) * **IE8:** fix for IE8 error on using isUndefined function ([561dc5f](https://github.com/showdownjs/showdown/commit/561dc5f)), closes [#280](https://github.com/showdownjs/showdown/issues/280) * **options:** fix ghCompatibleHeaderId that was set as string instead of boolean ([de7c37e](https://github.com/showdownjs/showdown/commit/de7c37e)) * **simpleLineBreaks:** fix simpleLineBreaks option not working with non-ASCII chars and markdown delimiters ([b1c458a](https://github.com/showdownjs/showdown/commit/b1c458a)), closes [#318](https://github.com/showdownjs/showdown/issues/318) [#323](https://github.com/showdownjs/showdown/issues/323) ### Features * **CLI:** add -q (quiet) and -m (mute) mode to CLI ([f3b86f0](https://github.com/showdownjs/showdown/commit/f3b86f0)) * **CLI:flavor:** add flavor option to CLI ([2d6cd1e](https://github.com/showdownjs/showdown/commit/2d6cd1e)) * **getFlavor:** add getFlavor method to showdown and Converter ([0eaf105](https://github.com/showdownjs/showdown/commit/0eaf105)) * **ghMentions:** add support for github's @mentions ([f2671c0](https://github.com/showdownjs/showdown/commit/f2671c0)), closes [#51](https://github.com/showdownjs/showdown/issues/51) ### BREAKING CHANGES: * 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](https://github.com/showdownjs/showdown/compare/1.5.4...1.5.5) (2016-12-30) ### Features * **ghCompatibleHeaderId:** generate header ids compatible with github ([db97a90](https://github.com/showdownjs/showdown/commit/db97a90)), closes [#320](https://github.com/showdownjs/showdown/issues/320) [#321](https://github.com/showdownjs/showdown/issues/321) ## [1.5.4](https://github.com/showdownjs/showdown/compare/1.5.3...1.5.4) (2016-12-21) ### Bug Fixes * **horizontal rule:** revert backwards incompatibility change ([113f5f6](https://github.com/showdownjs/showdown/commit/113f5f6)), closes [#317](https://github.com/showdownjs/showdown/issues/317) * **simpleLineBreaks:** fix simpleLineBreak option breaking lists html ([ed4c33f](https://github.com/showdownjs/showdown/commit/ed4c33f)), closes [#316](https://github.com/showdownjs/showdown/issues/316) ## [1.5.3](https://github.com/showdownjs/showdown/compare/1.5.2...1.5.3) (2016-12-19) ### Bug Fixes * parser slowness with certain inputs ([da8fb53](https://github.com/showdownjs/showdown/commit/da8fb53)), closes [#315](https://github.com/showdownjs/showdown/issues/315) ### Features * **requireSpaceBeforeHeadingText:** option to make space between `#` and header text mandatory ([5d19877](https://github.com/showdownjs/showdown/commit/5d19877)), closes [#277](https://github.com/showdownjs/showdown/issues/277) ## [1.5.2](https://github.com/showdownjs/showdown/compare/1.5.1...1.5.2) (2016-12-17) ### Bug Fixes * **listeners:** fix listeners typo ([f0d25b7](https://github.com/showdownjs/showdown/commit/f0d25b7)), closes [#290](https://github.com/showdownjs/showdown/issues/290) * **lists:** lines with multiple dashes being parsed as multilists ([10b3410](https://github.com/showdownjs/showdown/commit/10b3410)), closes [#312](https://github.com/showdownjs/showdown/issues/312) * **nbsp:** nbsp are replaced with simple spaces ([6e90f7c](https://github.com/showdownjs/showdown/commit/6e90f7c)) ## [1.5.1](https://github.com/showdownjs/showdown/compare/1.5.0...1.5.1) (2016-12-01) ### Features * **simpleLineBreaks:** option that parses linebreaks as
. This option enables linebreaks to always be treated as `
` tags without needing to add spaces in front of the line, the same way GitHub does. ([0942b5e](https://github.com/showdownjs/showdown/commit/0942b5e)), closes [#206](https://github.com/showdownjs/showdown/issues/206) * **excludeTrailingPunctuationFromURLs:** option that excludes trailing punctuation from auto linked URLs. ([d2fc2a0](https://github.com/showdownjs/showdown/commit/d2fc2a0)), closes [#266](https://github.com/showdownjs/showdown/issues/266) [#308](https://github.com/showdownjs/showdown/issues/308) ## [1.5.0](https://github.com/showdownjs/showdown/compare/1.4.4...1.5.0) (2016-11-11) ### Bug Fixes * **lists:** enforce 4 space indentation in sublists ([d51be6e](https://github.com/showdownjs/showdown/commit/d51be6e)) * **lists:** fix sublists inconsistent behavior ([9cfe8b1](https://github.com/showdownjs/showdown/commit/9cfe8b1)), closes [#299](https://github.com/showdownjs/showdown/issues/299) ### Features * **disableForced4SpacesIndentedSublists:** option that disables the requirement of indenting nested sublists by 4 spaces. The option is disabled by default ([0be39bc](https://github.com/showdownjs/showdown/commit/0be39bc)) ### BREAKING CHANGES * 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: ```md * one * two * three ``` Before (output): ```html