From 35c70b86beeae2c241ccf252e621701a8f931cce Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 10 Apr 2016 16:10:34 -0400 Subject: [PATCH] Add GCC documentation --- assets/images/icons.png | Bin 43619 -> 43946 bytes assets/images/icons@2x.png | Bin 112653 -> 113541 bytes assets/javascripts/news.json | 2 +- .../templates/pages/about_tmpl.coffee | 10 +-- assets/stylesheets/global/_icons.scss | 1 + assets/stylesheets/pages/_simple.scss | 2 +- .../{gnu_fortran => gnu}/clean_html.rb | 6 +- .../filters/{gnu_fortran => gnu}/entries.rb | 18 ++-- lib/docs/scrapers/gnu.rb | 30 +++++++ lib/docs/scrapers/gnu/gcc.rb | 78 ++++++++++++++++++ lib/docs/scrapers/gnu/gnu_fortran.rb | 21 +++++ lib/docs/scrapers/gnu_fortran.rb | 40 --------- public/icons/docs/gcc/16.png | Bin 0 -> 375 bytes public/icons/docs/gcc/16@2x.png | Bin 0 -> 877 bytes public/icons/docs/gcc/GCC.png | Bin 0 -> 4062 bytes 15 files changed, 149 insertions(+), 59 deletions(-) rename lib/docs/filters/{gnu_fortran => gnu}/clean_html.rb (88%) rename lib/docs/filters/{gnu_fortran => gnu}/entries.rb (66%) create mode 100644 lib/docs/scrapers/gnu.rb create mode 100644 lib/docs/scrapers/gnu/gcc.rb create mode 100644 lib/docs/scrapers/gnu/gnu_fortran.rb delete mode 100644 lib/docs/scrapers/gnu_fortran.rb create mode 100644 public/icons/docs/gcc/16.png create mode 100644 public/icons/docs/gcc/16@2x.png create mode 100644 public/icons/docs/gcc/GCC.png diff --git a/assets/images/icons.png b/assets/images/icons.png index 213a9dc7226891d46374f2b26d16f49d65c13027..5db18471eae44d7f6998269624dc57a2adf7c0bc 100644 GIT binary patch delta 4778 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 delta 3447 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 Z^?yUMPZSupport tables (caniuse.com) and GNU Fortran" + "New documentations: Support tables (caniuse.com), GCC and GNU Fortran" ], [ "2016-03-27", "New documentation: TypeScript" diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index c493c04e..cc670c77 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -194,16 +194,16 @@ credits = [ '2009-2015 TJ Holowaychuk', 'MIT', 'https://raw.githubusercontent.com/visionmedia/express/master/LICENSE' + ], [ + 'GCC
GNU Fortran', + 'Free Software Foundation', + 'GFDL', + 'https://www.gnu.org/licenses/fdl-1.3.en.html' ], [ 'Git', '2005-2016 Linus Torvalds and others', 'GPLv2', 'https://raw.githubusercontent.com/git/git/master/COPYING' - ], [ - 'GNU Fortran', - 'Free Software Foundation', - 'GFDL', - 'https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gfortran/GNU-Free-Documentation-License.html' ], [ 'Go', 'Google, Inc.', diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index 2445cd1b..f76391cd 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -135,3 +135,4 @@ ._icon-typescript:before { background-position: -9rem -10rem; } ._icon-browser_support_tables:before { background-position: 0rem -11rem; } ._icon-gnu_fortran:before { background-position: -1rem -11rem; } +._icon-gcc:before { background-position: -2rem -11rem; } diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index bf2f4bc8..77745293 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -17,7 +17,7 @@ } ._cordova, -._gnu_fortran, +._gnu, ._grunt, ._haxe, ._influxdata, diff --git a/lib/docs/filters/gnu_fortran/clean_html.rb b/lib/docs/filters/gnu/clean_html.rb similarity index 88% rename from lib/docs/filters/gnu_fortran/clean_html.rb rename to lib/docs/filters/gnu/clean_html.rb index c14eca21..8a38a49f 100644 --- a/lib/docs/filters/gnu_fortran/clean_html.rb +++ b/lib/docs/filters/gnu/clean_html.rb @@ -1,5 +1,5 @@ module Docs - class GnuFortran + class Gnu class CleanHtmlFilter < Filter def call heading = at_css('h1, h2, h3, h4, h5') @@ -26,11 +26,11 @@ module Docs node.inner_html = node.inner_html.strip_heredoc.strip end - css('dt > em', 'acronym', 'dfn').each do |node| + css('dt > em', 'acronym', 'dfn', 'cite').each do |node| node.before(node.children).remove end - css('.node', 'br').remove + css('.node', 'br', 'hr').remove doc end diff --git a/lib/docs/filters/gnu_fortran/entries.rb b/lib/docs/filters/gnu/entries.rb similarity index 66% rename from lib/docs/filters/gnu_fortran/entries.rb rename to lib/docs/filters/gnu/entries.rb index a5388671..459ea391 100644 --- a/lib/docs/filters/gnu_fortran/entries.rb +++ b/lib/docs/filters/gnu/entries.rb @@ -1,5 +1,5 @@ module Docs - class GnuFortran + class Gnu class EntriesFilter < Docs::EntriesFilter TYPE_BY_CHAPTER = { } @@ -9,32 +9,32 @@ module Docs end def get_name - at_css('h1').content.split(' ').drop(1).join(' ').split('—').first + name = at_css('h1').content + name.remove! %r{\A[\d\.]*} + name.split('—').first.strip end def get_type "#{chapter_number}. #{TYPE_BY_CHAPTER[chapter_number]}" end - def include_default_entry? - !at_css('ul.menu') - end - private def detect_chapters + TYPE_BY_CHAPTER.clear # YOLO css('.contents > ul > li > a').each do |node| index = node.content.strip.to_i next unless index > 0 name = node.content.split(' ').drop(1).join(' ') name.remove! 'GNU Fortran ' - name.remove! %r{:.*} - TYPE_BY_CHAPTER[index] = name # YOLO + name.remove! 'with GCC' + name.remove! %r{[\:\u{2013}\u{2014}].*} + TYPE_BY_CHAPTER[index] = name end end def chapter_number - at_css('h1').content.to_i + [at_css('h1').content.to_i, 1].max end end end diff --git a/lib/docs/scrapers/gnu.rb b/lib/docs/scrapers/gnu.rb new file mode 100644 index 00000000..f920e14e --- /dev/null +++ b/lib/docs/scrapers/gnu.rb @@ -0,0 +1,30 @@ +module Docs + class Gnu < FileScraper + self.type = 'gnu' + self.root_path = 'index.html' + self.abstract = 'true' + + html_filters.push 'gnu/clean_html', 'gnu/entries' + + options[:skip] = %w( + GNU-Project.html + Service.html + ) + + options[:skip_patterns] = [ + /Funding/, + /Projects/, + /Copying/, + /License/, + /Proposed/, + /Contribut/, + /Index/, + /\ABug/ + ] + + options[:attribution] = <<-HTML + © Free Software Foundation
+ Licensed under the GNU Free Documentation License, Version 1.3. + HTML + end +end diff --git a/lib/docs/scrapers/gnu/gcc.rb b/lib/docs/scrapers/gnu/gcc.rb new file mode 100644 index 00000000..00ab483b --- /dev/null +++ b/lib/docs/scrapers/gnu/gcc.rb @@ -0,0 +1,78 @@ +module Docs + class Gcc < Gnu + self.name = 'GCC' + self.slug = 'gcc' + self.links = { + home: 'https://gcc.gnu.org/' + } + + html_filters.push 'title' + + options[:root_title] = 'Using the GNU Compiler Collection (GCC)' + options[:title] = false + + options[:replace_paths] = { + 'AssemblerTemplate.html' => 'Extended-Asm.html', + 'AVR-Named-Address-Spaces.html' => 'Named-Address-Spaces.html', + 'AVR-Variable-Attributes.html' => 'Variable-Attributes.html', + 'Clobbers.html' => 'Extended-Asm.html', + 'dashMF.html' => 'Preprocessor-Options.html', + 'GotoLabels.html' => 'Extended-Asm.html', + 'InputOperands.html' => 'Extended-Asm.html', + 'OutputOperands.html' => 'Extended-Asm.html', + 'PowerPC-Type-Attributes.html' => 'Type-Attributes.html', + 'SPU-Type-Attributes.html' => 'Type-Attributes.html', + 'Type_002dpunning.html' => 'Optimize-Options.html', + 'Volatile.html' => 'Extended-Asm.html', + 'Wtrigraphs.html' => 'Preprocessor-Options.html', + 'x86-Type-Attributes.html' => 'Type-Attributes.html', + 'x86-Variable-Attributes.html' => 'Variable-Attributes.html', + 'x86floatingpointasmoperands.html' => 'Extended-Asm.html', + 'x86Operandmodifiers.html' => 'Extended-Asm.html', + + 'Example-of-asm-with-clobbered-asm-reg.html' => 'Extended-Asm.html', + 'Extended-asm-with-goto.html' => 'Extended-Asm.html', + 'fdollars_002din_002didentifiers.html' => 'Preprocessor-Options.html', + 'i386-Type-Attributes.html' => 'Variable-Attributes.html', + 'i386-Variable-Attributes.html' => 'Variable-Attributes.html' + } + + CPP_PATHS = { + 'dashMF.html' => 'Invocation.html', + 'fdollars_002din_002didentifiers.html' => 'Invocation.html', + 'Identifier-characters.html' => 'Implementation_002ddefined-behavior.html', + 'trigraphs.html' => 'Initial-processing.html', + 'Wtrigraphs.html' => 'Invocation.html' + } + + version '5' do + self.release = '5.3.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/gcc5' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + end + + version '5 CPP' do + self.release = '5.3.0' + 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 + + version '4' do + self.release = '4.9.3' + self.dir = '/Users/Thibaut/DevDocs/Docs/gcc4' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gcc/" + end + + version '4 CPP' do + self.release = '4.9.3' + 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 +end diff --git a/lib/docs/scrapers/gnu/gnu_fortran.rb b/lib/docs/scrapers/gnu/gnu_fortran.rb new file mode 100644 index 00000000..67890ae1 --- /dev/null +++ b/lib/docs/scrapers/gnu/gnu_fortran.rb @@ -0,0 +1,21 @@ +module Docs + class GnuFortran < Gnu + self.name = 'GNU Fortran' + self.slug = 'gnu_fortran' + self.links = { + home: 'https://gcc.gnu.org/fortran/' + } + + version '5' do + self.release = '5.3.0' + self.dir = '/Users/Thibaut/DevDocs/Docs/gfortran5' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" + end + + version '4' do + self.release = '4.9.3' + self.dir = '/Users/Thibaut/DevDocs/Docs/gfortran4' + self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" + end + end +end diff --git a/lib/docs/scrapers/gnu_fortran.rb b/lib/docs/scrapers/gnu_fortran.rb deleted file mode 100644 index 90b17077..00000000 --- a/lib/docs/scrapers/gnu_fortran.rb +++ /dev/null @@ -1,40 +0,0 @@ -module Docs - class GnuFortran < FileScraper - self.name = 'GNU Fortran' - self.slug = 'gnu_fortran' - self.type = 'gnu_fortran' - self.dir = '/Users/Thibaut/DevDocs/Docs/gfortran' - self.root_path = 'index.html' - - self.links = { - home: 'https://gcc.gnu.org/fortran/' - } - - html_filters.push 'gnu_fortran/clean_html', 'gnu_fortran/entries' - - options[:skip_patterns] = [ - /Funding/, - /Projects/, - /Copying/, - /License/, - /Proposed/, - /Contribut/, - /Index/ - ] - - options[:attribution] = <<-HTML - © Free Software Foundation
- Licensed under the GNU Free Documentation License, Version 1.3. - HTML - - version '5' do - self.release = '5.3.0' - self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" - end - - version '4' do - self.release = '4.9.3' - self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" - end - end -end diff --git a/public/icons/docs/gcc/16.png b/public/icons/docs/gcc/16.png new file mode 100644 index 0000000000000000000000000000000000000000..baf38c1e8395757dc211b89eef425f35e54a7ee7 GIT binary patch literal 375 zcmV--0f_#IP)JI>R0G)|o7{#X+1> z(g1;n;&6xc-lAYz?M*(%(^RFqAY`&3ailiBHr_qn&3K8+fp{J!>xCSa$(PwCI@1qa z&o(7P0d58>K(0B(`?$C0dztLW3kDSO{t`V%HQi)!lwuuMC=AO%<6vZ#tni=D(ht4G VNa{y^IgS7T002ovPDHLkV1gG6tKR?s literal 0 HcmV?d00001 diff --git a/public/icons/docs/gcc/16@2x.png b/public/icons/docs/gcc/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa371b2670aa666a27401bfe926af6f1434f0f2 GIT binary patch literal 877 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 C+hnu= literal 0 HcmV?d00001