Class: Docs::Xpath::CleanHtmlFilter

Inherits:
Filter
  • Object
show all
Defined in:
lib/docs/filters/xpath/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/xpath/clean_html.rb', line 4

def call
  root_page? ? root : other
  doc
end

#otherObject


15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/docs/filters/xpath/clean_html.rb', line 15

def other
  css('div[style*="background: #f5f5f5;"]').remove

  css('h3[id]').each do |node|
    node.name = 'h2'
  end

  css('p').each do |node|
    child = node.child
    child = child.next while child && child.text? && child.content.blank?
    child.remove if child.try(:name) == 'br'
  end
end

#rootObject


9
10
11
12
13
# File 'lib/docs/filters/xpath/clean_html.rb', line 9

def root
  if table = at_css('.topicpage-table')
    table.after(table.css('td').children).remove
  end
end