[devdocsgjs/main: 1865/1867] Update Kotlin documentation (1.6.0)
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/main: 1865/1867] Update Kotlin documentation (1.6.0)
- Date: Fri, 19 Nov 2021 23:48:23 +0000 (UTC)
commit 1378b3878edb917f5e6ca992e8ea30433cd7b9c6
Author: Simon Legner <Simon Legner gmail com>
Date: Thu Nov 18 04:01:43 2021 +0100
Update Kotlin documentation (1.6.0)
lib/docs/filters/kotlin/clean_html.rb | 8 +++++++-
lib/docs/filters/kotlin/entries.rb | 15 +++++++-------
lib/docs/scrapers/kotlin.rb | 37 ++++++++++++++++++++++-------------
3 files changed, 38 insertions(+), 22 deletions(-)
---
diff --git a/lib/docs/filters/kotlin/clean_html.rb b/lib/docs/filters/kotlin/clean_html.rb
index 0d14c058..e65216d5 100644
--- a/lib/docs/filters/kotlin/clean_html.rb
+++ b/lib/docs/filters/kotlin/clean_html.rb
@@ -2,7 +2,6 @@ module Docs
class Kotlin
class CleanHtmlFilter < Filter
def call
- @doc = at_css('.page-content')
subpath.start_with?('api') ? api_page : doc_page
doc
end
@@ -14,6 +13,13 @@ module Docs
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')
diff --git a/lib/docs/filters/kotlin/entries.rb b/lib/docs/filters/kotlin/entries.rb
index 2afb1e86..96578e50 100644
--- a/lib/docs/filters/kotlin/entries.rb
+++ b/lib/docs/filters/kotlin/entries.rb
@@ -6,25 +6,26 @@ module Docs
breadcrumbs[1..-1].join('.')
else
node = (at_css('h1') || at_css('h2'))
- return node.content unless node.nil?
- subpath[/\/([a-z0-9_-]+)\./][1..-2].titleize.sub('Faq', 'FAQ')
+ return [breadcrumbs[1..], [node.content]].flatten.join(': ') unless node.nil?
end
end
def get_type
if subpath.start_with?('api')
breadcrumbs[1]
- elsif subpath.start_with?('docs/tutorials')
- 'Tutorials'
- elsif subpath.start_with?('docs/reference')
- 'Reference'
+ else
+ breadcrumbs[0]
end
end
private
def breadcrumbs
- @breadcrumbs ||= css('.api-docs-breadcrumbs a').map(&:content).map(&:strip)
+ if subpath.start_with?('api')
+ @breadcrumbs ||= css('.api-docs-breadcrumbs a').map(&:content).map(&:strip)
+ else
+ @breadcrumbs ||= doc.document.at_css('body')['data-breadcrumbs'].split('///')
+ end
end
end
end
diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb
index 91ca19ff..c9291a89 100644
--- a/lib/docs/scrapers/kotlin.rb
+++ b/lib/docs/scrapers/kotlin.rb
@@ -1,7 +1,6 @@
module Docs
class Kotlin < UrlScraper
self.type = 'kotlin'
- self.release = '1.4.10'
self.base_url = 'https://kotlinlang.org/'
self.root_path = 'api/latest/jvm/stdlib/index.html'
self.links = {
@@ -11,9 +10,8 @@ module Docs
html_filters.push 'kotlin/entries', 'kotlin/clean_html'
- options[:container] = '.global-content'
-
- options[:only_patterns] = [/\Adocs\/tutorials\//, /\Adocs\/reference\//, /\Aapi\/latest\/jvm\/stdlib\//]
+ options[:container] = 'article'
+ options[:only_patterns] = [/\Adocs\//, /\Aapi\/latest\/jvm\/stdlib\//]
options[:skip_patterns] = [/stdlib\/org\./]
options[:skip] = %w(
api/latest/jvm/stdlib/alltypes/index.html
@@ -22,23 +20,34 @@ module Docs
docs/events.html
docs/resources.html
docs/reference/grammar.html)
- options[:replace_paths] = {
- 'api/latest/jvm/stdlib/' => 'api/latest/jvm/stdlib/index.html',
- 'docs/reference/coroutines.html' => 'docs/reference/coroutines-overview.html',
- 'api/latest/jvm/stdlib/kotlin/fold.html' => 'api/latest/jvm/stdlib/kotlin.collections/fold.html',
- 'api/latest/jvm/stdlib/kotlin/get-or-else.html' =>
'api/latest/jvm/stdlib/kotlin.collections/get-or-else.html',
- 'api/latest/jvm/stdlib/kotlin/map.html' => 'api/latest/jvm/stdlib/kotlin.collections/map.html',
- 'docs/tutorials/native/targeting-multiple-platforms.html' =>
'docs/tutorials/native/basic-kotlin-native-app.html',
- 'api/latest/jvm/stdlib/kotlin/-throwable/print-stack-trace.html' =>
'api/latest/jvm/stdlib/kotlin/print-stack-trace.html',
- }
+
+ options[:fix_urls] = ->(url) do
+ url.sub! %r{/docs/reference/}, '/docs/'
+ url
+ end
options[:attribution] = <<-HTML
- © 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors<br>
+ © 2010–2021 JetBrains s.r.o. and Kotlin Programming Language contributors<br>
Licensed under the Apache License, Version 2.0.
HTML
+ version '1.6' do
+ self.release = '1.6.0'
+ end
+
+ version '1.4' do
+ self.release = '1.4.10'
+ end
+
def get_latest_version(opts)
get_latest_github_release('JetBrains', 'kotlin', opts)
end
+
+ private
+
+ def process_response?(response)
+ return false unless super
+ response.body !~ /http-equiv="refresh"/i
+ end
end
end
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]