| @@ -2,48 +2,28 @@ module Docs · 1 unmodified line |
| 2 | class Webpack | 2 | class Webpack |
| 3 | class CleanHtmlFilter < Filter | 3 | class CleanHtmlFilter < Filter |
| 4 | def call | 4 | def call |
| 5 | @doc = at_css('.page__content') | | |
| 6 | | | |
| 7 | at_css('h1').content = 'webpack' if root_page? | 5 | at_css('h1').content = 'webpack' if root_page? |
| 8 | | 6 | |
| 9 | css('h3').each do |node| | | |
| 10 | node.name = 'h2' | | |
| 11 | end unless at_css('h2') | | |
| 12 | | | |
| 13 | css('.anchor[id]').each do |node| | | |
| 14 | node.parent['id'] = node['id'] | | |
| 15 | node.remove | | |
| 16 | end | | |
| 17 | | | |
| 18 | css('hr', '.page__edit', 'hr + h3:contains("Contributors")', 'hr + h2:contains("Contributors")', | 7 | css('hr', '.page__edit', 'hr + h3:contains("Contributors")', 'hr + h2:contains("Contributors")', |
| 19 | '.contributors', '.icon-link', '#maintainers.header', '#maintainers.header + table', | 8 | 'td > .title', '.adjacent-links', '.contributors', '.icon-link', |
| 20 | '#maintainer.header', '#maintainer.header + table', '.page-links__link', '.page-links__gap').remove | 9 | '#maintainers', '#maintainers + table', |
| | 10 | '#maintainer', '#maintainer + table', |
| | 11 | '.page-links__link', '.page-links__gap').remove |
| 21 | | 12 | |
| 22 | css('> div', '.tip-content', '.header span').each do |node| | 13 | css('> div', '.tip-content', '.header span').each do |node| |
| 23 | node.before(node.children).remove | 14 | node.before(node.children).remove |
| 24 | end | 15 | end |
| 25 | | 16 | |
| 26 | css('> h1:first-child + h1').remove | | |
| 27 | | | |
| 28 | css('.code-details-summary-span').each do |node| | | |
| 29 | node.content = node.content.remove(' (click to show)') | | |
| 30 | end | | |
| 31 | | | |
| 32 | css('.table-wrap').each do |node| | | |
| 33 | css('.table-td-title').remove | | |
| 34 | css('.table-th').each { |n| n.name = 'th' } | | |
| 35 | css('.table-td').each { |n| n.name = 'td' } | | |
| 36 | css('.table-tr').each { |n| n.name = 'tr' } | | |
| 37 | css('.table-body').each { |n| n.name = 'tbody' } | | |
| 38 | css('.table-header').each { |n| n.name = 'thead' } | | |
| 39 | node.name = 'table' | | |
| 40 | end | | |
| 41 | | | |
| 42 | css('pre > code').each do |node| | 17 | css('pre > code').each do |node| |
| 43 | node.parent['data-language'] = node['class'][/lang-(\w+)/, 1].sub('jsx', 'js') if node['class'] | 18 | node.parent['data-language'] = 'js' |
| | 19 | node.parent['data-language'] = node['class'][/language-(\w+)/, 1].sub('jsx', 'js') if node['class'] && node['class'][/language-(\w+)/, 1] |
| 44 | node.parent.content = node.parent.content | 20 | node.parent.content = node.parent.content |
| 45 | end | 21 | end |
| 46 | | 22 | |
| | 23 | # for webpack-contrib /loaders and /plugins |
| | 24 | shields = at_css('img[src*="shields.io"]') |
| | 25 | shields.ancestors('p')[0].remove if shields |
| | 26 | |
| 47 | doc | 27 | doc |
| 48 | end | 28 | end |
| 49 | end | 29 | end |