What is micromark-util-combine-extensions?
The micromark-util-combine-extensions package is a utility for combining syntax extensions for the micromark markdown parser. It allows developers to easily merge multiple extensions, which can add or modify the functionality of the markdown parser.
What are micromark-util-combine-extensions's main functionalities?
Combining Syntax Extensions
This feature allows developers to combine multiple markdown syntax extensions into a single extension object that can be passed to micromark. The `combineExtensions` function takes an array of extension objects and merges them.
const combinedExtensions = combineExtensions([extension1, extension2]);
Other packages similar to micromark-util-combine-extensions
remark-parse
Remark-parse is a markdown parser powered by remark, which is part of the unified collective. It is similar to micromark-util-combine-extensions in that it allows for the parsing of markdown with the possibility of adding plugins (extensions), but it is a full parser rather than just a utility for combining extensions.
markdown-it
Markdown-it is a markdown parser with a plugin system that allows for extending its capabilities. Similar to micromark-util-combine-extensions, markdown-it plugins can add or modify parsing functionality, but markdown-it is a standalone parser and plugin system, not just a utility for combining extensions.
unified
Unified is an interface for processing text using syntax trees and is part of the unified collective. It can be used with various plugins to parse and serialize markdown, among other things. While it serves a broader purpose, it shares the concept of extending functionality through plugins, similar to how micromark-util-combine-extensions combines extensions for micromark.
micromark-util-combine-extensions
micromark utility to combine syntax or html extensions.
Contents
What is this?
This package can merge multiple extensions into one.
When should I use this?
This package might be useful when you are making “presets”, such as
micromark-extension-gfm
.
Install
This package is ESM only.
In Node.js (version 16+), install with npm:
npm install micromark-util-combine-extensions
In Deno with esm.sh
:
import {combineExtensions} from 'https://esm.sh/micromark-util-combine-extensions@1'
In browsers with esm.sh
:
<script type="module">
import {combineExtensions} from 'https://esm.sh/micromark-util-combine-extensions@1?bundle'
</script>
Use
import {gfmAutolinkLiteral} from 'micromark-extension-gfm-autolink-literal'
import {gfmStrikethrough} from 'micromark-extension-gfm-strikethrough'
import {gfmTable} from 'micromark-extension-gfm-table'
import {gfmTaskListItem} from 'micromark-extension-gfm-task-list-item'
import {combineExtensions} from 'micromark-util-combine-extensions'
const gfm = combineExtensions([gfmAutolinkLiteral, gfmStrikethrough(), gfmTable, gfmTaskListItem])
API
This module exports the identifiers
combineExtensions
and
combineHtmlExtensions
.
There is no default export.
combineExtensions(extensions)
Combine multiple syntax extensions into one.
Parameters
extensions
(Array<Extension>
)
— list of syntax extensions
Returns
A single combined extension (Extension
).
combineHtmlExtensions(htmlExtensions)
Combine multiple html extensions into one.
Parameters
htmlExtensions
(Array<HtmlExtension>
)
— list of HTML extensions
Returns
A single combined HTML extension (HtmlExtension
).
Types
This package is fully typed with TypeScript.
It exports no additional types.
Compatibility
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
micromark-util-combine-extensions@2
, compatible with Node.js 16.
This package works with micromark@3
.
Security
This package is safe.
See security.md
in micromark/.github
for how to
submit a security report.
Contribute
See contributing.md
in micromark/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organisation, or community you agree to
abide by its terms.
License
MIT © Titus Wormer