| @@ -3,26 +3,25 @@ module Docs · 2 unmodified lines |
| 3 | class CleanHtmlFilter < Filter | 3 | class CleanHtmlFilter < Filter |
| 4 | def call | 4 | def call |
| 5 | | 5 | |
| 6 | css('h1, h2, h3, h4').each do |node| | 6 | css('h1, h2, h3, h4, h5').each do |node| |
| 7 | node.css('a').remove | 7 | node.css('a').remove |
| | 8 | node.remove_attribute('class') |
| | 9 | node.parent.before(node.parent.children).remove if node.parent.name == 'header' |
| 8 | end | 10 | end |
| 9 | | 11 | |
| 10 | css('h3').each do |node| | 12 | css('h3').each do |node| |
| 11 | node['id'] = node.content.gsub(/\(|\)/, '').downcase | 13 | node['id'] = node.content.gsub(/\(|\)/, '').downcase |
| 12 | end | 14 | end |
| 13 | | 15 | |
| 14 | css('.codeBlockLines_b7E3').each do |node| | 16 | css('pre').each do |node| |
| 15 | node.remove_attribute('style') | 17 | node.content = node.css('.token-line').map(&:content).join("\n") |
| 16 | node.name = 'pre' | | |
| 17 | node['data-language'] = 'javascript' | 18 | node['data-language'] = 'javascript' |
| 18 | | | |
| 19 | node.css('div, span').each do |subnode| | | |
| 20 | subnode.remove_attribute('style') | | |
| 21 | end | | |
| 22 | | | |
| 23 | end | 19 | end |
| 24 | | 20 | |
| 25 | css('.copyButton_10dd').remove | 21 | css('*').each do |node| |
| | 22 | node.remove_attribute('style') |
| | 23 | node.remove if node['class'] && node['class'].include?('copyButton') |
| | 24 | end |
| 26 | | 25 | |
| 27 | doc | 26 | doc |
| 28 | | 27 | |