diff --git a/lib/docs/filters/scala/clean_html_v3.rb b/lib/docs/filters/scala/clean_html_v3.rb
index 207d3ccd..8e869e37 100644
--- a/lib/docs/filters/scala/clean_html_v3.rb
+++ b/lib/docs/filters/scala/clean_html_v3.rb
@@ -11,13 +11,7 @@ module Docs
format_top_links
format_metadata
format_members
-
- # Simplify the HTML structure
- @doc = at_css('#content > div')
- css('.documentableList > *').each do |element|
- element.parent = doc
- end
- at_css('.membersList').remove
+ simplify_html
doc
end
@@ -91,6 +85,10 @@ module Docs
def format_metadata
# Metadata (attributes)
css('.tabs.single .monospace').each do |node|
+ node.css('> div').each do |div|
+ div['class'] = 'member'
+ end
+
node['class'] = 'related-types'
if node.children.count > 15
@@ -183,6 +181,30 @@ module Docs
end
end
+ def simplify_html
+ @doc = at_css('#content > div')
+
+ css('.documentableList > *').each do |element|
+ element.parent = doc
+ end
+ at_css('.membersList').remove
+
+ # Remove useless classes
+ css('.header, .groupHeader, .cover, .documentableName').each do |element|
+ element.remove_attribute('class')
+ end
+
+ # Remove useless attributes
+ css('[t]').each do |element|
+ element.remove_attribute('t')
+ end
+
+ # Remove useless wrapper elements
+ css('.docs, .doc, .memberDocumentation, span, div:not([class])').each do |element|
+ element.replace(element.children)
+ end
+ end
+
def convert_dl_to_table(dl)
table = Nokogiri::XML::Node.new('table', doc)
table['class'] = 'attributes'