Bladeren bron

kotlin: fix linebreaks in code

Fixes #1729.
Simon Legner 3 jaren geleden
bovenliggende
commit
114155cd32
2 gewijzigde bestanden met toevoegingen van 5 en 18 verwijderingen
  1. 0 18
      lib/docs/filters/kotlin/clean_html.rb
  2. 5 0
      lib/docs/scrapers/kotlin.rb

+ 0 - 18
lib/docs/filters/kotlin/clean_html.rb

@@ -12,24 +12,6 @@ module Docs
         css('a > img').each do |node|
           node.parent.before(node.parent.content).remove
         end
-
-        css('div.code-block').each do |node|
-          node.name = 'pre'
-          node['data-language'] = node['data-lang']
-          node.content = node.content
-          # FIXME: newlines in code-block are lost because of <div>? (on https://kotlinlang.org/docs/typecasts.html for instance)
-        end
-
-        css('pre').each do |node|
-          node['data-language'] = 'kotlin' if node.at_css('code.language-kotlin')
-          node['data-language'] = 'groovy' if node.at_css('code.language-groovy')
-          node['data-language'] = 'javascript' if node.at_css('code.language-javascript')
-          node['data-language'] = 'xml' if node.at_css('code.language-xml')
-          node.content = node.content
-          node.parent.remove_attribute('data-highlight-only')
-          node.parent.remove_attribute('data-lang')
-          node.parent.remove_attribute('theme')
-        end
       end
 
       def api_page

+ 5 - 0
lib/docs/scrapers/kotlin.rb

@@ -49,5 +49,10 @@ module Docs
       return false unless super
       response.body !~ /http-equiv="refresh"/i
     end
+
+    def parse(response)
+      response.body.gsub! %r{<div\ class="code-block" data-lang="([^"]+)"[^>]*>([\W\w]+?)</div>}, '<pre class="code" data-language="\1">\2</pre>'
+      super
+    end
   end
 end