@@ -2,72 +2,34 @@ module Docs
22 class Babel
33 class CleanHtmlFilter < Filter
44 def call
5- css ( '.btn-clipboard' ) . remove
6-
7- css ( 'div.highlighter-rouge' ) . each do |node |
8- pre = node . at_css ( 'pre' )
9-
10- # copy over the highlighting metadata
11- match = /language-(\w +)/ . match ( node [ 'class' ] )
12- if match
13- lang = match [ 1 ]
14- if lang == 'sh'
15- lang = 'bash'
16- end
17- pre [ 'class' ] = nil
18- pre [ 'data-language' ] = lang
19- end
20-
21- # Remove the server-rendered syntax highlighting
22- code = pre . at_css ( 'code' )
23- code . content = code . text
24-
25- # Remove the div.highlighter-rouge and div.highlight wrapping the <pre>
26- node . add_next_sibling pre
27- node . remove
5+ if root_page?
6+ doc . inner_html = '<h1>Babel</h1>'
7+ return doc
288 end
299
10+ header = at_css ( '.docs-header .col-md-12' )
11+ @doc = at_css ( '.docs-content' )
12+ doc . prepend_child ( header )
3013
31- css ( 'blockquote' ) . each do |node |
32- node . name = 'div'
33- node [ 'class' ] = '_note'
34- end
14+ css ( '.btn-clipboard' , '.package-links' ) . remove
3515
36- css ( ( 1 ..6 ) . map { |n | "h#{ n } " } ) . each do |header |
37- return unless header . at_css ( 'a' )
38- header . content = header . at_css ( 'a' ) . content
16+ css ( '.col-md-12' , 'h1 a' , 'h2 a' , 'h3 a' , 'h4 a' , 'h5 a' , 'h5 a' ) . each do |node |
17+ node . before ( node . children ) . remove
3918 end
4019
20+ css ( 'div.highlighter-rouge' ) . each do |node |
21+ pre = node . at_css ( 'pre' )
4122
42- header = doc # .docs-content
43- . parent # .row
44- . parent # .container
45- . previous_element # .docs_header
23+ lang = node [ 'class' ] [ /language-(\w +)/ , 1 ]
24+ lang = 'bash' if lang == 'sh'
25+ pre [ 'data-language' ] = lang
4626
47- toc = doc # .docs-content
48- . parent # .row
49- . at_css ( '.sidebar' )
50- toc [ 'class' ] = '_toc'
51- toc . css ( 'a' ) . each do |a |
52- a [ 'class' ] = '_toc-link'
53- a . parent . remove if a . content == 'Community Discussion'
27+ pre . remove_attribute ( 'class' )
28+ pre . content = pre . content
29+ node . replace ( pre )
5430 end
55- toc . css ( 'ul' ) . attr 'class' , '_toc-list'
56-
57- h1 = header . at_css ( 'h1' )
58- h1 . content = h1 . content
59- . titleize
60- . sub ( /\b Env\b / , 'env' )
61- . sub ( /\. [A-Z]/ ) { |s | s . downcase }
62- . sub ( /\. babelrc/i , '.babelrc' )
63- . sub ( 'Common Js' , 'CommonJS' )
64- . sub ( 'J Script' , 'JScript' )
65- . sub ( /regexp/i , 'RegExp' )
66- . sub ( /api|Es(\d +)|cli|jsx?|[au]md/i ) { |s | s . upcase }
6731
68- doc . children . before toc
69- doc . children . before header . at_css 'p'
70- doc . children . before h1
32+ css ( 'code' ) . remove_attr ( 'class' )
7133
7234 doc
7335 end
0 commit comments