Add Selenium 1.0 documentation

pull/142/head
edno 10 years ago
parent 1ec9140e78
commit 12c5fde792

@ -60,6 +60,7 @@
'pages/redis',
'pages/requirejs',
'pages/rfc',
'pages/selenium',
'pages/sinon',
'pages/sphinx',
'pages/underscore',

@ -0,0 +1,14 @@
._selenium {
h1 {
margin-top: 0;
@extend %lined-heading;
}
h2 { @extend %block-heading; }
h3 { @extend %note, %note-green; }
code { @extend %label; }
.synopsis { @extend %note, %note-blue; }
}

@ -0,0 +1,51 @@
module Docs
class Selenium
class CleanHtmlFilter < Filter
def call
# remove nodes before Actions documentation
node = css('h2:contains("Selenium Actions")')
node.xpath('preceding-sibling::*').remove
# remove nodes after Accessors documentation
node = css('h2:contains("Selenium Accessors")').xpath('following-sibling::h2')
node.xpath('following-sibling::*').remove
node.remove
# remove body node and untagged text
css('body').children.each do |node|
node.parent = node.parent.parent unless node.name == 'text'
end
css('body').remove
# set anchor for internal references
css('dt > strong').each do |node|
anchor = Nokogiri::XML::Node.new "a", @doc
anchor.content = node.content
anchor['id'] = anchor.content[/\w+/].downcase
node.content = ''
node.name = 'h3'
anchor.parent = node
end
# include arguments into colored note
css('p:contains("Arguments")').each do |node|
node.name = "div"
node['class'] = "synopsis"
node.next_element.parent = node
end
# fix external links
css('a').each do |node|
if node['href']
unless ['actions', 'accessors'].include? node['href'][/#(.*)/, 1]
node['href'] = Selenium.base_url + node['href']
end
end
end
doc
end
end
end
end

@ -0,0 +1,21 @@
module Docs
class Selenium
class EntriesFilter < Docs::EntriesFilter
def additional_entries
entries = []
types = ['actions', 'accessors']
types.each do |type|
node = doc.css("a[name='#{type}'] + h2 + dl")
node.css('strong > a').each do |node|
name = node['name']
id = name.downcase
entries << [name, id, type]
end
end
entries
end
end
end
end

@ -0,0 +1,19 @@
module Docs
class Selenium < UrlScraper
self.name = 'Selenium'
self.type = 'selenium'
self.slug = 'selenium'
self.version = '1.0.1'
self.base_url = 'http://release.seleniumhq.org/selenium-core/1.0.1/reference.html'
html_filters.push 'selenium/entries', 'selenium/clean_html', 'title'
options[:skip_links] = true
options[:title] = self.name
options[:attribution] = <<-HTML
&copy; 2006&ndash;2014 Selenium Project
Licensed under the Apache 2.0 License
HTML
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Loading…
Cancel
Save