Module: Markdown::Merge
- Defined in:
- lib/markdown/merge.rb,
lib/markdown/merge/cleanse.rb,
lib/markdown/merge/version.rb,
lib/markdown/merge/freeze_node.rb,
lib/markdown/merge/link_parser.rb,
lib/markdown/merge/debug_logger.rb,
lib/markdown/merge/file_aligner.rb,
lib/markdown/merge/merge_result.rb,
lib/markdown/merge/smart_merger.rb,
lib/markdown/merge/file_analysis.rb,
lib/markdown/merge/gap_line_node.rb,
lib/markdown/merge/output_builder.rb,
lib/markdown/merge/code_block_merger.rb,
lib/markdown/merge/conflict_resolver.rb,
lib/markdown/merge/document_problems.rb,
lib/markdown/merge/smart_merger_base.rb,
lib/markdown/merge/file_analysis_base.rb,
lib/markdown/merge/markdown_structure.rb,
lib/markdown/merge/table_match_refiner.rb,
lib/markdown/merge/link_definition_node.rb,
lib/markdown/merge/node_type_normalizer.rb,
lib/markdown/merge/cleanse/block_spacing.rb,
lib/markdown/merge/table_match_algorithm.rb,
lib/markdown/merge/whitespace_normalizer.rb,
lib/markdown/merge/partial_template_merger.rb,
lib/markdown/merge/link_definition_formatter.rb,
lib/markdown/merge/link_reference_rehydrator.rb,
lib/markdown/merge/cleanse/code_fence_spacing.rb,
lib/markdown/merge/cleanse/condensed_link_refs.rb
Overview
Smart merging for Markdown files using AST-based parsers via tree_haver.
Markdown::Merge provides intelligent Markdown merging with support for
multiple parsing backends (Commonmarker, Markly) through tree_haver:
- Standalone SmartMerger that works with any available backend
- Matching structural elements (headings, paragraphs, lists, etc.) between files
- Preserving frozen sections marked with HTML comments
- Resolving conflicts based on configurable preferences
- Node type normalization for portable merge rules across backends
Can be used directly or through parser-specific wrappers
(commonmarker-merge, markly-merge) that provide hard dependencies
and backend-specific defaults.
Defined Under Namespace
Modules: Cleanse, DebugLogger, LinkDefinitionFormatter, MarkdownStructure, NodeTypeNormalizer, Version Classes: CodeBlockMerger, ConflictResolver, DestinationParseError, DocumentProblems, Error, FileAligner, FileAnalysis, FileAnalysisBase, FreezeNode, GapLineNode, LinkDefinitionNode, LinkParser, LinkReferenceRehydrator, MergeResult, OutputBuilder, ParseError, PartialTemplateMerger, SmartMerger, SmartMergerBase, TableMatchAlgorithm, TableMatchRefiner, TemplateParseError, WhitespaceNormalizer