legal-markdown-js
Version:
Node.js implementation of LegalMarkdown for processing legal documents with markdown and YAML - Complete feature parity with Ruby version
51 lines • 1.73 kB
TypeScript
/**
* Remark plugin for field tracking in Legal Markdown documents
*
* This plugin processes text nodes to track field usage for highlighting and
* analysis purposes. It excludes code blocks and inline code to prevent
* false positives from field-like patterns in code.
*
* Features:
* - Tracks field patterns like {{field_name}} in text nodes only
* - Excludes code and inlineCode nodes to prevent contamination
* - Integrates with field tracker for highlighting support
* - Supports both simple fields and complex field expressions
* - Maintains field usage statistics and metadata
*
* @example
* ```typescript
* import { unified } from 'unified';
* import remarkParse from 'remark-parse';
* import remarkFieldTracking from './field-tracking';
*
* const processor = unified()
* .use(remarkParse)
* .use(remarkFieldTracking, {
* patterns: ['{{(.+?)}}'], // Custom field patterns
* trackingEnabled: true
* });
* ```
*
* @module
*/
import type { Plugin } from 'unified';
import type { Root } from 'mdast';
/**
* Configuration options for the field tracking plugin
*/
export interface FieldTrackingOptions {
/** Enable/disable field tracking (default: true) */
trackingEnabled?: boolean;
/** Custom field patterns to track (default: ['{{(.+?)}}']) */
patterns?: string[];
/** Debug mode for logging field tracking operations */
debug?: boolean;
/** Metadata object to store tracking statistics */
metadata?: Record<string, any>;
}
/**
* Remark plugin for field tracking in Legal Markdown documents
*/
declare const remarkFieldTracking: Plugin<[FieldTrackingOptions?], Root>;
export default remarkFieldTracking;
//# sourceMappingURL=field-tracking.d.ts.map