module MCMarkdown::Formatter::HeaderWithID

Public Instance Methods

header(text, header_level) click to toggle source
# File lib/mc_markdown/formatters/header_with_id.rb, line 7
def header text, header_level
  header_levels = Array(header_options.fetch(:level, 1))
  return "<h#{header_level}>#{text}</h#{header_level}>" unless header_levels.include?(header_level)

  # add ids to all h1 headers (pray they're unique)
  if header_options.fetch(:template_tag_headers, false)
    namespace = "{{section_id}}"
  else
    namespace = "#{header_options.fetch(:slug, 'section')}-#{text.strip.to_slug}"
  end

  return "<h#{header_level} id='#{namespace}'>#{text}</h#{header_level}>"
end
header_options() click to toggle source
# File lib/mc_markdown/formatters/header_with_id.rb, line 21
def header_options
  if defined?(extensions)
    options = extensions.fetch(:header_with_id, {})
    options[:template_tag_headers] = extensions.fetch(:template_tag_headers, false)
  else
    options = {}
  end

  return options
end