Unified · Split
| @@ -11,13 +11,7 @@ module Docs · 10 unmodified lines | ||
| 11 | 11 | format_top_links |
| 12 | 12 | format_metadata |
| 13 | 13 | format_members |
| 14 | − | |
| 15 | − # Simplify the HTML structure | |
| 16 | − @doc = at_css('#content > div') | |
| 17 | − css('.documentableList > *').each do |element| | |
| 18 | − element.parent = doc | |
| 19 | − end | |
| 20 | − at_css('.membersList').remove | |
| 14 | + simplify_html | |
| 21 | 15 | |
| 22 | 16 | doc |
| 23 | 17 | end |
| @@ -91,6 +85,10 @@ module Docs · 67 unmodified lines | ||
| 91 | 85 | def format_metadata |
| 92 | 86 | # Metadata (attributes) |
| 93 | 87 | css('.tabs.single .monospace').each do |node| |
| 88 | + node.css('> div').each do |div| | |
| 89 | + div['class'] = 'member' | |
| 90 | + end | |
| 91 | + | |
| 94 | 92 | node['class'] = 'related-types' |
| 95 | 93 | |
| 96 | 94 | if node.children.count > 15 |
| @@ -183,6 +181,30 @@ module Docs · 86 unmodified lines | ||
| 183 | 181 | end |
| 184 | 182 | end |
| 185 | 183 | |
| 184 | + def simplify_html | |
| 185 | + @doc = at_css('#content > div') | |
| 186 | + | |
| 187 | + css('.documentableList > *').each do |element| | |
| 188 | + element.parent = doc | |
| 189 | + end | |
| 190 | + at_css('.membersList').remove | |
| 191 | + | |
| 192 | + # Remove useless classes | |
| 193 | + css('.header, .groupHeader, .cover, .documentableName').each do |element| | |
| 194 | + element.remove_attribute('class') | |
| 195 | + end | |
| 196 | + | |
| 197 | + # Remove useless attributes | |
| 198 | + css('[t]').each do |element| | |
| 199 | + element.remove_attribute('t') | |
| 200 | + end | |
| 201 | + | |
| 202 | + # Remove useless wrapper elements | |
| 203 | + css('.docs, .doc, .memberDocumentation, span, div:not([class])').each do |element| | |
| 204 | + element.replace(element.children) | |
| 205 | + end | |
| 206 | + end | |
| 207 | + | |
| 186 | 208 | def convert_dl_to_table(dl) |
| 187 | 209 | table = Nokogiri::XML::Node.new('table', doc) |
| 188 | 210 | table['class'] = 'attributes' |