Update and improve Go documentation (1.7.4)

Closes #538.
Closes #540.
Closes #541.
pull/547/head
Thibaut Courouble 8 years ago
parent 06cf118786
commit cd8188ba51

@ -2,4 +2,9 @@
@extend %simple;
#short-nav, table.dir { margin-left: -1rem; }
a.source {
float: right;
font-size: .9em;
}
}

@ -20,9 +20,16 @@ module Docs
node.before(node.children).remove
end
css('h2 a', 'h3 a').each do |node|
if node['href'].include?('/src/')
node.after %(<a href="#{node['href']}" class="source">Source</a>)
node.before(node.children).remove
end
end
# Remove triangle character
css('h2', '.exampleHeading').each do |node|
node.content = node.content.remove("\u25BE")
node.inner_html = node.inner_html.remove("\u25BE")
node.name = 'h4' unless node.name == 'h2'
end
@ -44,9 +51,9 @@ module Docs
node.content = node.content
end
css('td[style]', 'ul[style]').each do |node|
node.remove_attribute('style')
end
css('td[style]', 'ul[style]').remove_attr('style')
css('.toggleButton[title]').remove_attr('title')
css('.toggleButton').remove_attr('class')
doc
end

@ -2,23 +2,36 @@ module Docs
class Go
class EntriesFilter < Docs::EntriesFilter
def get_name
code = at_css('code')
if code && name = code.content[/import "([\w\/]+)"/, 1]
name
else
name = at_css('h1').content
name.remove! 'Package '
name
end
end
def get_type
subpath[/\A[^\/]+/]
package = subpath[/\A[^\/]+/]
if package.in?(%w(math net))
name.split('/')[0..1].join('/')
else
package
end
end
def additional_entries
return [] if root_page?
package = self.name.split('/').last
css('#manual-nav a').each_with_object [] do |node, entries|
case node.content
when /type\ (\w+)/
name = "#{$1} (#{self.name})"
name = "#{package}.#{$1}"
when /func\ (?:\(.+\)\ )?(\w+)\(/
name = "#{$1}() (#{self.name})"
name = "#{$1}()"
name.prepend "#{$1}." if node['href'] =~ /#(\w+)\.#{$1}/
name.prepend "#{package}."
when 'Constants'
name = "#{self.name} constants"
when 'Variables'
@ -30,7 +43,7 @@ module Docs
end
def include_default_entry?
!at_css('h1 + table.dir')
!at_css('h1 + .pkg-dir')
end
end
end

@ -1,7 +1,7 @@
module Docs
class Go < UrlScraper
self.type = 'go'
self.release = '1.7.3'
self.release = '1.7.4'
self.base_url = 'https://golang.org/pkg/'
self.links = {
home: 'https://golang.org/',
@ -12,6 +12,7 @@ module Docs
options[:trailing_slash] = true
options[:container] = '#page .container'
options[:skip] = %w(runtime/msan/)
options[:attribution] = <<-HTML
&copy; Google, Inc.<br>

Loading…
Cancel
Save