History

kotlin: fix linebreaks in code

Fixes #1729.

Simon Legner committed 4 years ago

Commit 114155c1 parent 34c2bcb2 files · +5 −18Browse files

Unified · Split

2 files
  1. lib/docs/filters/kotlin/clean_html.rb +0 −18
  2. lib/docs/scrapers/kotlin.rb +5 −0
lib/docs/filters/kotlin/clean_html.rb+0−18
@@ -12,24 +12,6 @@ module Docs · 11 unmodified lines
1212 css('a > img').each do |node|
1313 node.parent.before(node.parent.content).remove
1414 end
15−
16− css('div.code-block').each do |node|
17− node.name = 'pre'
18− node['data-language'] = node['data-lang']
19− node.content = node.content
20− # FIXME: newlines in code-block are lost because of <div>? (on https://kotlinlang.org/docs/typecasts.html for instance)
21− end
22−
23− css('pre').each do |node|
24− node['data-language'] = 'kotlin' if node.at_css('code.language-kotlin')
25− node['data-language'] = 'groovy' if node.at_css('code.language-groovy')
26− node['data-language'] = 'javascript' if node.at_css('code.language-javascript')
27− node['data-language'] = 'xml' if node.at_css('code.language-xml')
28− node.content = node.content
29− node.parent.remove_attribute('data-highlight-only')
30− node.parent.remove_attribute('data-lang')
31− node.parent.remove_attribute('theme')
32− end
3315 end
3416
3517 def api_page
lib/docs/scrapers/kotlin.rb+5−0
@@ -49,5 +49,10 @@ module Docs · 48 unmodified lines
4949 return false unless super
5050 response.body !~ /http-equiv="refresh"/i
5151 end
52+
53+ def parse(response)
54+ response.body.gsub! %r{<div\ class="code-block" data-lang="([^"]+)"[^>]*>([\W\w]+?)</div>}, '<pre class="code" data-language="\1">\2</pre>'
55+ super
56+ end
5257 end
5358 end