diff --git a/lib/docs/filters/gnu/clean_html.rb b/lib/docs/filters/gnu/clean_html.rb index 3c888ac6..46971266 100644 --- a/lib/docs/filters/gnu/clean_html.rb +++ b/lib/docs/filters/gnu/clean_html.rb @@ -11,9 +11,10 @@ module Docs css('.node > a[name]').each do |node| node.parent.next_element['id'] = node['name'] + node.remove end - css('a[name]').each do |node| + css('a[name]:not(:empty)').each do |node| node['id'] = node['name'] end @@ -26,12 +27,32 @@ module Docs node.inner_html = node.inner_html.strip_heredoc.strip end - css('dt > em', 'acronym', 'dfn', 'cite', 'h1 code').each do |node| + css('dt > em', 'acronym', 'dfn', 'cite', 'h1 code', 'th > pre').each do |node| node.before(node.children).remove end + css('.footnote h1').each do |node| + node.name = 'div' + end + + css('div.header').each do |node| + node.name = 'p' + end + + css('th[valign]', 'td[valign]').remove_attr('valign') + css('th[align]', 'td[align]').remove_attr('valign') + css('.node', 'br', 'hr').remove + css('a[name]:empty').each do |node| + (node.next_element || node.parent)['id'] = node['name'] + node.remove + end + + css('.header + h1').each do |node| + node.previous_element.remove + end + doc end end diff --git a/lib/docs/scrapers/gnu/gcc.rb b/lib/docs/scrapers/gnu/gcc.rb index f8486d5d..86c629c5 100644 --- a/lib/docs/scrapers/gnu/gcc.rb +++ b/lib/docs/scrapers/gnu/gcc.rb @@ -8,7 +8,7 @@ module Docs html_filters.push 'title' - options[:root_title] = 'Using the GNU Compiler Collection (GCC)' + options[:root_title] = false options[:title] = false options[:replace_paths] = { @@ -46,10 +46,26 @@ module Docs 'Wtrigraphs.html' => 'Invocation.html' } + version '7' do + self.release = '7.1.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/gcc7' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + end + + version '7 CPP' do + self.release = '7.1.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/gcpp7' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/cpp/" + + options[:replace_paths] = CPP_PATHS + end + version '6' do self.release = '6.3.0' self.dir = '/Users/Thibaut/DevDocs/Docs/gcc6' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + + options[:root_title] = 'Using the GNU Compiler Collection (GCC)' end version '6 CPP' do @@ -57,13 +73,15 @@ module Docs self.dir = '/Users/Thibaut/DevDocs/Docs/gcpp6' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/cpp/" - options[:root_title] = false options[:replace_paths] = CPP_PATHS end + version '5' do self.release = '5.4.0' self.dir = '/Users/Thibaut/DevDocs/Docs/gcc5' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + + options[:root_title] = 'Using the GNU Compiler Collection (GCC)' end version '5 CPP' do @@ -71,7 +89,6 @@ module Docs self.dir = '/Users/Thibaut/DevDocs/Docs/gcpp5' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/cpp/" - options[:root_title] = false options[:replace_paths] = CPP_PATHS end @@ -79,6 +96,8 @@ module Docs self.release = '4.9.3' self.dir = '/Users/Thibaut/DevDocs/Docs/gcc4' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + + options[:root_title] = 'Using the GNU Compiler Collection (GCC)' end version '4 CPP' do @@ -86,7 +105,6 @@ module Docs self.dir = '/Users/Thibaut/DevDocs/Docs/gcpp4' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/cpp/" - options[:root_title] = false options[:replace_paths] = CPP_PATHS end end