Fixes #1729.
Unified · Split
| @@ -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).remove | 13 | node.parent.before(node.parent.content).remove |
| 14 | end | 14 | 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 | end | 15 | end |
| 34 | 16 | ||
| 35 | def api_page | 17 | def api_page |
| @@ -49,5 +49,10 @@ module Docs · 48 unmodified lines | |||
| 49 | return false unless super | 49 | return false unless super |
| 50 | response.body !~ /http-equiv="refresh"/i | 50 | response.body !~ /http-equiv="refresh"/i |
| 51 | end | 51 | 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 | end | 57 | end |
| 53 | end | 58 | end |