Commit Graph

57 Commits

Author SHA1 Message Date
Barry Pollard
4333646c8c
fix(subParsers): strip international punctuation from github headers (#950) 2022-11-14 18:47:36 +00:00
Estevão Soares dos Santos
ce94be0ddf Merge branch 'develop' of github.com:showdownjs/showdown into develop 2022-04-27 21:45:23 +01:00
Estevão Soares dos Santos
00b47b298c test: make commonmark tests optional 2022-04-27 21:45:10 +01:00
Estevão Soares dos Santos
9f8c7199ea
feat(makehtml.events): implements event system refactor for converter.makeHtml (#919)
* startrefactoring the event system

* refactor: blockquotes, code blocks and links refactored

* refactor codeblock to new event system

* refactor subparser until ghcode to new events

* finish adating ghcodeblock to new event

* add headings to new events

* add image to event system

* add emphasisAndStrong to event system

* fix wrong event name in emphasisAndStrong onEnd event

* spanGamut and build

* showdown.helper.event refactored to showdown.Event

* partial

* add links

* add metadata

* add strikethrough and table

* build

* add underline

* add unescapeSpecialChars

* small refactoring

* remove old tables parser

* add lists

* add simple event trigger tests

* build

* fix browserstack

* fix browserstack

* remove testing for ie11 and bumped firefox min version to 45

* fixes and closes #920

* build
2022-04-27 21:42:24 +01:00
Chris Manson
fcbccd6448
test(commonmark): Add updated CommonMark Tests (#918)
* add grunt task to extract commonmark tests

* update commonmark tests

* fix test bootstrap for commonmark tests

* uncomment out the commonmark tests
2022-04-27 21:35:06 +01:00
Estevão Soares dos Santos
3c2e25a3c7 Merge branch 'develop' into feat/910-auto-linking-mention-from-html-to-markdown
# Conflicts:
#	src/subParsers/makemarkdown/table.js
2022-04-16 20:09:50 +01:00
Estevão Soares dos Santos
3a616c5bf6 feat(makeMarkdown.ghMentions): add support for ghMentions in makeMarkdown
Related to #910
2022-04-16 20:06:05 +01:00
Estevão Soares dos Santos
9a3e714b2c test: implement karma and browserstack tests 2022-03-27 00:05:30 +00:00
Chris
5fc843e175
feat(makemarkdown.table): support non-strict tables
* feat(makemarkdown.table): support non-strict tables

change to support non strict html tables.
currently html tables require both 'thead' and 'tbody' to be set.
since there are many tables out there that dont meet these requirements,
i added support for most common tables. all of the following tables will now
work (the last one, is the only version that is currently working):
<table><tr><td>t 0 - missing thead/tbody</td></tr></table>
<table><tr><td>t 1 - missing thead/tbody</td></tr><tr><td>t 1 body</td></tr></table>
<table><thead><tr><th>t 2 - thead only</th></tr></thead></table>
<table><thead><tr><td>t 3 - thead with td</td></tr></thead></table>
<table><tbody><tr><td>t 4 - tbody only</td></tr></tbody></table>
<table><thead><tr><th>t 5 - both thead and tbody</th></tr></thead><tbody><tr><td>t 5</td></tr></tbody></table>
i thought this feature should be made optional in case you only want
to support fully compliant tables. but then i realized, that the options
are only passed to the markdown subparsers, not the html ones.
and since this does not break anything (all tests pass), its ok, i guess...

Closes #687

* refactor: code refactor and added tests

Co-authored-by: Estevão Soares dos Santos <estevao.santos@gmail.com>
2022-03-26 04:18:05 +00:00
Swain
0d3ca4da5a
fix(metadata): allow whitespaces after closing marks
Co-authored-by: Estevão Soares dos Santos <estevao.santos@gmail.com>
2022-03-25 20:55:19 +00:00
CommanderRoot
3eff10bbbf
refactor: replace deprecated String.prototype.substr() (#902)
.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-03-25 20:18:41 +00:00
Estevao Soares dos Santos
8cecdf0382 fix(lists): codeblocks inside lists are now correctly parsed
Closes #494
2022-02-25 01:06:09 +00:00
Estevao Soares dos Santos
5e0ed809db feat(moreStyling): add some useful classes for css styling
Currently, only adds the class `task-list-item-complete` to completed tasks items in GFM tasklists.
But in the future, each time a css class is deemed to be necessary, should be added under this umbrella
option.

Closes #540
2022-02-24 01:57:08 +00:00
Estevao Soares dos Santos
67114255ad fix(gfmCodeBlocks): allow the info string in gfmCodeBlocks to contain spaces
The line with the opening code fence may optionally contain some text following the code fence (the info string); this is trimmed of leading and trailing whitespace and can contain multiple words (but not newlines).

Closes #856
2022-02-24 01:22:11 +00:00
cjwind
626f661e8e
fix(lists): Fix makeMarkdown tasklist (#846)
Fix makeMarkdown() with tasklist by adding input subparser.

Close #774

Co-authored-by: Estevão Soares dos Santos <estevao.santos@gmail.com>
2022-02-24 00:16:31 +00:00
SyntaxRules
d54a6101b9 test(anchor): check other unicode characters 2022-02-07 11:19:44 -07:00
SyntaxRules
17837832b4 test(anchor): no protocol links are still treated as links
Closes https://github.com/showdownjs/showdown/issues/755
2022-02-07 11:07:11 -07:00
SyntaxRules
def6f0b453 test(anchor): fragments work as intended
Closes https://github.com/showdownjs/showdown/issues/845
2022-02-07 10:57:27 -07:00
SyntaxRules
838c5dbecc test(anchor): check that reserved keywords and object properties are usable in links 2022-02-07 10:29:59 -07:00
Vladimir Vuksanovic
ac1047815f fix(lists): Fix tasklists to comply with GFM
GFM requires a whitespace between brackets.

Closes #655
2021-11-14 13:37:38 -07:00
Devyn S
75ac5c9b6e
Merge pull request #702 from systemsthinkinginstitute/fix-upstream-reference-link-impostors
fix(makeHtml): allow using of squadron brackets in non-link locations
2021-11-14 13:30:06 -07:00
Marco Montalbano
8e2b339fe2
fix(helpers): update github flavored emoji to the latest (#837) 2021-11-14 13:23:03 -07:00
Thomas P
5544e4d995
fix(helpers): update octocat emoji image location; add tests 2021-11-14 13:17:19 -07:00
Devyn S
d5cc678941
Merge pull request #875 from showdownjs/develop
Develop
2021-11-12 10:05:38 -07:00
Devyn S
6efd75cb83
Merge pull request #731 from VladimirV99/ellipsis
feature(ellipsis): Add option to disable ellipsis
2021-11-12 09:58:50 -07:00
Devyn S
45fcc8435b
Merge pull request #698 from systemsthinkinginstitute/fix-space-between-inline-elements
Fix space between inline elements
2021-11-12 09:54:35 -07:00
Devyn S
965789589e
Merge pull request #788 from henrahmagix/include-html51-details-in-block-elements
Include HTML5.1 <details> in known block tags
2021-11-10 13:45:13 -07:00
Sam Harrison
e3a5b5928f feat(relativePathBaseUrl): Add support for prepending a base URL
This feature enables support for prepending a base URL to relative paths in
links and images when converting Markdown to HTML.

Closes #536
2021-11-09 23:34:42 -07:00
Henry Blyth
cb689aa23b Add <details> corresponding makeMarkdown test 2020-04-13 23:05:07 +01:00
Henry Blyth
775f2abe97 Include HTML5.1 <details> in known block tags
Fix #787
2020-04-13 22:55:14 +01:00
Estevao Soares dos Santos
7664beae70 Merge branch 'master' into develop 2019-11-02 21:14:03 +00:00
Jammerware
caab5bb7bc fix: Add rel="noopener noreferrer" to links when openLinksInNewWindow is on
Add rel="noreferrer" to links when openLinksInNewWindow is on. Also add noopener when openLinksInNewWindow is on.

Closes #670
2019-11-02 18:58:07 +00:00
Vladimir Vuksanovic
5d494c8202 feature(ellipsis): Add option to disable ellipsis
Add ability to disable ellipsis parser.
This is needed for some use cases. See #634
Defaults to true to keep backwards compatibility.
2019-10-04 16:45:27 +02:00
David Chester
260d889427 fix reference link impostors 2019-05-25 18:01:56 +00:00
David Chester
f0d37ad3c5 rename test files to match convention 2019-05-25 17:13:24 +00:00
David Chester
001b1881d0 preserve spaces between inline elements 2019-05-14 13:15:15 +00:00
David Chester
201969473a fix(makeMarkdown): handle <br> tags converting html to markdown
Convert <br> tags to 2 spaces + newline rather than leaving the tag
in place when converting HTML to MD
2019-01-01 20:22:49 +00:00
Estevao Soares dos Santos
6ee6d8c9d9 rebuild 2018-10-24 03:27:16 +01:00
Vladimir Vuksanovic
4378abb4fa fix(italicsAndBold): Make italicsAndBold lazy (#608)
fix italicsAndBold if literalMidwordUnderscores option is enabled
it should end at the nearest closing underscores, not the furthest

Closes #544
2018-10-24 03:23:28 +01:00
Vladimir Vuksanovic
81edc70da7 fix(underline): Make underline lazy
fix underline if literalMidwordUnderscores option is enabled
it should end at the nearest closing underscores, not the furthest
2018-10-21 15:20:39 +02:00
Estevao Soares dos Santos
d3ebff7ef0 fix(links): a number of issues with links subparser
This is a major refactor of the links subparser, previously known as anchors subparser.

Closes #355, #534

BREAKING CHANGE: `excludeTrailingPunctuationFromURLs` option was removed. This is now the default behavior
2018-09-25 04:04:59 +01:00
Estevao Soares dos Santos
f46479b4ee chore: update readme and add TASKS.TODO.md 2018-09-16 03:45:07 +01:00
Estevao Soares dos Santos
6259f37bd6 fix(gfm-codeblocks): leading space no longer breaks gfm codeblocks
Now GFM Code Blocks can have up to 3 spaces before the backticks

Closes #523
2018-09-15 14:58:50 +01:00
Estevao Soares dos Santos
26abc7a795 fix(headings): inconsistent behavior in lists
In text, headings only require a single linebreak to be treated as such.
However, in lists, they would require a double linebreak.
Now, the behavior in lists and text is consistent, requiring only a single
linebreak.

Closes #495
2018-09-15 14:45:48 +01:00
Estevao Soares dos Santos
d9eea64794 remove(literalMidWordAsterisks): remove literalMidWordAsterisks feature
This feature was seen as a bit "duh!" since midword asterisks are not really a thing and, for these situations, you can simply escape the asterisk character.

Closes #499

BREAKING CHANGE: literalMidWordAsterisks option was removed and so asterisks will always retain their markdown magic meaning in a source text.
If you're using this feature, and you wish to retain this option, you can find a shim here: <https://gist.github.com/tivie/7f8a88c89ffb00d2afe6c59a25528386>
2018-09-14 22:46:03 +01:00
Estevao Soares dos Santos
a4be301331 fix: allow escaping of colons
Previously, you couldn't escape colons (as they were semi-magic markdown characters).
Colons (:) can now be backslash escaped.
2018-09-14 21:34:48 +01:00
Estevao Soares dos Santos
2ba00751cc fix(mentions): allow for usernames with dot, underscore and dash
Closes #574
2018-09-14 17:03:07 +01:00
Estevao Soares dos Santos
b0d475fc08 fix(images): fix js error when using image references
In some circumstances, on a reference style image, the last capturing
group is ignored, which causes the fucntion argument to return the number
of matches instead of a string (or undefined).
Checking if the title parameter is a string ensures that the title
parameter is actually something that was caught by the regex and not some
metadata.

Closes #585
2018-09-14 15:49:24 +01:00
Estevao Soares dos Santos
63763b136f fix(images): fix error when using image references
In some circumstances, on a reference style image, the last capturing
group is ignored, which causes the fucntion argument to return the number
of matches instead of a string (or undefined).
Checking if the title parameter is a string ensures that the title
parameter is actually something that was caught by the regex and not some
metadata.

Closes #585
2018-09-14 15:40:18 +01:00
Estevao Soares dos Santos
0c6b5bdc4b Merge branch 'develop' of https://github.com/showdownjs/showdown into develop
# Conflicts:
#	dist/showdown.js
#	dist/showdown.js.map
#	dist/showdown.min.js
#	dist/showdown.min.js.map
2018-09-14 14:11:08 +01:00