@@ -3,6 +3,7 @@ class Trio
33 class CleanHtmlFilter < Filter
44 def call
55 @doc = at_css ( 'div[role="main"]' )
6+
67 css ( '.section, [itemprop=articleBody]' ) . each do |node |
78 node . replace node . children
89 end
@@ -11,40 +12,43 @@ def call
1112
1213 css ( 'dt' ) . each do |node |
1314 node . name = 'h3'
15+
1416 if node . parent . classes . include? 'field-list'
1517 node . name = 'h4'
1618 node [ 'style' ] = 'margin: 0'
19+
1720 if node . text == 'Parameters' or node . text == 'Raises'
1821 node . next_element . css ( 'strong' ) . each do |n |
1922 n . name = 'code'
2023 end
2124 end
2225 else
2326 code = doc . document . create_element 'code'
27+
2428 if em = node . at_css ( '.property' )
2529 code . inner_html = "<em>#{ em . text . strip } </em> "
2630 em . remove
2731 end
32+
2833 code . inner_html += node . inner_text . strip
2934 node . inner_html = code
3035 end
3136 end
3237
3338 css ( 'pre' ) . each do |node |
39+ node . content = node . content . strip
40+
3441 classes = node . parent . parent . classes
3542 if classes . include? 'highlight-python3'
36- node [ 'class' ] = 'language-python'
3743 node [ 'data-language' ] = 'python'
3844 end
45+
3946 node . parent . parent . replace ( node )
4047 end
4148
4249 css ( '.admonition' ) . each do |node |
4350 node . name = 'blockquote'
4451 node . at_css ( '.admonition-title' ) . name = 'h4'
45- # new_node = node.document.create_element 'blockquote'
46- # new_node.inner_html = node.inner_html
47- # node.replace new_node
4852 end
4953
5054 doc
0 commit comments