diff options
Diffstat (limited to '')
-rw-r--r-- | markdown_it/port.yaml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/markdown_it/port.yaml b/markdown_it/port.yaml new file mode 100644 index 0000000..a6718fd --- /dev/null +++ b/markdown_it/port.yaml @@ -0,0 +1,49 @@ +- package: markdown-it/markdown-it + version: 12.2.0 + commit: 6e2de08a0b03d3d0dcc524b89710ce05f83a0283 + date: Aug 2, 2021 + notes: + - Rename variables that use python built-in names, e.g. + - `max` -> `maximum` + - `len` -> `length` + - `str` -> `string` + - | + Convert JS `for` loops to `while` loops + this is generally the main difference between the codes, + because in python you can't do e.g. `for {i=1;i<x;i++} {}` + - | + `env` is a common Python dictionary, and so does not have attribute access to keys, + as with JavaScript dictionaries. + `options` have attribute access only to core markdownit configuration options + - | + `Token.attrs` is a dictionary, instead of a list of lists. + Upstream the list format is only used to guarantee order: https://github.com/markdown-it/markdown-it/issues/142, + but in Python 3.7+ order of dictionaries is guaranteed. + One should anyhow use the `attrGet`, `attrSet`, `attrPush` and `attrJoin` methods + to manipulate `Token.attrs`, which have an identical signature to those upstream. + - Use python version of `charCodeAt` + - | + Reduce use of charCodeAt() by storing char codes in a srcCharCodes attribute for state + objects and sharing those whenever possible + This provides a significant performance boost + - | + In markdown_it/rules_block/reference.py, + record line range in state.env["references"] and add state.env["duplicate_refs"] + This is to allow renderers to report on issues regarding references + - | + The `MarkdownIt.__init__` signature is slightly different for updating options, + since you must always specify the config first, e.g. + use `MarkdownIt("commonmark", {"html": False})` instead of `MarkdownIt({"html": False})` + - The default configuration preset for `MarkdownIt` is "commonmark" not "default" + - Allow custom renderer to be passed to `MarkdownIt` + - | + change render method signatures + `func(tokens, idx, options, env, slf)` to + `func(self, tokens, idx, options, env)` + - | + Extensions add render methods by format + `MarkdownIt.add_render_rule(name, function, fmt="html")`, + rather than `MarkdownIt.renderer.rules[name] = function` + and renderers should declare a class property `__output__ = "html"`. + This allows for extensibility to more than just HTML renderers + - inline tokens in tables are assigned a map (this is helpful for propagation to children) |