UNPKG

legal-markdown-js

Version:

Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version

64 lines 2 kB
/** * Remark Plugin for Legal Header Processing * * This plugin processes legal headers and numbering in markdown documents using * the remark AST. It provides automatic numbering, formatting, and section * management for legal document structure. * * Features: * - Automatic header numbering (l., ll., lll., etc.) * - Section references and cross-referencing * - Customizable numbering formats * - Reset and continuation options * - Indentation management * * @example * ```typescript * import { unified } from 'unified'; * import remarkParse from 'remark-parse'; * import remarkStringify from 'remark-stringify'; * import { remarkHeaders } from './headers'; * * const processor = unified() * .use(remarkParse) * .use(remarkHeaders, { * metadata: { 'level-one': 'l', 'level-two': 'll' }, * noReset: false, * noIndent: false * }) * .use(remarkStringify); * ``` * * @module */ import { Plugin } from 'unified'; import { Root } from 'mdast'; /** * Options for the remark headers plugin * @interface RemarkHeadersOptions */ export interface RemarkHeadersOptions { /** Document metadata containing header configurations */ metadata: Record<string, any>; /** Disable automatic numbering reset */ noReset?: boolean; /** Disable automatic indentation */ noIndent?: boolean; /** Custom header patterns */ headerPatterns?: Record<string, string>; /** Enable debug logging */ debug?: boolean; } /** * Remark plugin for processing legal headers * * This plugin transforms markdown headers into properly numbered legal headers * according to legal document conventions. It supports multiple numbering * formats and can maintain state across the document. * * @param options - Configuration options for header processing * @returns Remark plugin transformer function */ export declare const remarkHeaders: Plugin<[RemarkHeadersOptions], Root>; export default remarkHeaders; //# sourceMappingURL=headers.d.ts.map