Skip to content

Migration to v5

v5 has the same external API as v4, only internals were changed. Some external plugins may need update (all plugins from markdown-it github organization are up to date).

For users

External API did not change.

  • If you use markdown-it with plugins, make sure to update them.

For plugin developers

  • added stateBlock.sCount to calculate indents instead of stateBlock.tShift, it only differs if tabs are present:
    • stateBlock.tShift is used to calculate a number of characters (tab is 1 character)
    • stateBlock.sCount is used to calculate the block offset (tab is 1-4 characters depending on position)
  • added stateInline.ruler2 and stateInline.delimiters needed to parse emphasis-like markup better
    • emphasis-like tags now can't be skipped with stateInline.skipToken, they treat a sequence of markers (e.g. ***) as a token instead
    • stateInline.delimiters is linked with stateInline.tokens, so truncating/splicing stateInline.tokens may break things