Module: MCMarkdown::Formatter::HeaderWithID

Defined in:
lib/mc_markdown/formatters/header_with_id.rb

Instance Method Summary collapse

Instance Method Details

#header(text, header_level) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# 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_optionsObject



21
22
23
24
25
26
27
28
29
30
# 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