@@ -2,45 +2,32 @@ module Docs
22 class Elixir
33 class CleanHtmlFilter < Filter
44 def call
5+ at_css ( 'footer' , '.view-source' ) . remove
56
6- # Strip h1 content
7- css ( 'h1' ) . each do |node |
8- node . content = node . content . strip
9- end
10-
11- # Make subtitles smaller
12- css ( 'h2' ) . each do |node |
7+ css ( 'section section.docstring h2' ) . each do |node |
138 node . name = 'h4'
149 end
1510
16- # Remove footer
17- at_css ( 'footer' ) . remove
18-
19- # Remove behaviour after module name
20- css ( 'h1' ) . each do |node |
21- if !( node . has_attribute? ( 'id' ) )
22- node . content = node . content . split ( " " ) [ 0 ]
23- end
24- end
25-
26- # Remove links from summary headings
27- css ( '.summary > h4 > a' ) . each do |node |
28- node . delete ( 'href' )
11+ css ( 'h1 .hover-link' , '.detail-link' ) . each do |node |
12+ node . parent [ 'id' ] = node [ 'href' ] . remove ( '#' )
13+ node . remove
2914 end
3015
31- # Add elixir class to each pre for syntax highlighting
32- css ( 'pre' ) . each do |node |
33- node [ 'class' ] = "elixir"
16+ css ( '.details-list' ) . each do |list |
17+ type = list [ 'id' ] . remove ( /s\z / )
18+ list . css ( '.detail-header' ) . each do |node |
19+ node . name = 'h3'
20+ node [ 'class' ] += " #{ type } "
21+ end
3422 end
3523
36- # Rewrite .detail -> .method-detail
37- css ( '.detail ' ) . each do |node |
38- node [ 'class' ] = "method-detail"
39- end
24+ css ( '.summary h2' ) . each { | node | node . parent . before ( node ) }
25+ css ( '.summary ' ) . each { |node | node . name = 'dl' }
26+ css ( '.summary-signature' ) . each { | node | node . name = 'dt' }
27+ css ( '.summary-synopsis' ) . each { | node | node . name = 'dd' }
4028
41- # Change .detail-header to h3
42- css ( '.detail-header .signature' ) . each do |node |
43- node . name = 'h3'
29+ css ( 'section' , 'div:not(.type-detail)' , 'h2 a' ) . each do |node |
30+ node . before ( node . children ) . remove
4431 end
4532
4633 doc
0 commit comments