Update Docker documentation (1.12, 1.11, 1.10)

pull/481/head
Thibaut Courouble 9 years ago
parent 9386a2d368
commit 0ebd9fac8e

@ -7,10 +7,12 @@ module Docs
return doc return doc
end end
@doc = at_css('#content') @doc = at_css('#DocumentationText')
at_css('h2').name = 'h1' unless at_css('h1') at_css('h2').name = 'h1' unless at_css('h1')
css('.anchorLink').remove
css('pre').each do |node| css('pre').each do |node|
node.content = node.content node.content = node.content
end end

@ -0,0 +1,22 @@
module Docs
class Docker
class CleanHtmlOldFilter < Filter
def call
if root_page?
doc.inner_html = "<h1>Docker Documentation</h1>"
return doc
end
@doc = at_css('#content')
at_css('h2').name = 'h1' unless at_css('h1')
css('pre').each do |node|
node.content = node.content
end
doc
end
end
end
end

@ -2,14 +2,15 @@ module Docs
class Docker class Docker
class EntriesFilter < Docs::EntriesFilter class EntriesFilter < Docs::EntriesFilter
def get_name def get_name
name = nav_link ? nav_link.content.strip : at_css('#content h1').content.strip return 'Engine' if subpath == 'engine/'
name = nav_link.content.strip
name.capitalize! if name == 'exoscale' name.capitalize! if name == 'exoscale'
if name =~ /\A[a-z\-\s]+\z/ if name =~ /\A[a-z\-\s]+\z/
name.prepend 'docker ' if subpath =~ /engine\/reference\/commandline\/./ name.prepend 'docker ' if subpath =~ /engine\/reference\/commandline\/./
name.prepend 'docker-compose ' if subpath =~ /compose\/reference\/./ name.prepend 'docker-compose ' if subpath =~ /compose\/reference\/./
name.prepend 'docker-machine ' if subpath =~ /machine\/reference\/./ name.prepend 'docker-machine ' if subpath =~ /machine\/reference\/./
name.prepend 'swarm ' if subpath =~ /swarm\/reference\/./ && name != 'swarm'
else else
name << " (#{product})" if name !~ /#{product}/i name << " (#{product})" if name !~ /#{product}/i
end end
@ -18,16 +19,13 @@ module Docs
end end
def get_type def get_type
unless nav_link return 'Engine' if subpath == 'engine/'
return 'Engine: User guide' if subpath.start_with?('engine/userguide')
return 'Engine: Secure' if subpath.start_with?('engine/security')
return 'Engine' if subpath == 'engine/'
end
type = nav_link.ancestors('article').to_a.reverse.to_a[0..1].map do |node| type = nav_link.ancestors('.menu-open').to_a.reverse.to_a[0..1].map do |node|
node.at_css('> button').content.strip node.at_css('> a').content.strip
end.join(': ') end.join(': ')
type = self.name if type.empty?
type.remove! %r{\ADocker } type.remove! %r{\ADocker }
type.remove! %r{ Engine} type.remove! %r{ Engine}
type.sub! %r{Command[\-\s]line reference}i, 'CLI' type.sub! %r{Command[\-\s]line reference}i, 'CLI'
@ -37,14 +35,14 @@ module Docs
def nav_link def nav_link
return @nav_link if defined?(@nav_link) return @nav_link if defined?(@nav_link)
@nav_link = at_css('#multiple .active') @nav_link = at_css('.currentPage')
unless @nav_link unless @nav_link
link = at_css('#content li a') link = at_css('#DocumentationText li a')
return unless link return unless link
link = at_css("#multiple a[href='#{link['href']}']") link = at_css(".docsidebarnav_section a[href='#{link['href']}']")
return unless link return unless link
@nav_link = link.ancestors('article').first.at_css('button') @nav_link = link.ancestors('.menu-closed').first.at_css('a')
end end
@nav_link @nav_link

