| @@ -2,21 +2,26 @@ module Docs · 1 unmodified line |
| 2 | class Lodash | 2 | class Lodash |
| 3 | class CleanHtmlFilter < Filter | 3 | class CleanHtmlFilter < Filter |
| 4 | def call | 4 | def call |
| 5 | @doc = at_css('h1+div+div') | 5 | @doc = at_css('.doc-container') |
| 6 | | 6 | |
| 7 | css('h3 + p', 'hr').remove | 7 | css('> div', '> div > div', '.highlight').each do |node| |
| 8 | | 8 | node.before(node.children).remove |
| 9 | css('h2 a:contains("#")', 'h3 a:contains("#")').remove | 9 | end |
| 10 | | 10 | |
| 11 | # Remove <code> inside headings | 11 | # Remove <code> inside headings |
| 12 | css('h2', 'h3').each do |node| | 12 | css('h2', 'h3').each do |node| |
| 13 | node.content = node.content | 13 | node.content = node.content |
| 14 | end | 14 | end |
| 15 | | 15 | |
| | 16 | css('h3 + p > a:first-child').each do |node| |
| | 17 | node.parent.previous_element << %(<div class="_heading-links">#{node.parent.inner_html}</div>) |
| | 18 | node.parent.remove |
| | 19 | end |
| | 20 | |
| 16 | # Remove code highlighting | 21 | # Remove code highlighting |
| 17 | css('pre').each do |node| | 22 | css('pre').each do |node| |
| 18 | node.inner_html = node.inner_html.gsub('<br>', "\n").gsub(' ', ' ') | 23 | node.inner_html = node.inner_html.gsub('</div>', "</div>\n").gsub(' ', ' ') |
| 19 | node.content = node.content | 24 | node.content = node.content.strip |
| 20 | node['data-language'] = 'javascript' | 25 | node['data-language'] = 'javascript' |
| 21 | end | 26 | end |
| 22 | | 27 | |