Class: Qiita::Markdown::Filters::Toc::Heading

Inherits:
Object
  • Object
show all
Defined in:
lib/qiita/markdown/filters/toc.rb

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ Heading

Returns a new instance of Heading.



13
14
15
16
17
# File 'lib/qiita/markdown/filters/toc.rb', line 13

def initialize(node)
  @node = node
  @id = node.attr("id")
  raise unless @id
end

Instance Method Details

#anchor_elementObject



28
29
30
# File 'lib/qiita/markdown/filters/toc.rb', line 28

def anchor_element
  %(<span id="#{@id}" class="fragment"></span><a href="##{@id}"><i class="fa fa-link"></i></a>)
end

#decorateObject



19
20
21
22
# File 'lib/qiita/markdown/filters/toc.rb', line 19

def decorate
  remove_heading_id
  first_child.add_previous_sibling(anchor_element) if first_child
end

#first_childObject



32
33
34
# File 'lib/qiita/markdown/filters/toc.rb', line 32

def first_child
  @first_child ||= @node.children.first
end

#remove_heading_idObject



24
25
26
# File 'lib/qiita/markdown/filters/toc.rb', line 24

def remove_heading_id
  @node.remove_attribute("id")
end