Closes #538. Closes #540. Closes #541.
Unified · Split
| @@ -2,4 +2,9 @@ · 1 unmodified line | ||
| 2 | 2 | @extend %simple; |
| 3 | 3 | |
| 4 | 4 | #short-nav, table.dir { margin-left: -1rem; } |
| 5 | + | |
| 6 | + a.source { | |
| 7 | + float: right; | |
| 8 | + font-size: .9em; | |
| 9 | + } | |
| 5 | 10 | } |
| @@ -20,9 +20,16 @@ module Docs · 19 unmodified lines | ||
| 20 | 20 | node.before(node.children).remove |
| 21 | 21 | end |
| 22 | 22 | |
| 23 | + css('h2 a', 'h3 a').each do |node| | |
| 24 | + if node['href'].include?('/src/') | |
| 25 | + node.after %(<a href="#{node['href']}" class="source">Source</a>) | |
| 26 | + node.before(node.children).remove | |
| 27 | + end | |
| 28 | + end | |
| 29 | + | |
| 23 | 30 | # Remove triangle character |
| 24 | 31 | css('h2', '.exampleHeading').each do |node| |
| 25 | − node.content = node.content.remove("\u25BE") | |
| 32 | + node.inner_html = node.inner_html.remove("\u25BE") | |
| 26 | 33 | node.name = 'h4' unless node.name == 'h2' |
| 27 | 34 | end |
| 28 | 35 | |
| @@ -44,9 +51,9 @@ module Docs · 15 unmodified lines | ||
| 44 | 51 | node.content = node.content |
| 45 | 52 | end |
| 46 | 53 | |
| 47 | − css('td[style]', 'ul[style]').each do |node| | |
| 48 | − node.remove_attribute('style') | |
| 49 | − end | |
| 54 | + css('td[style]', 'ul[style]').remove_attr('style') | |
| 55 | + css('.toggleButton[title]').remove_attr('title') | |
| 56 | + css('.toggleButton').remove_attr('class') | |
| 50 | 57 | |
| 51 | 58 | doc |
| 52 | 59 | end |
| @@ -2,23 +2,36 @@ module Docs · 1 unmodified line | ||
| 2 | 2 | class Go |
| 3 | 3 | class EntriesFilter < Docs::EntriesFilter |
| 4 | 4 | def get_name |
| 5 | − name = at_css('h1').content | |
| 6 | − name.remove! 'Package ' | |
| 7 | − name | |
| 5 | + code = at_css('code') | |
| 6 | + if code && name = code.content[/import "([\w\/]+)"/, 1] | |
| 7 | + name | |
| 8 | + else | |
| 9 | + name = at_css('h1').content | |
| 10 | + name.remove! 'Package ' | |
| 11 | + name | |
| 12 | + end | |
| 8 | 13 | end |
| 9 | 14 | |
| 10 | 15 | def get_type |
| 11 | − subpath[/\A[^\/]+/] | |
| 16 | + package = subpath[/\A[^\/]+/] | |
| 17 | + if package.in?(%w(math net)) | |
| 18 | + name.split('/')[0..1].join('/') | |
| 19 | + else | |
| 20 | + package | |
| 21 | + end | |
| 12 | 22 | end |
| 13 | 23 | |
| 14 | 24 | def additional_entries |
| 25 | + return [] if root_page? | |
| 26 | + package = self.name.split('/').last | |
| 15 | 27 | css('#manual-nav a').each_with_object [] do |node, entries| |
| 16 | 28 | case node.content |
| 17 | 29 | when /type\ (\w+)/ |
| 18 | − name = "#{$1} (#{self.name})" | |
| 30 | + name = "#{package}.#{$1}" | |
| 19 | 31 | when /func\ (?:\(.+\)\ )?(\w+)\(/ |
| 20 | − name = "#{$1}() (#{self.name})" | |
| 32 | + name = "#{$1}()" | |
| 21 | 33 | name.prepend "#{$1}." if node['href'] =~ /#(\w+)\.#{$1}/ |
| 34 | + name.prepend "#{package}." | |
| 22 | 35 | when 'Constants' |
| 23 | 36 | name = "#{self.name} constants" |
| 24 | 37 | when 'Variables' |
| @@ -30,7 +43,7 @@ module Docs · 5 unmodified lines | ||
| 30 | 43 | end |
| 31 | 44 | |
| 32 | 45 | def include_default_entry? |
| 33 | − !at_css('h1 + table.dir') | |
| 46 | + !at_css('h1 + .pkg-dir') | |
| 34 | 47 | end |
| 35 | 48 | end |
| 36 | 49 | end |
| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | module Docs |
| 2 | 2 | class Go < UrlScraper |
| 3 | 3 | self.type = 'go' |
| 4 | − self.release = '1.7.3' | |
| 4 | + self.release = '1.7.4' | |
| 5 | 5 | self.base_url = 'https://golang.org/pkg/' |
| 6 | 6 | self.links = { |
| 7 | 7 | home: 'https://golang.org/', |
| @@ -12,6 +12,7 @@ module Docs · 4 unmodified lines | ||
| 12 | 12 | |
| 13 | 13 | options[:trailing_slash] = true |
| 14 | 14 | options[:container] = '#page .container' |
| 15 | + options[:skip] = %w(runtime/msan/) | |
| 15 | 16 | |
| 16 | 17 | options[:attribution] = <<-HTML |
| 17 | 18 | © Google, Inc.<br> |