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
12 css('a > img').each do |node|12 css('a > img').each do |node|
13 node.parent.before(node.parent.content).remove13 node.parent.before(node.parent.content).remove
14 end14 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
33 end15 end
34 16
35 def api_page17 def api_page
lib/docs/scrapers/kotlin.rb+5−0
@@ -49,5 +49,10 @@ module Docs · 48 unmodified lines
49 return false unless super49 return false unless super
50 response.body !~ /http-equiv="refresh"/i50 response.body !~ /http-equiv="refresh"/i
51 end51 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
52 end57 end
53end58end