@@ -3,11 +3,12 @@ class Flow
33 class CleanHtmlFilter < Filter
44 def call
55 root_page? ? root : other
6+ css ( 'footer' , 'header' , 'svg' ) . remove
67 doc
78 end
89
910 def root
10- @doc = at_css ( '.bg-faded + .container ' )
11+ @doc = at_css ( 'article ' )
1112
1213 css ( '.row' , '.col-lg-4' , '.card-block' ) . each do |node |
1314 node . before ( node . children ) . remove
@@ -23,9 +24,9 @@ def root
2324 end
2425
2526 def other
26- @doc = at_css ( '. article' )
27+ @doc = at_css ( 'article' )
2728
28- css ( '.nav-tabs' , '#select-platform' , '.guide-controls + .list-group' , '.guide-controls' , 'hr' ) . remove
29+ css ( '.theme-doc-breadcrumbs' , '.theme-doc-toc-mobile' , '. nav-tabs', '#select-platform' , '.guide-controls + .list-group' , '.guide-controls' , 'hr' ) . remove
2930
3031 css ( '.guide-content' , '.tabs' , '.tab-content' ) . each do |node |
3132 node . before ( node . children ) . remove
@@ -36,6 +37,18 @@ def other
3637 node . remove
3738 end
3839
40+ css ( 'pre' ) . each do |node |
41+ token_lines = node . css ( '.token-line' )
42+ next if token_lines . empty?
43+
44+ node . css ( '[class*="codeBlockLineNumber"]' ) . remove
45+ node . content = token_lines . map ( &:content ) . join ( "\n " )
46+ node [ 'data-language' ] = 'typescript'
47+ node . remove_attribute ( 'class' )
48+ node . remove_attribute ( 'style' )
49+ node . ancestors ( '[class*="codeBlockContainer"]' ) . first . replace ( node )
50+ end
51+
3952 unless at_css ( 'h2' )
4053 css ( 'h3' , 'h4' , 'h5' ) . each do |node |
4154 node . name = node . name . sub ( /\d / ) { |i | i . to_i - 1 }
0 commit comments