class Tocer::Transformers::Text
Transforms a Markdown header (plain text) into a table of contents link.
def call(url_suffix: "") = "#{indented_bullet}[#{label}](##{computed_url url_suffix})"
def call(url_suffix: "") = "#{indented_bullet}[#{label}](##{computed_url url_suffix})"
def computed_url(suffix = Core::EMPTY_STRING) = [url, suffix.to_s].compress.join("-")
def computed_url(suffix = Core::EMPTY_STRING) = [url, suffix.to_s].compress.join("-")
def indented_bullet = prefix_to_spaces.gsub(/\s{2}$/, "- ")
def indented_bullet = prefix_to_spaces.gsub(/\s{2}$/, "- ")
def initialize text, parser: Parsers::Header
def initialize text, parser: Parsers::Header @parser = parser.new text end
def label = parser.content
def label = parser.content
def prefix_to_spaces = Array.new(parser.prefix.length, " ").join
def prefix_to_spaces = Array.new(parser.prefix.length, " ").join
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w-]+/, "")
def url = label.downcase.gsub(/\s/, "-").gsub(/[^\w-]+/, "")