micromark Extension Combiner Utility

2.0.1 · active · verified Sun Apr 19

micromark-util-combine-extensions is a dedicated utility package within the unified collective, designed to efficiently merge multiple micromark syntax extensions or HTML extensions into a single, cohesive extension object. This functionality is crucial for creating and managing markdown processing presets, such as `micromark-extension-gfm`, which bundle several individual extensions into a convenient package. The package is currently at version 2.0.1, which is compatible with Node.js 16+ and works specifically with `micromark@3`. As a component of the `micromark` monorepo, its release cadence generally aligns with the broader `micromark` project, which sees regular updates for performance and bug fixes across its various components. Its primary differentiator is its singular focus on extension combination, providing a streamlined API (`combineExtensions`, `combineHtmlExtensions`) that simplifies complex extension management for developers building custom markdown processing pipelines.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to combine multiple individual micromark syntax extensions into a single extension object using `combineExtensions` for easier management and use with the `micromark` parser.

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'

// This example combines several GFM syntax extensions into a single extension object
// suitable for use with micromark. Note that some extensions are functions that need
// to be called (e.g., gfmStrikethrough()), while others are direct objects.
const combinedGfmSyntaxExtension = combineExtensions([
  gfmAutolinkLiteral,
  gfmStrikethrough(), // Some extensions are functions that return the actual extension object
  gfmTable,
  gfmTaskListItem
])

console.log('Successfully combined GFM syntax extensions for micromark:', combinedGfmSyntaxExtension)

// You would typically pass this combined extension to the micromark parser:
// import { micromark } from 'micromark';
// const html = micromark('~Hello~', { extensions: [combinedGfmSyntaxExtension] });
// console.log(html); // Outputs HTML for strikethrough content, e.g., <p><del>Hello</del></p>

view raw JSON →