UNPKG

@truto/turndown-plugin-gfm

Version:

Enhanced Turndown plugin for GitHub Flavored Markdown with improved table conversion and performance.

72 lines (65 loc) 1.97 kB
/** * TurndownService interface for type safety */ interface TurndownService { use(plugin: TurndownPlugin | TurndownPlugin[]): TurndownService; turndown(html: string): string; addRule(key: string, rule: any): TurndownService; [key: string]: any; } /** * Plugin function type for Turndown service */ export type TurndownPlugin = (turndownService: TurndownService) => void; /** * Tables plugin - Converts HTML tables to GitHub Flavored Markdown tables * * Features: * - Handles standard table structures * - Supports colspan attributes * - Escapes pipe characters and special characters * - Gracefully handles malformed HTML * - Performance optimized for large tables */ export declare const tables: TurndownPlugin; /** * Strikethrough plugin - Converts <del>, <s>, and <strike> tags to ~~text~~ */ export declare const strikethrough: TurndownPlugin; /** * Task list items plugin - Converts checkbox inputs to [x] and [ ] syntax */ export declare const taskListItems: TurndownPlugin; /** * Highlighted code block plugin - Converts highlighted code blocks to fenced code blocks * * Supports various highlight class formats: * - highlight-{language} * - highlight-text-{language} * - highlight-source-{language} */ export declare const highlightedCodeBlock: TurndownPlugin; /** * GitHub Flavored Markdown plugin - Combines all GFM plugins * * Includes: tables, strikethrough, taskListItems, and highlightedCodeBlock * * @param turndownService - The Turndown service instance to configure * * @example * ```typescript * import TurndownService from 'turndown'; * import { gfm } from '@truto/turndown-plugin-gfm'; * * const turndownService = new TurndownService(); * turndownService.use(gfm); * * const markdown = turndownService.turndown('<table>...</table>'); * ``` */ export declare const gfm: TurndownPlugin; /** * Default export - same as gfm */ declare const _default: TurndownPlugin; export default _default;