Class: Markly::Merge::FileAnalysis

Inherits:
Markdown::Merge::FileAnalysis
  • Object
show all
Defined in:
lib/markly/merge/file_analysis.rb

Overview

File analysis for Markdown files using Markly.

This is a thin wrapper around Markdown::Merge::FileAnalysis that:

  • Forces the :markly backend
  • Sets the default freeze token to “markly-merge”
  • Exposes markly-specific options (flags, extensions)

Examples:

Basic usage

analysis = FileAnalysis.new(markdown_source)
analysis.statements.each do |node|
  puts "#{node.merge_type}: #{node.type}"
end

With custom freeze token

analysis = FileAnalysis.new(source, freeze_token: "my-merge")

See Also:

  • Underlying implementation

Constant Summary collapse

DEFAULT_FREEZE_TOKEN =

Default freeze token for markly-merge

Returns:

  • (String)
"markly-merge"

Instance Method Summary collapse

Constructor Details

#initialize(source, freeze_token: DEFAULT_FREEZE_TOKEN, signature_generator: nil, flags: ::Markly::DEFAULT, extensions: [:table]) ⇒ FileAnalysis

Initialize file analysis with Markly backend.

Parameters:

  • source (String)

    Markdown source code to analyze

  • freeze_token (String) (defaults to: DEFAULT_FREEZE_TOKEN)

    Token for freeze block markers (default: “markly-merge”)

  • signature_generator (Proc, nil) (defaults to: nil)

    Custom signature generator

  • flags (Integer) (defaults to: ::Markly::DEFAULT)
    Markly parse flags (e.g., Markly::FOOTNOTES Markly::SMART)
  • extensions (Array<Symbol>) (defaults to: [:table])

    Markly extensions to enable (e.g., [:table, :strikethrough])



34
35
36
37
38
39
40
41
42
43
# File 'lib/markly/merge/file_analysis.rb', line 34

def initialize(source, freeze_token: DEFAULT_FREEZE_TOKEN, signature_generator: nil, flags: ::Markly::DEFAULT, extensions: [:table])
  super(
    source,
    backend: :markly,
    freeze_token: freeze_token,
    signature_generator: signature_generator,
    flags: flags,
    extensions: extensions,
  )
end

Instance Method Details

#freeze_node_classClass

Returns the FreezeNode class to use.

Returns:

  • (Class)

    Markly::Merge::FreezeNode



48
49
50
# File 'lib/markly/merge/file_analysis.rb', line 48

def freeze_node_class
  FreezeNode
end