@@ -2,10 +2,61 @@ module Docs
2
2
class ReactNative
3
3
class CleanHtmlFilter < Filter
4
4
def call
5
+ @doc = at_css ( '.inner-content, article.withtoc' )
6
+
5
7
if root_page?
8
+ at_css ( 'h1' ) . content = 'React Native Documentation'
6
9
css ( 'h1 ~ *' ) . remove
7
10
end
8
11
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
+
9
60
css ( 'center > .button' , 'p:contains("short survey")' , 'iframe' , '.embedded-simulator' , '.deprecatedIcon' ) . remove
10
61
11
62
css ( 'h4.methodTitle' ) . each do |node |
0 commit comments