Module: Commonmarker::Merge
- Defined in:
- lib/commonmarker/merge.rb,
lib/commonmarker/merge/backend.rb,
lib/commonmarker/merge/version.rb,
lib/commonmarker/merge/freeze_node.rb,
lib/commonmarker/merge/debug_logger.rb,
lib/commonmarker/merge/smart_merger.rb,
lib/commonmarker/merge/file_analysis.rb
Overview
Smart merging for Markdown files using CommonMarker AST.
Commonmarker::Merge provides intelligent merging of Markdown files by:
- Parsing Markdown into AST using CommonMarker via tree_haver
- Matching structural elements (headings, paragraphs, lists, etc.) between files
- Preserving frozen sections marked with HTML comments
- Resolving conflicts based on configurable preferences
This is a thin wrapper around Markdown::Merge that:
- Provides hard dependency on the commonmarker gem
- Sets commonmarker-specific defaults (freeze token, inner_merge_code_blocks)
- Maintains API compatibility for existing users
Defined Under Namespace
Modules: Backend, DebugLogger, Version Classes: DestinationParseError, Error, FileAnalysis, FreezeNode, ParseError, SmartMerger, TemplateParseError
Constant Summary collapse
- DEFAULT_FREEZE_TOKEN =
Default freeze token for commonmarker-merge
"commonmarker-merge"- DEFAULT_INNER_MERGE_CODE_BLOCKS =
Default inner_merge_code_blocks setting for commonmarker-merge
false- FileAligner =
Re-export shared classes from markdown-merge
Markdown::Merge::FileAligner
- ConflictResolver =
Markdown::Merge::ConflictResolver
- MergeResult =
Markdown::Merge::MergeResult
- TableMatchAlgorithm =
Markdown::Merge::TableMatchAlgorithm
- TableMatchRefiner =
Markdown::Merge::TableMatchRefiner
- CodeBlockMerger =
Markdown::Merge::CodeBlockMerger
- NodeTypeNormalizer =
Markdown::Merge::NodeTypeNormalizer
- VERSION =
traditional location
Version::VERSION
Class Method Summary collapse
-
.ensure_backend_loaded! ⇒ Object
Eagerly load and register backend when this module is loaded This ensures the backend is available for tree_haver before any parsing happens.
Class Method Details
.ensure_backend_loaded! ⇒ Object
Eagerly load and register backend when this module is loaded
This ensures the backend is available for tree_haver before any parsing happens
84 85 86 |
# File 'lib/commonmarker/merge.rb', line 84 def ensure_backend_loaded! Backend # Access constant to trigger autoload end |