@ -0,0 +1,56 @@
module Docs
class Docker
class EntriesOldFilter < Docs::EntriesFilter
def get_name
name = nav_link ? nav_link.content.strip : at_css('#content h1').content.strip
name.capitalize! if name == 'exoscale'
if name =~ /\A[a-z\-\s]+\z/
name.prepend 'docker ' if subpath =~ /engine\/reference\/commandline\/./
name.prepend 'docker-compose ' if subpath =~ /compose\/reference\/./
name.prepend 'docker-machine ' if subpath =~ /machine\/reference\/./
name.prepend 'swarm ' if subpath =~ /swarm\/reference\/./ && name != 'swarm'
else
name << " (#{product})" if name !~ /#{product}/i
end
name
end
def get_type
unless nav_link
return 'Engine: User guide' if subpath.start_with?('engine/userguide')
end
type = nav_link.ancestors('article').to_a.reverse.to_a[0..1].map do |node|
node.at_css('> button').content.strip
end.join(': ')
type.remove! %r{\ADocker }
type.remove! %r{ Engine}
type.sub! %r{Command[\-\s]line reference}i, 'CLI'
type = 'Engine: Reference' if type == 'Engine: reference'
type
end
def nav_link
return @nav_link if defined?(@nav_link)
@nav_link = at_css('#multiple .active')
unless @nav_link
link = at_css('#content li a')
return unless link
link = at_css("#multiple a[href='#{link['href']}']")
return unless link
@nav_link = link.ancestors('article').first.at_css('button')
end
@nav_link
end
def product
@product ||= subpath.split('/').first.capitalize
end
end
end
end

@ -6,20 +6,37 @@ module Docs
code: 'https://github.com/docker/docker' code: 'https://github.com/docker/docker'
} }
html_filters.push 'docker/entries', 'docker/clean_html'
options[:container] = '#docs'
options[:trailing_slash] = true options[:trailing_slash] = true
options[:only_patterns] = [ options[:only_patterns] = [/\Aengine\//, /\Acompose\//, /\Amachine\//]
/\Aengine\//,
/\Acompose\//, options[:skip] = %w(
/\Amachine\//, swarm/scheduler/
/\Aswarm\// swarm/swarm_at_scale/
] swarm/reference/
options[:skip] = %w(swarm/scheduler/) engine/installation/linux/
engine/installation/cloud/
engine/installation/
engine/tutorials/
engine/userguide/
engine/extend/
engine/examples/
engine/reference/
engine/reference/api/
engine/security/
engine/security/trust/
engine/getstarted/linux_install_help/
machine/reference/
machine/drivers/
machine/examples/
compose/reference/
) # index pages
options[:replace_paths] = { options[:replace_paths] = {
'engine/installation/ubuntulinux/' => 'engine/installation/linux/ubuntulinux/' 'engine/installation/ubuntulinux/' => 'engine/installation/linux/ubuntulinux/',
'engine/userguide/networking/dockernetworks/' => 'engine/userguide/networking/',
'engine/reference/logging/overview/' => 'engine/admin/logging/overview/',
'engine/userguide/dockervolumes/' => 'engine/tutorials/dockervolumes/'
} }
options[:attribution] = <<-HTML options[:attribution] = <<-HTML
@ -29,14 +46,33 @@ module Docs
Docker, Inc. and other parties may also have trademark rights in other terms used herein. Docker, Inc. and other parties may also have trademark rights in other terms used herein.
HTML HTML
version '1.12' do
self.release = '1.12'
self.base_url = 'https://docs.docker.com/'
html_filters.push 'docker/entries', 'docker/clean_html'
options[:container] = '.container-fluid .row'
end
version '1.11' do version '1.11' do
self.release = '1.11' self.release = '1.11'
self.base_url = "https://docs.docker.com/v#{self.version}/" self.base_url = "https://docs.docker.com/v#{self.version}/"
html_filters.push 'docker/entries_old', 'docker/clean_html_old'
options[:container] = '#docs'
options[:only_patterns] << /\Aswarm\//
end end
version '1.10' do version '1.10' do
self.release = '1.10' self.release = '1.10'
self.base_url = "https://docs.docker.com/v#{self.version}/" self.base_url = "https://docs.docker.com/v#{self.version}/"
html_filters.push 'docker/entries_old', 'docker/clean_html_old'
options[:container] = '#docs'
options[:only_patterns] << /\Aswarm\//
end end
end end
end end

Loading…
Cancel
Save