mirror of https://github.com/freeCodeCamp/devdocs
parent
a525a79d97
commit
450adb5e72
@ -0,0 +1,28 @@
|
|||||||
|
._haproxy {
|
||||||
|
padding-left: 1rem;
|
||||||
|
|
||||||
|
h1, h2, h3 { margin-left: -1rem; }
|
||||||
|
h2 { @extend %block-heading; }
|
||||||
|
h3 { @extend %block-label; }
|
||||||
|
h4 { @extend %block-label; }
|
||||||
|
|
||||||
|
._mobile & {
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
h1, h2, h3 { margin-left: 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination-centered { text-align: center; }
|
||||||
|
|
||||||
|
.pull-right { float: right !important; }
|
||||||
|
|
||||||
|
.keyword { @extend %block-label, %label-blue;}
|
||||||
|
|
||||||
|
pre.text {
|
||||||
|
background: var(--contentBackground);
|
||||||
|
border-width: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
td.alert-success { background: var(--noteGreenBackground); }
|
||||||
|
td.alert-error { background: var(--noteRedBackground); }
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
module Docs
|
||||||
|
class Haproxy
|
||||||
|
class CleanHtmlFilter < Filter
|
||||||
|
def call
|
||||||
|
css('br', 'hr' '.text-right', '.dropdown-menu', 'table.summary').remove
|
||||||
|
css('.alert-success > img[src$="check.png"]').remove
|
||||||
|
css('.alert-error > img[src$="cross.png"]').remove
|
||||||
|
|
||||||
|
at_css('.page-header').remove
|
||||||
|
|
||||||
|
css('h1, h2, h3, h4').each do |node|
|
||||||
|
node.name = node.name.sub(/\d/) { |i| i.to_i + 1 }
|
||||||
|
node.remove_attribute('data-target')
|
||||||
|
end
|
||||||
|
|
||||||
|
header = at_css('.text-center')
|
||||||
|
header.name = 'h1'
|
||||||
|
header.content = header.at_css('h3').content
|
||||||
|
|
||||||
|
css('small > a').each do |node|
|
||||||
|
node.parent.content = node.content
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.page-header').each do |node|
|
||||||
|
node.replace node.children
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.keyword').each do |node|
|
||||||
|
node['id'] = node.at_css('.anchor')['name']
|
||||||
|
end
|
||||||
|
|
||||||
|
css('.dropdown').each do |node|
|
||||||
|
node.content = node.content
|
||||||
|
end
|
||||||
|
|
||||||
|
css('table').each do |node|
|
||||||
|
node.keys.each do |attribute|
|
||||||
|
node.remove_attribute(attribute)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
doc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,49 @@
|
|||||||
|
module Docs
|
||||||
|
class Haproxy
|
||||||
|
class EntriesFilter < Docs::EntriesFilter
|
||||||
|
TYPE_BY_SLUG = {
|
||||||
|
'intro' => 'Starter Guide',
|
||||||
|
'configuration' => 'Configuration Manual',
|
||||||
|
'management' => 'Management Guide',
|
||||||
|
}
|
||||||
|
|
||||||
|
REPLACE_TYPE = {
|
||||||
|
'Management: 2) Typed output format' => 'Statistics and monitoring'
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_name
|
||||||
|
'HAProxy'
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_type
|
||||||
|
'HAProxy'
|
||||||
|
end
|
||||||
|
|
||||||
|
def additional_entries
|
||||||
|
entries = []
|
||||||
|
|
||||||
|
css('h2[id]', 'h3[id]').each do |node|
|
||||||
|
entries << [node.content.strip, node['id'], TYPE_BY_SLUG[slug]]
|
||||||
|
end
|
||||||
|
|
||||||
|
type = 'x'
|
||||||
|
@doc.children.each do |node|
|
||||||
|
if node.name == 'h2' && node['id'] =~ /chapter/
|
||||||
|
type = slug.titleize + ': ' + node.content.split('.').last.strip
|
||||||
|
elsif node.name == 'div'
|
||||||
|
node.css('.keyword').each do |n|
|
||||||
|
name = n.at_css('b').content
|
||||||
|
id = n.at_css('a.anchor')['name']
|
||||||
|
entries << [name, URI.escape(id), REPLACE_TYPE[type] || type]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
entries
|
||||||
|
end
|
||||||
|
|
||||||
|
def include_default_entry?
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,62 @@
|
|||||||
|
module Docs
|
||||||
|
class Haproxy < UrlScraper
|
||||||
|
self.type = 'haproxy'
|
||||||
|
self.root_path = 'intro.html'
|
||||||
|
self.initial_paths = %w(intro.html configuration.html management.html)
|
||||||
|
self.links = {
|
||||||
|
home: 'https://www.haproxy.org/',
|
||||||
|
code: 'https://github.com/haproxy/haproxy/'
|
||||||
|
}
|
||||||
|
|
||||||
|
html_filters.push 'haproxy/clean_html', 'haproxy/entries'
|
||||||
|
|
||||||
|
options[:container] = '#page-wrapper > .row > .col-lg-12'
|
||||||
|
|
||||||
|
options[:follow_links] = false
|
||||||
|
|
||||||
|
options[:attribution] = <<-HTML
|
||||||
|
© 2020 Willy Tarreau, HAProxy contributors<br>
|
||||||
|
Licensed under the GNU General Public License version 2.
|
||||||
|
HTML
|
||||||
|
|
||||||
|
version '2.3' do
|
||||||
|
self.release = '2.3.0'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '2.2' do
|
||||||
|
self.release = '2.2.5'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '2.1' do
|
||||||
|
self.release = '2.1.10'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '2.0' do
|
||||||
|
self.release = '2.0.19'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '1.9' do
|
||||||
|
self.release = '1.9.16'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '1.8' do
|
||||||
|
self.release = '1.8.27'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
version '1.7' do
|
||||||
|
self.release = '1.7.12'
|
||||||
|
self.base_url = "http://cbonte.github.io/haproxy-dconv/#{self.version}/"
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_latest_version(opts)
|
||||||
|
doc = fetch_doc('http://www.haproxy.org', opts)
|
||||||
|
doc.at_css('table[cols=6]').css('tr')[1].at_css('td').content
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
@ -0,0 +1 @@
|
|||||||
|
http://www.haproxy.org/img/HAProxyCommunityEdition_60px.png
|
Loading…
Reference in new issue