diff --git a/README.md b/README.md index 410b518..65f80cf 100644 --- a/README.md +++ b/README.md @@ -16,24 +16,24 @@ __[Live demo](https://markdown-it.github.io)__ and [other packages](https://www.npmjs.org/browse/keyword/markdown-it) on npm. -## Install +> [!NOTE] +> If you are upgrading to v15, see the [migration guide](docs/migration/15.0.md). + +### [Documentation >>](https://markdown-it.github.io/markdown-it/) -**node.js**: + +##### Install (node.js): ```bash npm install markdown-it ``` -> [!NOTE] -> -> For a quick look at `dist/` folder contents, see -> . -> -> For browser you can use unpkg.com, esm.sh or any other CDN, which mirror npm -> registry +For a quick look at `dist/` folder contents, see . +For browser you can use unpkg.com, esm.sh or any other CDN, which mirror npm +registry. -## Usage +##### Usage ```js import MarkdownIt from 'markdown-it' @@ -42,8 +42,3 @@ const result = md.render('# markdown-it rulezz!') ``` [More usage examples](docs/usage.md). - - -## API - -__[API documentation](https://markdown-it.github.io/markdown-it/)__ diff --git a/docs/migration/15.0.md b/docs/migration/15.0.md new file mode 100644 index 0000000..efc2b21 --- /dev/null +++ b/docs/migration/15.0.md @@ -0,0 +1,64 @@ +Migration to v15 +================ + +Despite the breaking changes in this release, most users should be able to +upgrade without problems. The public parser API is compatible with v14, +including both `new MarkdownIt()` and the `markdownit()` factory form. + + +## For users + +Code that imports the package root and uses the public API should require no +changes. + +All plugins from the +[`markdown-it` organization](https://github.com/markdown-it) are compatible +with v15. For third-party plugins, ask the plugin author whether v15 is +supported. + +### Linkification + +`linkify-it` no longer recognizes fuzzy links such as `example.com` by +default. If you rely on this behavior, enable it explicitly: + +```js +const md = new MarkdownIt({ linkify: true }) +md.linkify.set({ fuzzyLink: true }) +``` + +### Browser builds + +Browser exports and bundle paths have changed. See + for the current `dist/` contents and update +direct CDN URLs accordingly. + + +## For plugin developers + +### Removed utilities + +Three legacy helpers were removed from `md.utils`: + +- `md.utils.assign()` — use `Object.assign()`. +- `md.utils.has(object, key)` — use + `Object.prototype.hasOwnProperty.call(object, key)`. +- `md.utils.isString()` — use `typeof value === 'string'`. + + +### Package internals + +Package-internal imports such as `markdown-it/lib/token.mjs` are no longer +exported. Common parser classes are available as static properties on the main +export: + +```js +import MarkdownIt from 'markdown-it' + +const Token = MarkdownIt.Token +const StateBlock = MarkdownIt.StateBlock +``` + +The same applies to `Ruler`, `Renderer`, `ParserCore`, `StateCore`, +`ParserBlock`, `ParserInline` and `StateInline`. Utilities and helpers remain +available on parser instances as `md.utils` and `md.helpers`. Individual rules +and presets are no longer exported.