From a83459be3eced095018978012ff1fc72ea1a196a Mon Sep 17 00:00:00 2001 From: Thibaut Courouble Date: Sun, 10 Jul 2016 16:25:44 -0400 Subject: [PATCH] Update Rust documentation (1.10.0) --- lib/docs/filters/rust/clean_html.rb | 8 ++++++-- lib/docs/filters/rust/entries.rb | 8 ++++++++ lib/docs/scrapers/rust.rb | 5 +++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/docs/filters/rust/clean_html.rb b/lib/docs/filters/rust/clean_html.rb index f309a76b..975dd943 100644 --- a/lib/docs/filters/rust/clean_html.rb +++ b/lib/docs/filters/rust/clean_html.rb @@ -4,7 +4,7 @@ module Docs def call if slug.start_with?('book') book - elsif slug.start_with?('reference') + elsif slug.start_with?('reference') || slug == 'error-index' reference else api @@ -41,7 +41,11 @@ module Docs end def reference - css('#versioninfo').remove + css('#versioninfo', '.error-undescribed').remove + + css('.error-described').each do |node| + node.before(node.children).remove + end end def api diff --git a/lib/docs/filters/rust/entries.rb b/lib/docs/filters/rust/entries.rb index c5c8f324..83addcd2 100644 --- a/lib/docs/filters/rust/entries.rb +++ b/lib/docs/filters/rust/entries.rb @@ -6,6 +6,8 @@ module Docs at_css("#toc a[href='#{File.basename(slug)}']").content elsif slug.start_with?('reference') 'Reference' + elsif slug == 'error-index' + 'Compiler Errors' else name = at_css('h1.fqn .in-band').content.remove(/\A.+\s/) mod = slug.split('/').first @@ -21,6 +23,8 @@ module Docs 'Guide' elsif slug.start_with?('reference') 'Reference' + elsif slug == 'error-index' + 'Compiler Errors' else path = name.split('::') heading = at_css('h1.fqn .in-band').content.strip @@ -43,6 +47,10 @@ module Docs id = node['href'].remove('#') [name, id] end + elsif slug == 'error-index' + css('.error-described h2.section-header').map do |node| + [node.content, node['id']] + end else css('#methods + * + div > .method', '#required-methods + div > .method', '#provided-methods + div > .method').map do |node| name = node.at_css('.fnname').content diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb index 806a52b4..22f164c5 100644 --- a/lib/docs/scrapers/rust.rb +++ b/lib/docs/scrapers/rust.rb @@ -1,13 +1,14 @@ module Docs class Rust < UrlScraper self.type = 'rust' - self.release = '1.9.0' + self.release = '1.10.0' self.base_url = 'https://doc.rust-lang.org/' self.root_path = 'book/index.html' self.initial_paths = %w( reference.html collections/index.html - std/index.html) + std/index.html + error-index.html) self.links = { home: 'https://www.rust-lang.org/', code: 'https://github.com/rust-lang/rust'