Class: Docs::Javascript::CleanHtmlFilter

Inherits:
Filter
  • Object
show all
Defined in:
lib/docs/filters/javascript/clean_html.rb

Constant Summary

Constants inherited from Filter

Filter::SCHEME_RGX

Instance Method Summary collapse

Methods inherited from Filter

#absolute_url_string?, #at_css, #at_xpath, #base_url, #css, #current_url, #fragment_url_string?, #initial_page?, #parse_html, #relative_url_string?, #root_page?, #root_path, #root_url, #slug, #subpath, #subpath_to, #xpath

Instance Method Details

#callObject


4
5
6
7
# File 'lib/docs/filters/javascript/clean_html.rb', line 4

def call
  root_page? ? root : other
  doc
end

#otherObject


23
24
25
26
27
28
29
30
31
32
33
# File 'lib/docs/filters/javascript/clean_html.rb', line 23

def other
  # Remove "style" attribute
  css('.inheritsbox', '.overheadIndicator').each do |node|
    node.remove_attribute 'style'
  end

  # Remove <div> wrapping .overheadIndicator
  css('div > .overheadIndicator:first-child:last-child').each do |node|
    node.parent.replace(node)
  end
end

#rootObject


9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/docs/filters/javascript/clean_html.rb', line 9

def root
  # Move "Global Objects" lists to the same level as the other ones
  css('#Global_Objects + p').remove
  div = at_css '#Global_Objects + div'
  div.css('h3').each { |node| node.name = 'h2' }
  at_css('#Global_Objects').replace(div.children)

  # Remove heading links
  css('h2 > a').each do |node|
    node.before(node.content)
    node.remove
  end
end