|
|
@@ -30,34 +30,47 @@ module Docs
|
|
|
|
|
|
# others
|
|
|
|
|
|
+ # Remove JS on-hover highlighting
|
|
|
+ css('h3.title-link', 'h4.data-type-name', 'h4.func-head').each do |node|
|
|
|
+ node.remove_attribute('onmouseover')
|
|
|
+ node.remove_attribute('onmouseout')
|
|
|
+ end
|
|
|
+
|
|
|
css('a[name]').each do |node|
|
|
|
- # parent = node.parent
|
|
|
- # parent = parent.parent while parent.name == 'span'
|
|
|
- (node.next_element || node.parent)['id'] ||= node['name']
|
|
|
node.before(node.children).remove
|
|
|
end
|
|
|
|
|
|
css('h3').each do |node|
|
|
|
- node.name = 'h2'
|
|
|
content = node.content
|
|
|
node.content = content.capitalize if content == content.upcase
|
|
|
end
|
|
|
|
|
|
- css('p > .bold_code:first-child ~ br:last-child').each do |node|
|
|
|
- parent = node.parent
|
|
|
- parent.name = 'h3'
|
|
|
- parent.css('> br').remove
|
|
|
- parent.css('> code').each do |code|
|
|
|
- code.css('*:not(a):not(br)').each { |n| n.before(n.children).remove }
|
|
|
- code.inner_html = code.inner_html.gsub('<br>', "\n").strip
|
|
|
- end
|
|
|
+ # Subsume "Types" heading under function head heading
|
|
|
+ css('h4.func-head + .fun-types > h3.func-types-title')
|
|
|
+ .each { |node| node.name = 'h5' }
|
|
|
+
|
|
|
+ css('h3', 'h4', 'h5').each do |node|
|
|
|
+ node.name = node.name.sub(/\d/) { |i| i.to_i - 1 }
|
|
|
end
|
|
|
|
|
|
- css('pre:not(.REFTYPES) *:not(a)', 'a[href^=javascript]').each do |node|
|
|
|
- node.before(node.children).remove
|
|
|
+ # Convert <span/> code blocks to <code/> if inline otherwise
|
|
|
+ # <pre><code/></pre>.
|
|
|
+ css('span.bold_code', 'span.code', '.func-head > span.title-name').each do |node|
|
|
|
+ node.remove_attribute('class')
|
|
|
+ node.css('span.bold_code', 'span.code')
|
|
|
+ .each { |n| n.before(n.children).remove }
|
|
|
+ if node.at_css('br') then
|
|
|
+ node.name = 'pre'
|
|
|
+ node.inner_html = "<code>" +
|
|
|
+ node.inner_html.remove(/\n/).gsub('<br>', "\n").strip +
|
|
|
+ "</code>"
|
|
|
+ else
|
|
|
+ node.name = 'code'
|
|
|
+ node.inner_html = node.inner_html.strip.gsub(/\s+/, ' ')
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- css('pre:not(.REFTYPES)').each do |node|
|
|
|
+ css('*:not(.REFTYPES) > pre').each do |node|
|
|
|
node['data-language'] = 'erlang'
|
|
|
node.inner_html = node.inner_html.strip_heredoc
|
|
|
end
|
|
|
@@ -70,23 +83,7 @@ module Docs
|
|
|
end
|
|
|
end
|
|
|
|
|
|
- css('.REFTYPES').each do |node|
|
|
|
- next unless node.parent
|
|
|
- html = "<pre>"
|
|
|
- while node['class'] == 'REFTYPES'
|
|
|
- node.inner_html = node.inner_html.remove(/\n/).gsub('<br>', "\n")
|
|
|
- node.css('*:not(a)').each { |n| n.before(n.children).remove }
|
|
|
- html << node.inner_html.strip + "\n"
|
|
|
- node = node.next_element
|
|
|
- node.previous_element.remove
|
|
|
- end
|
|
|
- html.gsub! %r{\n{2,}}, "\n"
|
|
|
- html.strip!
|
|
|
- html << "</pre>"
|
|
|
- node.before(html)
|
|
|
- end
|
|
|
-
|
|
|
- css('.REFTYPES').remove
|
|
|
+ css('a[href^=javascript]').each { |n| n.before(n.children).remove }
|
|
|
|
|
|
css('table').each do |node|
|
|
|
node.remove_attribute('border')
|
|
|
@@ -99,8 +96,6 @@ module Docs
|
|
|
node.remove_attribute('valign')
|
|
|
end
|
|
|
|
|
|
- css('.bold_code').remove_attr('class')
|
|
|
-
|
|
|
doc
|
|
|
end
|
|
|
end
|