BREAKING CHANGE:
- Update HTML block tags: add search, remove source
- Update punctuation to include unicode punctuation and symbol categories
- Update HTML comment to include <!--> and <!--->
Many emojis are 2+ unicode bytes long. The \u tag which allows searching for punctuation also counts emojis as single chars. Slicing the strings into an array restores the correct character count.
* fix: Support escapes within emphasis
...particularly right at the end.
Fixes#2280
* chore: realign comments with regexp alternatives
* test: Add HTML test for escapes within emphasis
* fix: Correct recognition and masking of escaped emphasis punctuation
* fix: Correct backslash fake-lookbehind
* 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
* 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
* 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
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(...)`
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.