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