203 Commits

Author SHA1 Message Date
rossipedia
7d19665167
fix: only convert leading tabs to spaces (#1559) (#2434)
* fix: non leading-tabs in markdown content (#1559)

Only replaces tabs at the beginning of a block construct. Tabs in the
middle of the item are unaffected.

All tests passing. Tabs in both GFM and CommonMark at 100%

fixes #1559

* update new/html_comments.html to preserve tab

* combine redundant if condition

* add test for tab immediately after blockquote character
2022-04-10 19:37:04 -05:00
Zach Bialecki
ed66bf8abd
Add check in splitCells to prevent calling trim on undefined (#2372) 2022-01-26 22:07:01 -06:00
Tony Brix
6e1f9235dc
fix: fix blank line after table header (#2332) 2022-01-26 15:51:00 -06:00
Tony Brix
c4a3ccd344
Merge pull request from GHSA-rrrm-qjm4-v8hf
* fix: fix reflink redos

Co-authored-by: MakeNowJust <make.just.on@gmail.com>

* fix: fix def redos

Co-authored-by: MakeNowJust <make.just.on@gmail.com>

* fix block label for multiple slashes

Co-authored-by: MakeNowJust <make.just.on@gmail.com>
2022-01-12 19:53:48 -06:00
Chell
f82ea2cf1b
fix: spaces on a newline after a table (#2319)
* fix: rename inconsistent function

* fix: newline with 1~4 spaces below table

* fix: format html test

* fix: specify spaces only

* fix: specify spaces only

* fix: detect tab

* fix: detect tab

* fix: newline at the end of html
2021-12-18 18:21:22 -06:00
Trevor Buckner
346b162bb7
fix: Fix every third list item broken (#2318)
* Fix #2314
2021-12-09 18:58:17 -05:00
Trevor Buckner
e0005d8232
fix: speed up parsing long lists (#2302)
Co-authored-by: Tony Brix <tony@brix.ninja>
2021-12-01 21:18:07 -06:00
Emmet Jang
5714212afd
fix: table after paragraph without blank line (#2298)
* fix: gfm table requires leading empty line

* test(gfm/table): add some test cases

* revert changes to `gfm.0.29.json`

* test(gfm/table): add `table_following_text` testcase
2021-11-24 18:10:22 -06:00
MarkedJS bot
2110c6236f 🗜️ build [skip ci] 2021-11-12 21:39:24 +00:00
Ben McCann
4afb228d95
fix: Convert to ESM (#2227)
BREAKING CHANGE:

- Default export removed. Use `import { marked } from 'marked'` or `const { marked } = require('marked')` instead.
- `/lib/marked.js` removed. Use `/marked.min.js` in script tag instead.
- When using marked in a script tag use `marked.parse(...)` instead of `marked(...)`
2021-11-02 09:32:17 -05:00
Trevor Buckner
7792adcfe6
Fix detection of orphaned emStrong delimiters (#2203) 2021-09-14 12:42:01 -05:00
Tony Brix
910f0f0356
fix: fix space at end of table line (#2201) 2021-09-08 15:20:45 -05:00
Tony Brix
21268abfba
fix: stop table at lines with only whitespace (#2188) 2021-08-24 21:23:53 -05:00
Tony Brix
e03b5c1f8d
fix: fix gfm urls after link (#2186) 2021-08-23 13:47:32 -05:00
Trevor Buckner
eb33d3b3a9
fix: Full Commonmark compliance for Lists (#2112) 2021-08-09 22:41:45 -05:00
Trevor Buckner
288f1cbe2f
Tokenizers lex their own child tokens (#2124)
BREAKING CHANGES:

- Tokenizers will create their own tokens with `this.lexer.inline(text, tokens)`. The `inline` function will queue the token creation until after all block tokens are rendered.
- `nptable` tokenizer is removed and merged with `table` tokenizer.
- Extensions tokenizer `this` object will include the `lexer` as a property. `this.inlineTokens` becomes `this.lexer.inline`.
- Extensions parser `this` object will include the `parser` as a property. `this.parseInline` becomes `this.parser.parseInline`.
- `tag` and `inlineText` tokenizer function signatures have changed.
2021-08-02 14:12:43 -05:00
Tony Brix
62d6a0e325
fix: update commonmark spec to v0.30 (#2113) 2021-06-25 15:14:09 -05:00
Trevor Buckner
825a9f82af
fix: em strong (#2075) 2021-06-01 15:26:35 -04:00
Tony Brix
6c9a8999dd
fix: fix autolink email after single space (#2073) 2021-05-27 11:15:32 -05:00
Michał Krassowski
6435ac9889
fix: Fix indented markdown in html (#2052)
Co-authored-by: Tony Brix <tony@brix.ninja>
2021-05-20 08:42:45 -05:00
Tony Brix
46cdfc1ece
fix: fix items between lists (#1936) 2021-02-26 23:51:21 -06:00
Trevor Buckner
7293251c43
fix: Total rework of Emphasis/Strong (#1864)
BREAKING CHANGE: `em` and `strong` tokenizers have been merged into one `emStrong` tokenizer
2021-02-07 16:25:01 -06:00
Tony Brix
1e36afde55
fix: allow sublist to be single space in pedantic (#1924) 2021-02-03 13:46:25 -06:00
Tony Brix
53c79ee919
fix: leave whitespace only lines alone (#1889)
* fix: leave whitespace only lines alone

* test: add whitepace_lines test

* fix: render code with trailing new line
2021-01-26 08:20:13 -06:00
Tony Brix
70ee29c02b
fix: fix atx heading and make regex safe (#1853) 2020-12-10 10:28:58 -06:00
Tony Brix
656c3e4aba
fix: fix link with angle brackets around href (#1851) 2020-12-10 10:27:58 -06:00
Tony Brix
f9bc93b2bb
fix: fix em and strong starting with special char (#1832) 2020-11-19 08:30:40 -06:00
Adrian Phinney
3942e894cf
fix: task lists not rendered when GFM is disabled (#1825)
* Fix #1823 - task lists are rendered even when GFM is disabled.

* end file with a new line

Co-authored-by: Tony Brix <tony@brix.ninja>
2020-11-19 08:30:04 -06:00
Tony Brix
d79f210aba
fix: no strikethrough on different number of tildes (#1821)
Possible Breaking Change: When using the inline.del rule the text is provided in capture group 2 instead of 1.
2020-11-14 20:03:39 -06:00
Tony Brix
5f9cafd49c
fix: list alignment (#1810)
* fix: fix list alignment

* test: add test

* test: update passing tests

* move regex to rules

* clean up code

* move item back to top
2020-11-04 15:23:04 -06:00
Tony Brix
6355ac2d6f
fix: fix indented code in list item (#1762) 2020-10-21 09:38:23 -05:00
Tony Brix
9576a982ff fix underscore adjacent to asterisk 2020-09-07 21:43:28 -05:00
Steven
1d6afc1774
Merge pull request #1748 from UziTech/indented-tables
fix indented tables to follow gfm spec
2020-08-13 10:33:43 -04:00
Tony Brix
2e99532bbd fix indented tables to act like gfm 2020-08-12 16:21:46 -05:00
hubenchang0515
52872d2121 fix bug : Cannot break line well [#1537](https://github.com/markedjs/marked/issues/1537)
Cannot use **(WhiteSpace)(WhiteSpace)(Return)** to break line while only one characher before it.

And if use special character, it will reset the character count

brought by [#1460](https://github.com/markedjs/marked/pull/1460)
2020-08-12 10:32:44 +08:00
Tony Brix
3b8358025d test comment to end of doc 2020-08-07 11:19:47 -05:00
Dmitriy Derepko
464045ab55 Added testcase and fixed #1738 2020-08-06 19:56:06 +03:00
Tony Brix
dddf9ae72c
Merge pull request #1686 from calculuschild/EmphasisFixes 2020-07-13 08:34:55 -05:00
Trevor Buckner
211b9f9a20 Removed Lookbehinds
Beginning and End delimiters for EM and Strong must be searched in a separate regex to work without lookbehinds. This invalidates the regex that skips over blocks (code, html, etc.) that take precedence over EM or Strong blocks.

Getting around this means we must now mask not only reflinks, but all enclosed blocks which were previously just skipped over in the Regex.

Add one check for overlapping Strong block when testing EM, now passes Commonmark 390 and 471
2020-07-08 16:00:12 -04:00
Trevor Buckner
4db32dc180 Links are masked only once per inline string 2020-06-30 17:49:11 -04:00
Trevor Buckner
54218fe164
Remove straggling "shouldfail: false" 2020-06-17 17:09:18 -04:00
Trevor Buckner
c60c9ba4fa Remove extra tests accidentally left in 2020-06-17 16:09:42 -04:00
jun-sheaf
fcfe15fba6 Fixed Example 272 2020-06-17 18:28:37 +02:00
Trevor Buckner
335a6601d4 Added fixes to Strong
Fixes examples 391, 397, 399, 400, 401, 431, 443, 475, 476, 479, and 480
2020-06-17 11:06:25 -04:00
Trevor Buckner
4cbba074d6 Moved logic into Tokenizer. No longer injecting Reflinks
Reflinks are replaced with the string 'aaaa' of equal length to hide any asterisks or underscores that might have been inside, since these should not be included. Then, the resulting string is matched to the em regex. The positions of the captures are then used on the original string.
2020-06-17 00:41:06 -04:00
Trevor Buckner
556070bffc Updated rules for underscore em
Now fixes three more cases
2020-06-12 16:29:25 -04:00
Trevor Buckner
ea203cf923 Lint 2 2020-06-12 15:40:13 -04:00
Trevor Buckner
c38ee23f45 Fix Pedantic 2020-05-29 20:53:58 -04:00
Trevor Buckner
4e2ec90374 Now passes several more tests
Added a check for the previous character to the  *em* Tokenizer. Needed to pass any tests where the em block starts with a punctuation character (e.g. commonmark example 368)
2020-05-29 16:25:46 -04:00
Trevor Buckner
40493bbc28 Follow GFM spec on Left-flanking-delimiter-runs 2020-05-21 12:56:31 -04:00