JSPM

mdast-util-extended-table

2.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8991
  • Score
    100M100P100Q146134F
  • License MIT

mdast extension for table allowing colspan/rowspan

Package Exports

  • mdast-util-extended-table
  • mdast-util-extended-table/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mdast-util-extended-table) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

mdast-util-extended-table

mdast extensions for extended table syntax

Feature

This package provides mdast utilities to handle extended table syntax with micromark-extension-extended-table.

This includes:

Important

extendedTableFromMarkdown() and extendedTableToMarkdown override some handlers for mdast-util-gfm-table. If you encounter any problems, disable this first and see what happens.

Install

$ npm install mdast-util-extended-table

Use

import {
  extendedTableFromMarkdown,
  extendedTableToMarkdown,
  extendedTableHandlers,
} from 'mdast-util-extended-table';

import { extendedTable } from 'micromark-extension-extended-table';
import { gfmTable } from 'micromark-extension-gfm-table';
import { gfmTableFromMarkdown, gfmTableToMarkdown } from 'mdast-util-gfm-table';

import { fromMarkdown } from 'mdast-util-from-markdown';
import { toMarkdown } from 'mdast-util-to-markdown';
import { toHast } from 'mdast-util-to-hast';
import { inspect } from 'unist-util-inspect';

const md = `
| a | b | c |
|---|---|---|
| > | 1 | 2 |
| ^ | ^ | 3 |
`;

const mdast = fromMarkdown(md, {
  extensions: [gfmTable(), extendedTable],
  mdastExtensions: [gfmTableFromMarkdown(), extendedTableFromMarkdown()],
});
console.log(inspect(mdast));

const markdown = toMarkdown(mdast, {
  extensions: [gfmTableToMarkdown(), extendedTableToMarkdown()],
});
console.log(markdown);

const hast = toHast(mdast, {
  handlers: extendedTableHandlers,
});
console.log(inspect(hast));

API

extendedTableFromMarkdown(extendedTableFromMarkdownOptions?)

This returns a mdast-util-from-markdown extension.

This MUST be set after gfmTableFromMarkdown in mdast-util-gfm-table to override its handlers.

options

extendedTableFromMarkdownOptions.colspanWithEmpty (boolean?, default: false)

Whether to merge cell with the right empty cell which contains no spaces (||).

extendedTableFromMarkdown(extendedTableToMarkdownOptoins?)

This returns a mdast-util-to-markdown extension.

This MUST be set after gfmTableToMarkdown in mdast-util-gfm-table to override its handlers.

options

Same as gfmTableToMarkdown options. This will be used for overriding handlers.

extendedTableHandlers

mdast-util-to-hast handlers

Mdast Node Extension

mdast-util-extended-table extends mdast TableCell node.

import type {
  Table as MdastTable,
  TableRow as MdastTableRow,
  TableCell as MdastTableCell,
} from 'mdast';

type Table = Omit<MdastTable, 'children'> & {
  children: Array<TableRow>;
};

type TableRow = Omit<MdastTableRow, 'children'> & {
  children: Array<TableCell>;
};

type TableCell = MdastTableCell & {
  colspan?: number;
  rowspan?: number;
};