markmv - v1.26.2
    Preparing search index...

    Class BaseMergeStrategyAbstract

    Abstract base class for all merge strategies.

    Provides common functionality for merging markdown files including transclusion handling, conflict detection, and frontmatter management. Concrete strategies implement specific merging approaches.

    Implementing a custom merge strategy

    class CustomMergeStrategy extends BaseMergeStrategy {
    async merge(targetContent: string, sourceContent: string): Promise<MergeResult> {
    // Custom merging logic
    const conflicts = this.detectConflicts(targetContent, sourceContent);
    return this.buildResult(mergedContent, conflicts);
    }
    }

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Methods

    • Parameters

      • targetContent: string
      • sourceContent: string
      • targetFile: string
      • sourceFile: string

      Returns Promise<MergeResult>

    • Extract Obsidian transclusions from content

      Parameters

      • content: string

      Returns { ref: string; file: string; section?: string; line: number }[]

    • Create an Obsidian transclusion reference

      Parameters

      • file: string
      • Optionalsection: string

      Returns string

    • Detect potential transclusion loops

      Parameters

      • targetFile: string
      • sourceFile: string
      • existingTransclusions: string[]

      Returns boolean

    • Merge frontmatter from two sources

      Parameters

      • targetFrontmatter: string
      • sourceFrontmatter: string

      Returns string

    • Extract headers from content with their levels

      Parameters

      • content: string

      Returns { text: string; level: number; line: number }[]

    • Find potential header conflicts between target and source

      Parameters

      • targetContent: string
      • sourceContent: string

      Returns { header: string; targetLine: number; sourceLine: number }[]