@@ -2,10 +2,61 @@ module Docs
22 class ReactNative
33 class CleanHtmlFilter < Filter
44 def call
5+ @doc = at_css ( '.inner-content, article.withtoc' )
6+
57 if root_page?
8+ at_css ( 'h1' ) . content = 'React Native Documentation'
69 css ( 'h1 ~ *' ) . remove
710 end
811
12+ css ( '.docs-prevnext' , '.hash-link' , '.edit-page-link' , '.edit-github' , 'a.hash' , '.edit-page-block' , 'a.show' , 'a.hide' , 'hr' ) . remove
13+
14+ css ( 'table h1' , 'table h2' , 'table h3' ) . each do |node |
15+ table = node
16+ table = table . parent until table . name == 'table'
17+ table . replace ( node )
18+ end
19+
20+ css ( 'a.anchor' , 'a.hashref' ) . each do |node |
21+ node . parent [ 'id' ] ||= node [ 'name' ] || node [ 'id' ]
22+ end
23+
24+ css ( '.highlight' ) . each do |node |
25+ node . name = 'pre'
26+ node . css ( '.gutter' ) . remove
27+ node [ 'data-language' ] = node . at_css ( '[data-lang]' ) . try ( :[] , 'data-lang' ) || 'js'
28+ node . content = node . content . strip
29+ end
30+
31+ css ( 'table.highlighttable' ) . each do |node |
32+ node . replace ( node . at_css ( 'pre.highlight' ) )
33+ end
34+
35+ css ( '.prism' ) . each do |node |
36+ node . name = 'pre'
37+ node [ 'data-language' ] = node [ 'class' ] [ /(?<=language\- )(\w +)/ ]
38+ node . content = node . content
39+ end
40+
41+ css ( 'blockquote > p:first-child' ) . each do |node |
42+ node . remove if node . content . strip == 'Note:'
43+ end
44+
45+ css ( 'h3#props' , 'h3#methods' ) . each { |node | node . name = 'h2' }
46+ css ( 'h4.propTitle' ) . each { |node | node . name = 'h3' }
47+
48+ css ( '> div > div' , '> div' , 'div > span' , '.props' , '.prop' ) . each do |node |
49+ node . before ( node . children ) . remove
50+ end
51+
52+ css ( 'a pre' , 'h3 .propType' ) . each do |node |
53+ node . name = 'code'
54+ end
55+
56+ css ( 'a[target]' ) . each do |node |
57+ node . remove_attribute ( 'target' )
58+ end
59+
960 css ( 'center > .button' , 'p:contains("short survey")' , 'iframe' , '.embedded-simulator' , '.deprecatedIcon' ) . remove
1061
1162 css ( 'h4.methodTitle' ) . each do |node |
0 commit comments