History

Merge pull request #1371 from MasterEnoc/rust

Update Rust to 1.48.0, fix 'notable trait' display

Simon Legner committed 5 years ago

Commit ece00d32 parents 4d3bae4 c5f7de63 files · +23 −16Browse files

Unified · Split

3 files
  1. lib/docs/filters/rust/clean_html.rb +18 −13
  2. lib/docs/filters/rust/entries.rb +4 −1
  3. lib/docs/scrapers/rust.rb +1 −2
lib/docs/filters/rust/clean_html.rb+18−13
@@ -71,19 +71,6 @@ module Docs · 70 unmodified lines
71 doc.first_element_child.name = 'h1' if doc.first_element_child.name = 'h2'71 doc.first_element_child.name = 'h1' if doc.first_element_child.name = 'h2'
72 at_css('h1').content = 'Rust Documentation' if root_page?72 at_css('h1').content = 'Rust Documentation' if root_page?
73 73
74 css('.table-display').each do |node|
75 node.css('td').each do |td|
76 node.before(td.children)
77 end
78 node.remove
79 end
80
81 css('.important-traits').to_a.each_with_index do |node, index|
82 content = node.at_css('.content.hidden .content')
83 node.at_css('.content.hidden').replace(content) if content
84 node.parent.after(node) if node.parent.name.in?(%(h2 h3 h4))
85 end
86
87 css('code.content').each do |node|74 css('code.content').each do |node|
88 node.name = 'pre'75 node.name = 'pre'
89 node.css('.fmt-newline').each do |line|76 node.css('.fmt-newline').each do |line|
@@ -97,6 +84,24 @@ module Docs · 7 unmodified lines
97 node.previous_element.before(node)84 node.previous_element.before(node)
98 end85 end
99 86
87 css('.sidebar').remove
88
89 css('.collapse-toggle').remove
90
91 # Fix how notable-traits sections are shown
92
93 css('.method').each do |node|
94 traitSection = node.at_css('.notable-traits')
95
96 if traitSection
97 traitSectionContent = traitSection.css('.notable-traits-tooltiptext')
98 traitSection.css('.notable-traits-tooltip').remove
99 traitSection.add_child(traitSectionContent)
100 node.after(traitSection)
101 end
102
103 end
104
100 doc105 doc
101 end106 end
102 end107 end
lib/docs/filters/rust/entries.rb+4−1
@@ -1,9 +1,11 @@
1module Docs1module Docs
2 class Rust2 class Rust
3 class EntriesFilter < Docs::EntriesFilter3 class EntriesFilter < Docs::EntriesFilter
4
4 def get_name5 def get_name
5 if slug.start_with?('book') || slug.start_with?('reference')6 if slug.start_with?('book') || slug.start_with?('reference')
6 at_css("#sidebar a[href='#{File.basename(slug)}']").content7 name = at_css("#sidebar a[href='#{File.basename(slug)}']")
8 name ? name.content : 'Introduction'
7 elsif slug == 'error-index'9 elsif slug == 'error-index'
8 'Compiler Errors'10 'Compiler Errors'
9 else11 else
@@ -51,6 +53,7 @@ module Docs · 41 unmodified lines
51 }.values53 }.values
52 end54 end
53 end55 end
56
54 end57 end
55 end58 end
56end59end
lib/docs/scrapers/rust.rb+1−2
@@ -3,12 +3,11 @@ · 2 unmodified lines
3module Docs3module Docs
4 class Rust < UrlScraper4 class Rust < UrlScraper
5 self.type = 'rust'5 self.type = 'rust'
6 self.release = '1.47.0'6 self.release = '1.48.0'
7 self.base_url = 'https://doc.rust-lang.org/'7 self.base_url = 'https://doc.rust-lang.org/'
8 self.root_path = 'book/index.html'8 self.root_path = 'book/index.html'
9 self.initial_paths = %w(9 self.initial_paths = %w(
10 reference/introduction.html10 reference/introduction.html
11 collections/index.html
12 std/index.html11 std/index.html
13 error-index.html)12 error-index.html)
14 self.links = {13 self.links = {