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