markmv - v1.26.2
    Preparing search index...

    Class ContentSplitter

    Splits large markdown files into smaller, manageable sections using various strategies.

    The ContentSplitter provides intelligent content division with support for header-based, size-based, manual marker-based, and line-based splitting strategies. It handles link redistribution, maintains content integrity, and ensures proper cross-references between the resulting files.

    Header-based splitting

    const splitter = new ContentSplitter();
    const result = await splitter.splitFile('large-guide.md', {
    strategy: 'headers',
    headerLevel: 2,
    outputDir: './split-guides/',
    preserveLinks: true
    });

    console.log(`Created ${result.createdFiles.length} files`);

    Size-based splitting

    const splitter = new ContentSplitter();
    const result = await splitter.splitFile('large-document.md', {
    strategy: 'size',
    maxSize: '50KB',
    outputDir: './chunks/',
    dryRun: true // Preview without creating files
    });
    Index

    Constructors

    Methods

    Constructors

    Methods

    • Splits a markdown file into multiple smaller files using the specified strategy.

      This method analyzes the source file content and divides it into logical sections based on the chosen strategy. It handles link redistribution, maintains proper cross-references, and ensures content integrity across the split files.

      Parameters

      • sourceFilePath: string

        Path to the markdown file to split

      • options: SplitOperationOptions

        Configuration options for the split operation

      Returns Promise<OperationResult>

      Promise resolving to operation result with details of created files

      Basic header splitting

      const result = await splitter.splitFile('documentation.md', {
      strategy: 'headers',
      headerLevel: 1, // Split on H1 headers
      outputDir: './docs-sections/',
      preserveLinks: true
      });

      Manual marker splitting

      const result = await splitter.splitFile('article.md', {
      strategy: 'manual',
      markers: ['<!-- split -->', '---split---'],
      outputDir: './article-parts/'
      });