From 2f9608662f842bdade887014031b490faa266cdf Mon Sep 17 00:00:00 2001 From: Jamie Ly Date: Sat, 21 Oct 2017 22:51:20 -0400 Subject: [PATCH 0001/2822] Adds scala documentation --- assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_scala.scss | 4 + lib/docs/filters/scala/clean_html.rb | 99 +++++++++++++++++++ lib/docs/filters/scala/clean_html_210.rb | 32 ++++++ lib/docs/filters/scala/clean_html_212.rb | 36 +++++++ lib/docs/filters/scala/entries.rb | 65 ++++++++++++ lib/docs/scrapers/scala.rb | 80 +++++++++++++++ public/icons/docs/scala/16.png | Bin 0 -> 944 bytes public/icons/docs/scala/16@2x.png | Bin 0 -> 1843 bytes 10 files changed, 318 insertions(+) create mode 100644 assets/stylesheets/pages/_scala.scss create mode 100644 lib/docs/filters/scala/clean_html.rb create mode 100644 lib/docs/filters/scala/clean_html_210.rb create mode 100644 lib/docs/filters/scala/clean_html_212.rb create mode 100644 lib/docs/filters/scala/entries.rb create mode 100644 lib/docs/scrapers/scala.rb create mode 100644 public/icons/docs/scala/16.png create mode 100644 public/icons/docs/scala/16@2x.png diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index d480f7209a..3c407b58b6 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -85,6 +85,7 @@ 'pages/rfc', 'pages/rubydoc', 'pages/rust', + 'pages/scala', 'pages/sinon', 'pages/socketio', 'pages/sphinx', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 4fdc2a1413..0b5a71eeee 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -85,6 +85,7 @@ 'pages/rfc', 'pages/rubydoc', 'pages/rust', + 'pages/scala', 'pages/sinon', 'pages/socketio', 'pages/sphinx', diff --git a/assets/stylesheets/pages/_scala.scss b/assets/stylesheets/pages/_scala.scss new file mode 100644 index 0000000000..b2beb118c1 --- /dev/null +++ b/assets/stylesheets/pages/_scala.scss @@ -0,0 +1,4 @@ +._scala { + @extend %simple; + .deprecated { @extend %label-red; } +} diff --git a/lib/docs/filters/scala/clean_html.rb b/lib/docs/filters/scala/clean_html.rb new file mode 100644 index 0000000000..95097c80e5 --- /dev/null +++ b/lib/docs/filters/scala/clean_html.rb @@ -0,0 +1,99 @@ +module Docs + class Scala + class CleanHtmlFilter < Filter + def call + always + + if slug == 'index' + root + else + other + end + end + + def always + # remove deprecated sections + css('.members').each do |members| + header = members.at_css('h3') + members.remove if header.text.downcase.include? 'deprecate' + end + # Some of this is just for 2.12 + # These are things that provide interactive features, which are not supported yet. + css('#subpackage-spacer, #search, #mbrsel, .diagram-btn').remove + css('#footer').remove + css('.toggleContainer').remove + + signature = at_css('#signature') + signature.replace %Q| +

#{signature.inner_html}

+ | + + css('div.members > h3').each do |node| + change_tag! 'h2', node + end + + css('div.members > ol').each do |list| + list.css('li').each do |li| + h3 = doc.document.create_element 'h3' + li.prepend_child h3 + li.css('.shortcomment').remove + modifier = li.at_css('.modifier_kind') + modifier.parent = h3 if modifier + symbol = li.at_css('.symbol') + symbol.parent = h3 if symbol + li.swap li.children + end + list.swap list.children + end + + pres = css('.fullcomment pre, .fullcommenttop pre') + pres.each do |pre| + pre['data-language'] = 'scala' + end + pres.add_class 'language-scala' + + + + doc + + end + + def root + css('#filter').remove # these are filters to search through the types and packages + css('#library').remove # these are icons at the top + doc + end + + def other + # these are sections of the documentation which do not seem useful + %w(#inheritedMembers #groupedMembers .permalink .hiddenContent .material-icons).each do |selector| + css(selector).remove + end + + # This is the kind of thing we have, class, object, trait + kind = at_css('.modifier_kind .kind').content + # this image replacement doesn't do anything on 2.12 docs + img = at_css('img') + img.replace %Q|#{kind}| unless img.nil? + class_to_add = kind == 'object' ? 'value': 'type' + + # for 2.10, 2.11, the kind class is associated to the body. we have to + # add it somewhere, so we do that with the #definition. + definition = css('#definition') + definition.css('.big_circle').remove + definition.add_class class_to_add + + # this is something that is not shown on the site, such as deprecated members + css('li[visbl=prt]').remove + + doc + end + + private + + def change_tag!(new_tag, node) + node.replace %Q|<#{new_tag}>#{node.inner_html}| + end + end + end +end diff --git a/lib/docs/filters/scala/clean_html_210.rb b/lib/docs/filters/scala/clean_html_210.rb new file mode 100644 index 0000000000..3160f10386 --- /dev/null +++ b/lib/docs/filters/scala/clean_html_210.rb @@ -0,0 +1,32 @@ +module Docs + class Scala + class CleanHtml210Filter < Filter + def call + definition = at_css('#definition') + begin + type = definition.at_css('.img_kind').text + name = definition.at_css('h1').text.strip + + package = definition.at_css('#owner').text rescue '' + package = package + '.' unless name.empty? || name.start_with?('root') + + other = definition.at_css('.morelinks').dup + other_content = other ? "

#{other.to_html}

" : '' + + definition.replace %Q| +

#{type} #{package}#{name}

+ #{other_content} + | + end if definition + + doc + end + + private + + def change_tag!(new_tag, node) + node.replace %Q|<#{new_tag}>#{node.inner_html}| + end + end + end +end diff --git a/lib/docs/filters/scala/clean_html_212.rb b/lib/docs/filters/scala/clean_html_212.rb new file mode 100644 index 0000000000..7b4b1fe2c5 --- /dev/null +++ b/lib/docs/filters/scala/clean_html_212.rb @@ -0,0 +1,36 @@ +module Docs + class Scala + class CleanHtml212Filter < Filter + def call + css('.permalink').remove + + definition = at_css('#definition') + begin + type_full_name = {c: 'class', t: 'trait', o: 'object', 'p': 'package'} + type = type_full_name[definition.at_css('.big-circle').text.to_sym] + name = definition.at_css('h1').text + + package = definition.at_css('#owner').text rescue '' + package = package + '.' unless name.empty? || package.empty? + + other = definition.at_css('.morelinks').dup + other_content = other ? "

#{other.to_html}

" : '' + + definition.replace %Q| +

#{type} #{package}#{name}

+ #{other_content} + | + + end if definition + + doc + end + + private + + def change_tag!(new_tag, node) + node.replace %Q|<#{new_tag}>#{node.inner_html}| + end + end + end +end diff --git a/lib/docs/filters/scala/entries.rb b/lib/docs/filters/scala/entries.rb new file mode 100644 index 0000000000..d328764cc7 --- /dev/null +++ b/lib/docs/filters/scala/entries.rb @@ -0,0 +1,65 @@ +module Docs + class Scala + class EntriesFilter < Docs::EntriesFilter + def get_name + # this first condition is mainly for scala 212 docs, which + # have their package listing as index.html + if is_package? + symbol = at_css('#definition h1') + symbol ? symbol.text.gsub(/\W+/, '') : "package" + else + slug.split('/').last + end + end + + def get_type + # if this entry is for a package, we group the package under the parent package + if is_package? + parent_package + # otherwise, group it under the regular package name + else + package_name + end + end + + def include_default_entry? + true + end + + private + + # For the package name, we use the slug rather than parsing the package + # name from the HTML because companion object classes may be broken out into + # their own entries (by the source documentation). When that happens, + # we want to group these classes (like `scala.reflect.api.Annotations.Annotation`) + # under the package name, and not the fully-qualfied name which would + # include the companion object. + def package_name + name = package_drop_last(slug_parts) + name.empty? ? '_root_' : name + end + + def parent_package + name = package_name + parent = package_drop_last(package_name.split('.')) + parent.empty? ? '_root_' : parent + end + + def package_drop_last(parts) + parts[0...-1].join('.') + end + + def slug_parts + slug.split('/') + end + + def owner + at_css('#owner') + end + + def is_package? + slug.ends_with?('index') || slug.ends_with?('package') + end + end + end +end diff --git a/lib/docs/scrapers/scala.rb b/lib/docs/scrapers/scala.rb new file mode 100644 index 0000000000..6b6d6bb20c --- /dev/null +++ b/lib/docs/scrapers/scala.rb @@ -0,0 +1,80 @@ +module Docs + class Scala < FileScraper + include FixInternalUrlsBehavior + + self.name = 'scala' + self.type = 'scala' + self.links = { + home: 'http://www.scala-lang.org/', + code: 'https://github.com/scala/scala' + } + + version '2.12 Library' do + self.release = '2.12.3' + self.dir = '/Users/Thibaut/DevDocs/Docs/Scala212/api/scala-library' # https://downloads.lightbend.com/scala/2.12.3/scala-docs-2.12.3.zip + self.base_url = 'http://www.scala-lang.org/api/2.12.3/' + self.root_path = 'index.html' + options[:attribution] = <<-HTML + Scala programming documentation. Copyright (c) 2003-2017 EPFL, with contributions from Lightbend. + HTML + html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_212' + end + + version '2.12 Reflection' do + self.release = '2.12.3' + self.dir = '/Users/Thibaut/DevDocs/Docs/Scala212/api/scala-reflect' # https://downloads.lightbend.com/scala/2.12.3/scala-docs-2.12.3.zip + self.base_url = 'http://www.scala-lang.org/api/2.12.3/scala-reflect/' + self.root_path = 'index.html' + options[:attribution] = <<-HTML + Scala programming documentation. Copyright (c) 2003-2017 EPFL, with contributions from Lightbend. + HTML + html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_212' + end + + version '2.11 Library' do + self.release = '2.11.8' + self.dir = '/Users/Thibaut/DevDocs/Docs/Scala211/api/scala-library' # https://downloads.lightbend.com/scala/2.11.8/scala-docs-2.11.8.zip + self.base_url = 'http://www.scala-lang.org/api/2.11.8/' + self.root_path = 'package.html' + options[:skip_patterns] = [/^index.html/, /index\/index-/] + options[:attribution] = <<-HTML + Scala programming documentation. Copyright (c) 2003-2016 EPFL, with contributions from Lightbend. + HTML + html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + end + + version '2.11 Reflection' do + self.release = '2.11.8' + self.dir = '/Users/Thibaut/DevDocs/Docs/Scala211/api/scala-reflect' # https://downloads.lightbend.com/scala/2.11.8/scala-docs-2.11.8.zip + self.base_url = 'http://www.scala-lang.org/api/2.11.8/scala-reflect/' + self.root_path = 'package.html' + options[:skip_patterns] = [/^index.html/, /index\/index-/] + options[:attribution] = <<-HTML + Scala programming documentation. Copyright (c) 2003-2016 EPFL, with contributions from Lightbend. + HTML + html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + end + + version '2.10' do + self.release = '2.10.6' + self.dir = '/Users/Thibaut/DevDocs/Docs/Scala210' # https://downloads.lightbend.com/scala/2.10.6/scala-docs-2.10.6.zip + self.base_url = 'http://www.scala-lang.org/api/2.10.6/' + self.root_path = 'package.html' + options[:skip_patterns] = [/^index.html/, /index\/index-/] + options[:attribution] = <<-HTML + Scala programming documentation. Copyright (c) 2003-2013 EPFL, with contributions from Typesafe. + HTML + html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + end + end +end diff --git a/public/icons/docs/scala/16.png b/public/icons/docs/scala/16.png new file mode 100644 index 0000000000000000000000000000000000000000..429ed7df29b85da3cc2d26215945b30014465d38 GIT binary patch literal 944 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 Xl>A#sPxsj8_P;T#8xGy*63YBH63Qux literal 0 HcmV?d00001 From 330e337b7b071e745fd332763839d2a3bba4ceb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Sun, 25 Mar 2018 22:01:48 +0200 Subject: [PATCH 0002/2822] Add WordPress documentation --- assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_wordpress.scss | 11 ++++++ lib/docs/filters/wordpress/clean_html.rb | 27 +++++++++++++ lib/docs/filters/wordpress/entries.rb | 23 +++++++++++ lib/docs/scrapers/wordpress.rb | 39 +++++++++++++++++++ public/icons/docs/wordpress/16.png | Bin 0 -> 958 bytes public/icons/docs/wordpress/16@2x.png | Bin 0 -> 3284 bytes public/icons/docs/wordpress/SOURCE | 1 + 9 files changed, 103 insertions(+) create mode 100644 assets/stylesheets/pages/_wordpress.scss create mode 100644 lib/docs/filters/wordpress/clean_html.rb create mode 100644 lib/docs/filters/wordpress/entries.rb create mode 100644 lib/docs/scrapers/wordpress.rb create mode 100644 public/icons/docs/wordpress/16.png create mode 100644 public/icons/docs/wordpress/16@2x.png create mode 100644 public/icons/docs/wordpress/SOURCE diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index c8dc1f8f05..fd92bdd3bc 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -98,5 +98,6 @@ 'pages/underscore', 'pages/vue', 'pages/webpack', + 'pages/wordpress', 'pages/yard', 'pages/yii'; diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 26e0b8855e..4d59a29c88 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -98,5 +98,6 @@ 'pages/underscore', 'pages/vue', 'pages/webpack', + 'pages/wordpress', 'pages/yard', 'pages/yii'; diff --git a/assets/stylesheets/pages/_wordpress.scss b/assets/stylesheets/pages/_wordpress.scss new file mode 100644 index 0000000000..7812465252 --- /dev/null +++ b/assets/stylesheets/pages/_wordpress.scss @@ -0,0 +1,11 @@ +._wordpress { + @extend %simple; + + .breadcrumbs { + display: none; + } + + .callout-warning { + @extend %note, %note-red; + } +} \ No newline at end of file diff --git a/lib/docs/filters/wordpress/clean_html.rb b/lib/docs/filters/wordpress/clean_html.rb new file mode 100644 index 0000000000..dcc4f3973f --- /dev/null +++ b/lib/docs/filters/wordpress/clean_html.rb @@ -0,0 +1,27 @@ +module Docs + class Wordpress + class CleanHtmlFilter < Filter + def call + if root_page? + doc.inner_html = '

WordPress

' + return doc + end + + css('hr', '.screen-reader-text', '.table-of-contents', + '.anchor', '.toc-jump', '.source-code-links', '.related', + '.user-notes').remove + + # Add PHP code highlighting + br = //i + css('.source-code-container', '.syntaxhighlighter').each do |node| + node.name = 'pre' + node.inner_html = node.inner_html.gsub(br, "\n") + node.content = node.content.strip + node['data-language'] = 'php' + end + + doc + end + end + end +end \ No newline at end of file diff --git a/lib/docs/filters/wordpress/entries.rb b/lib/docs/filters/wordpress/entries.rb new file mode 100644 index 0000000000..012db13434 --- /dev/null +++ b/lib/docs/filters/wordpress/entries.rb @@ -0,0 +1,23 @@ +module Docs + class Wordpress + class EntriesFilter < Docs::EntriesFilter + def breadcrumbs + @breadcrumbs ||= css('.breadcrumbs .trail-inner a') + .map(&:content) + .map(&:strip) + end + + def get_name + at_css('.breadcrumbs .trail-end').content + end + + def get_type + if breadcrumbs.size > 1 + breadcrumbs.drop(1).join(': ') + else + at_css('.breadcrumbs .trail-end').content + end + end + end + end +end \ No newline at end of file diff --git a/lib/docs/scrapers/wordpress.rb b/lib/docs/scrapers/wordpress.rb new file mode 100644 index 0000000000..472013ac37 --- /dev/null +++ b/lib/docs/scrapers/wordpress.rb @@ -0,0 +1,39 @@ +module Docs + class Wordpress < UrlScraper + self.name = 'WordPress' + self.type = 'wordpress' + self.release = '4.9.4' + self.base_url = 'https://developer.wordpress.org/reference/' + self.initial_paths = %w( + functions/ + hooks/ + classes/ + ) + + self.links = { + home: 'https://wordpress.org/', + code: 'https://github.com/WordPress/WordPress' + } + + html_filters.push 'wordpress/clean_html', 'wordpress/entries' + + options[:container] = '#content-area' + options[:trailing_slash] = true + options[:only_patterns] = [ + /\Afunctions\//, + /\Ahooks\//, + /\Aclasses\// + ] + + options[:skip_patterns] = [ + /\Afunctions\/page\/\d+/, + /\Ahooks\/page\/\d+/, + /\Aclasses\/page\/\d+/ + ] + + options[:attribution] = <<-HTML + © 2003–2018 WordPress Foundation
+ Licensed under the GNU GPLv2+ License. + HTML + end +end \ No newline at end of file diff --git a/public/icons/docs/wordpress/16.png b/public/icons/docs/wordpress/16.png new file mode 100644 index 0000000000000000000000000000000000000000..13f3fa64dd7aee3835861516bd4a5e51de297ac7 GIT binary patch literal 958 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 literal 0 HcmV?d00001 diff --git a/public/icons/docs/wordpress/SOURCE b/public/icons/docs/wordpress/SOURCE new file mode 100644 index 0000000000..1c817d62a4 --- /dev/null +++ b/public/icons/docs/wordpress/SOURCE @@ -0,0 +1 @@ +https://wordpress.org/about/logos/ \ No newline at end of file From c7da05580e82c6a7f7f0a7b958b2a49e4fc9d251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Sun, 25 Mar 2018 22:30:37 +0200 Subject: [PATCH 0003/2822] Reduce number of types --- lib/docs/filters/wordpress/entries.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/docs/filters/wordpress/entries.rb b/lib/docs/filters/wordpress/entries.rb index 012db13434..bfcd10b324 100644 --- a/lib/docs/filters/wordpress/entries.rb +++ b/lib/docs/filters/wordpress/entries.rb @@ -12,7 +12,13 @@ def get_name end def get_type - if breadcrumbs.size > 1 + if subpath.starts_with?('classes') + 'Classes' + elsif subpath.starts_with?('hooks') + 'Hooks' + elsif subpath.starts_with?('functions') + 'Functions' + elsif breadcrumbs.size > 1 breadcrumbs.drop(1).join(': ') else at_css('.breadcrumbs .trail-end').content From a8ff630f9a6fac408baa48d7a66d789234d85ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Mon, 26 Mar 2018 10:14:45 +0200 Subject: [PATCH 0004/2822] Keep "Related" section --- lib/docs/filters/wordpress/clean_html.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/docs/filters/wordpress/clean_html.rb b/lib/docs/filters/wordpress/clean_html.rb index dcc4f3973f..388b3cba30 100644 --- a/lib/docs/filters/wordpress/clean_html.rb +++ b/lib/docs/filters/wordpress/clean_html.rb @@ -8,8 +8,7 @@ def call end css('hr', '.screen-reader-text', '.table-of-contents', - '.anchor', '.toc-jump', '.source-code-links', '.related', - '.user-notes').remove + '.anchor', '.toc-jump', '.source-code-links', '.user-notes').remove # Add PHP code highlighting br = //i From 8d656ab63fec93c8b04998c914af071ef383c7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Mon, 26 Mar 2018 10:19:08 +0200 Subject: [PATCH 0005/2822] Add styling for alert callouts --- assets/stylesheets/pages/_wordpress.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/stylesheets/pages/_wordpress.scss b/assets/stylesheets/pages/_wordpress.scss index 7812465252..1da15abd23 100644 --- a/assets/stylesheets/pages/_wordpress.scss +++ b/assets/stylesheets/pages/_wordpress.scss @@ -8,4 +8,8 @@ .callout-warning { @extend %note, %note-red; } + + .callout-alert { + @extend %note, %note-orange; + } } \ No newline at end of file From fde45213f402dfe87d4edce8d22a6d8eeed21b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Mon, 26 Mar 2018 10:59:20 +0200 Subject: [PATCH 0006/2822] Remove "Show / Hide more" links --- lib/docs/filters/wordpress/clean_html.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/docs/filters/wordpress/clean_html.rb b/lib/docs/filters/wordpress/clean_html.rb index 388b3cba30..9170804525 100644 --- a/lib/docs/filters/wordpress/clean_html.rb +++ b/lib/docs/filters/wordpress/clean_html.rb @@ -8,7 +8,8 @@ def call end css('hr', '.screen-reader-text', '.table-of-contents', - '.anchor', '.toc-jump', '.source-code-links', '.user-notes').remove + '.anchor', '.toc-jump', '.source-code-links', '.user-notes', + '.show-more', '.hide-more').remove # Add PHP code highlighting br = //i From 577b4a62d72c31915c27fbc42c67ae077bff64c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szabolcs=20L=C3=A9gr=C3=A1di?= Date: Mon, 26 Mar 2018 10:59:56 +0200 Subject: [PATCH 0007/2822] Fix syntax highlighting in `pre` tags --- lib/docs/filters/wordpress/clean_html.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/docs/filters/wordpress/clean_html.rb b/lib/docs/filters/wordpress/clean_html.rb index 9170804525..42ca5f2959 100644 --- a/lib/docs/filters/wordpress/clean_html.rb +++ b/lib/docs/filters/wordpress/clean_html.rb @@ -11,9 +11,14 @@ def call '.anchor', '.toc-jump', '.source-code-links', '.user-notes', '.show-more', '.hide-more').remove - # Add PHP code highlighting br = //i - css('.source-code-container', '.syntaxhighlighter').each do |node| + + # Add PHP code highlighting + css('pre').each do |node| + node['data-language'] = 'php' + end + + css('.source-code-container').each do |node| node.name = 'pre' node.inner_html = node.inner_html.gsub(br, "\n") node.content = node.content.strip From 4b12335b1941d05aa23d51e5af3a437c80da35af Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 4 Jul 2018 15:08:36 +0200 Subject: [PATCH 0008/2822] Fix #829 --- .gitignore | 2 ++ assets/javascripts/views/sidebar/sidebar.coffee | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8b22282640..9c439451e9 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ public/fonts public/docs/**/* !public/docs/docs.json !public/docs/**/index.json +.idea +log diff --git a/assets/javascripts/views/sidebar/sidebar.coffee b/assets/javascripts/views/sidebar/sidebar.coffee index c8dc52a6d2..f3ae3bd406 100644 --- a/assets/javascripts/views/sidebar/sidebar.coffee +++ b/assets/javascripts/views/sidebar/sidebar.coffee @@ -28,7 +28,7 @@ class app.views.Sidebar extends app.View app.on 'ready', @onReady - $.on document.documentElement, 'mouseleave', (event) => @display() if event.clientX < 10 + $.on document.documentElement, 'mouseleave', (event) => @display() unless event.clientX <= 0 $.on document.documentElement, 'mouseenter', => @resetDisplay(forceNoHover: false) return From fd6afbeba0d7c7d1d636c69cff78613e489e6811 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 29 Jul 2018 23:45:40 +0200 Subject: [PATCH 0009/2822] Remove editor-specifics from .gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9c439451e9..a2e89741d0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ public/fonts public/docs/**/* !public/docs/docs.json !public/docs/**/index.json -.idea log From c13fffd0814f91c83bf531bf70b4962b7898810e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 30 Jul 2018 16:54:07 +0200 Subject: [PATCH 0010/2822] Automatically generate docs.json when it's needed --- .gitignore | 3 --- lib/app.rb | 3 +++ public/docs/.gitignore | 2 ++ public/docs/docs.json | 1 - 4 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 public/docs/.gitignore delete mode 100644 public/docs/docs.json diff --git a/.gitignore b/.gitignore index 8b22282640..ac523dbedd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,3 @@ tmp public/assets public/fonts -public/docs/**/* -!public/docs/docs.json -!public/docs/**/index.json diff --git a/lib/app.rb b/lib/app.rb index b5015b3ac9..217f2c16fa 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -35,6 +35,9 @@ class App < Sinatra::Application set :csp, false + require 'docs' + Docs.generate_manifest + Dir[docs_path, root.join(assets_prefix, '*/')].each do |path| sprockets.append_path(path) end diff --git a/public/docs/.gitignore b/public/docs/.gitignore new file mode 100644 index 0000000000..d6b7ef32c8 --- /dev/null +++ b/public/docs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/public/docs/docs.json b/public/docs/docs.json deleted file mode 100644 index 0637a088a0..0000000000 --- a/public/docs/docs.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file From 5e946320f74a00175148bb750e4584dbfd2909d7 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 30 Jul 2018 18:09:19 +0200 Subject: [PATCH 0011/2822] Ignore entire public/docs folder --- .gitignore | 1 + public/docs/.gitignore | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 public/docs/.gitignore diff --git a/.gitignore b/.gitignore index ac523dbedd..8a4dc42f55 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ tmp public/assets public/fonts +public/docs diff --git a/public/docs/.gitignore b/public/docs/.gitignore deleted file mode 100644 index d6b7ef32c8..0000000000 --- a/public/docs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore From e894a2f3eeaf0c840d368ba4a4e7f036d427fbd2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 6 Aug 2018 14:03:55 +0200 Subject: [PATCH 0012/2822] Add MariaDB documentation Switch to UrlScraper Refactoring --- .gitignore | 1 + .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/application-dark.css.scss | 1 + assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_mariadb.scss | 7 ++ lib/docs/filters/mariadb/clean_html.rb | 71 +++++++++++++++++++ lib/docs/filters/mariadb/entries.rb | 14 ++++ lib/docs/scrapers/mariadb.rb | 22 ++++++ 8 files changed, 122 insertions(+) create mode 100644 assets/stylesheets/pages/_mariadb.scss create mode 100644 lib/docs/filters/mariadb/clean_html.rb create mode 100644 lib/docs/filters/mariadb/entries.rb create mode 100644 lib/docs/scrapers/mariadb.rb diff --git a/.gitignore b/.gitignore index 8b22282640..a2e89741d0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ public/fonts public/docs/**/* !public/docs/docs.json !public/docs/**/index.json +log diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fef9a0246d..e9d6a748f1 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -410,6 +410,11 @@ credits = [ '2006-2016 LÖVE Development Team', 'GFDL', 'http://www.gnu.org/copyleft/fdl.html' + ], [ + 'MariaDB', + '2018 MariaDB', + 'CC BY-SA & GFDL', + 'https://mariadb.com/kb/en/library/documentation/+license/' ], [ 'Marionette.js', '2017 Muted Solutions, LLC', diff --git a/assets/stylesheets/application-dark.css.scss b/assets/stylesheets/application-dark.css.scss index 4500f90f94..9f6b3a7d07 100644 --- a/assets/stylesheets/application-dark.css.scss +++ b/assets/stylesheets/application-dark.css.scss @@ -64,6 +64,7 @@ 'pages/liquid', 'pages/love', 'pages/lua', + 'pages/mariadb', 'pages/mdn', 'pages/meteor', 'pages/modernizr', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index f7321135e2..64b85f1f01 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -64,6 +64,7 @@ 'pages/liquid', 'pages/love', 'pages/lua', + 'pages/mariadb', 'pages/mdn', 'pages/meteor', 'pages/modernizr', diff --git a/assets/stylesheets/pages/_mariadb.scss b/assets/stylesheets/pages/_mariadb.scss new file mode 100644 index 0000000000..ef6144cefb --- /dev/null +++ b/assets/stylesheets/pages/_mariadb.scss @@ -0,0 +1,7 @@ +._mariadb { + @extend %simple; + + .graybox { + @extend %note; + } +} diff --git a/lib/docs/filters/mariadb/clean_html.rb b/lib/docs/filters/mariadb/clean_html.rb new file mode 100644 index 0000000000..ffbbb160f2 --- /dev/null +++ b/lib/docs/filters/mariadb/clean_html.rb @@ -0,0 +1,71 @@ +require 'net/http' + +module Docs + class Mariadb + class CleanHtmlFilter < Filter + @@known_urls = Hash.new + + def call + # Extract main content + @doc = at_css('#content') + + # Remove navigation at the bottom + css('.simple_section_nav').remove + + # Remove table of contents + css('.table_of_contents').remove + + # Add code highlighting and remove nested tags + css('pre').each do |node| + node.content = node.content + node['data-language'] = 'sql' + end + + # Fix links like http://kb-mirror.mariadb.com/kb/en/bitwise-or/ to not redirect to an external page + css('a').each do |node| + url = node['href'] + + if /^http:\/\/kb-mirror\.mariadb\.com\/kb\/en\/[^\/]+\/(#[^\/]+)?$/.match?(url) + final_url = get_final_url(url) + + if !final_url.nil? && final_url.start_with?('/kb/en/library/documentation/') + node['href'] = "#{'../' * subpath.count('/')}#{final_url[29..-1]}index" + end + end + end + + # Remove navigation items containing only numbers + css('.node_comments').each do |node| + if node.content.scan(/\D/).empty? + node.remove + end + end + + # Convert listings (pages like http://kb-mirror.mariadb.com/kb/en/library/documentation/sql-statements-structure/) into tables + css('ul.listing').each do |node| + rows = [] + + node.css('li').each do |li| + name = li.at_css('.media-heading').content + description = li.at_css('.blurb').content + url = li.at_css('a')['href'] + rows << "#{name}#{description}" + end + + table = "#{rows.join('')}
TitleDescription
" + node.replace(table) + end + + doc + end + + def get_final_url(url) + unless @@known_urls.has_key?(url) + @@known_urls[url] = Net::HTTP.get_response(URI(url))['location'] + end + + @@known_urls[url] + end + end + end +end diff --git a/lib/docs/filters/mariadb/entries.rb b/lib/docs/filters/mariadb/entries.rb new file mode 100644 index 0000000000..32d4f6b25b --- /dev/null +++ b/lib/docs/filters/mariadb/entries.rb @@ -0,0 +1,14 @@ +module Docs + class Mariadb + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('.container > h1').content.strip + end + + def get_type + link = at_css('#breadcrumbs > a:nth-child(6)') + link.nil? ? at_css('#breadcrumbs > a:nth-child(5)').content : link.content + end + end + end +end diff --git a/lib/docs/scrapers/mariadb.rb b/lib/docs/scrapers/mariadb.rb new file mode 100644 index 0000000000..b4293a9ac2 --- /dev/null +++ b/lib/docs/scrapers/mariadb.rb @@ -0,0 +1,22 @@ +module Docs + class Mariadb < UrlScraper + self.name = 'MariaDB' + self.type = 'mariadb' + self.release = '10.3.8' + self.base_url = 'http://kb-mirror.mariadb.com/kb/en/library/documentation/' + self.links = { + home: 'https://mariadb.com/', + code: 'https://github.com/MariaDB/server' + } + + html_filters.push 'mariadb/entries', 'mariadb/clean_html', 'title' + + options[:download_images] = false + options[:root_title] = 'MariaDB' + + options[:attribution] = <<-HTML + © 2018 MariaDB
+ Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License. + HTML + end +end From 90123a3679b1e61b6675f9c82c25e8ed6561b113 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 16 Sep 2018 23:15:20 +0200 Subject: [PATCH 0013/2822] Automatically generate spritesheets --- .gitignore | 2 + Gemfile | 2 + Gemfile.lock | 7 +- assets/images/docs-1.png | Bin 46181 -> 0 bytes assets/images/docs-1@2x.png | Bin 122108 -> 0 bytes assets/images/docs-2.png | Bin 19346 -> 0 bytes assets/images/docs-2@2x.png | Bin 47420 -> 0 bytes assets/stylesheets/application-dark.css.scss | 7 +- assets/stylesheets/application.css.scss | 7 +- assets/stylesheets/global/_icons.scss | 180 ------------------ assets/stylesheets/global/_icons.scss.erb | 43 +++++ lib/app.rb | 5 + lib/tasks/assets.thor | 1 + lib/tasks/sprites.thor | 185 +++++++++++++++++++ public/icons/docs-1.pxm | Bin 3352748 -> 0 bytes public/icons/docs-1@2x.pxm | Bin 3669552 -> 0 bytes public/icons/docs-2.pxm | Bin 1343093 -> 0 bytes public/icons/docs-2@2x.pxm | Bin 1456026 -> 0 bytes public/icons/docs/bluebird/16@2x.png | Bin 1018 -> 2273 bytes 19 files changed, 250 insertions(+), 189 deletions(-) delete mode 100644 assets/images/docs-1.png delete mode 100644 assets/images/docs-1@2x.png delete mode 100644 assets/images/docs-2.png delete mode 100644 assets/images/docs-2@2x.png delete mode 100644 assets/stylesheets/global/_icons.scss create mode 100644 assets/stylesheets/global/_icons.scss.erb create mode 100644 lib/tasks/sprites.thor delete mode 100644 public/icons/docs-1.pxm delete mode 100644 public/icons/docs-1@2x.pxm delete mode 100644 public/icons/docs-2.pxm delete mode 100644 public/icons/docs-2@2x.pxm diff --git a/.gitignore b/.gitignore index 8b22282640..bf4994e422 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ public/fonts public/docs/**/* !public/docs/docs.json !public/docs/**/index.json +log/ +assets/images/sprites diff --git a/Gemfile b/Gemfile index 567d4c092c..cf709487f1 100644 --- a/Gemfile +++ b/Gemfile @@ -18,6 +18,8 @@ group :app do gem 'browser' gem 'sass' gem 'coffee-script' + gem 'chunky_png' + gem 'sprockets-sass' end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index 9708a71313..3fdb414f46 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,6 +12,7 @@ GEM erubi (>= 1.0.0) rack (>= 0.9.0) browser (2.5.3) + chunky_png (1.3.10) coderay (1.1.2) coffee-script (2.4.1) coffee-script-source @@ -93,6 +94,8 @@ GEM rack (> 1, < 3) sprockets-helpers (1.2.1) sprockets (>= 2.2) + sprockets-sass (2.0.0.beta2) + sprockets (>= 2.0, < 4.0) strings (0.1.1) unicode-display_width (~> 1.3.0) unicode_utils (~> 1.4.0) @@ -127,6 +130,7 @@ DEPENDENCIES activesupport (~> 5.2) better_errors browser + chunky_png coffee-script erubi html-pipeline @@ -146,6 +150,7 @@ DEPENDENCIES sinatra-contrib sprockets sprockets-helpers + sprockets-sass thin thor tty-pager @@ -158,4 +163,4 @@ RUBY VERSION ruby 2.5.1p57 BUNDLED WITH - 1.16.1 + 1.16.4 diff --git a/assets/images/docs-1.png b/assets/images/docs-1.png deleted file mode 100644 index c5bfb6b8d9f836a21d73883da36876924f2f27e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46181 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 diff --git a/assets/images/docs-1@2x.png b/assets/images/docs-1@2x.png deleted file mode 100644 index 1f81ecd969fc963fe40a7a897016f9db2bd0f4c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122108 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 yl*GJB=gw$-v7v=~_ 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ΠU&4qvuAB98WTRXr^=>ni@y&-B`329XW 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�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

%<~R^I))Lk>ZO}&PR~#3$&vy(m~px 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

Op#rY%{ZTeu>cD(cu=9p1#FqQFz3 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¬YBo@odK{EB^UEpION9foOTCycR};O-CZzL@w=Vq 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

q3z;uG^kU45^EYA}r*1s8sdm$m zmxjOe;miGA-nO~d<`-Ydf91(n(_UTnTI_3!wuEh&v*p6;(_TNlwR!8wH^#qlY+LoV zkKY{j=Kk%2w(s82f5+QzS>Jkdr(x&oZ})!t)pvTn^YXjecQ?JKesAM0)vg!cSH1t@ zZuRbsA80;!X^(Et<_~ZAaLeApy>IL@?|W;1@&5M?3_S4RM}t55&%u!gkNl_RKPL{= zANuL=q{C-Fc74MBWd5guPnUd_^x2Bfvp-*dM1AD7qvoT#zNq-(<74(?-+kHo<+Nn!h`Ha_;w0-#_$2)(UA5q|ItG3BUxTMsCm=t#U%GHIT5mSFJIt z<*;K#=K&(N=oEw*!X#i%qP?jhznNlOa&9NpZtRT?381O6II2&fslo4p*9H&j5J;y=W4%v5cuc9=_E|7|lAl#i+E%l@?qh*XcA$xdAtmW*y{M%tkrvp;LLmxgo~N z413@K6EJAVU3LJ?l*M?TeDGVfyD>&t0kkwL+B==P0i3v^kM0gg$-~sc4W*`V;&Sr#rni)LgcF^nf4Lx+9^b_WO>XW~5|l7Xm?xDQtHC5EwK~9w zQ&KNylL?oTfDNNon$-riLJhnyY6AD5v1)Wytwy0ysYrA1-4e)}D`j|}U+^H+!N0-+ znGrH-Up%EB1&^}Yjb|Ug`+?H`;~|)XKa97Y$Bi5vu{k0-d_3%Vj0vp;+j9c9o%0?i zgFO}Yu4XW&!tU5iYz7qnKm3`MrSQuA-GCwMhWHoAFv%={c@E;V*`g+_Ix8+Ws&Fm9 zUXi$5YX;K?#E2QqxI$$F6c0HdnP|LVaz|0l*zqoSvO#@ zgI~*TNCNQ+W?6aOVcHEq-EOQAfecewuD4SGK1QjtSO9d-1V%fs*BRjP>%cmvCM{-# z&TOz~v~n1hD#Bx&0PT&inoUZzS{eMh8^CHdD=Wv_soj8s?S>|OLoZ$5^UwA@e=}*) znStYi1dv&nSkS3D4WW}8H3qZ6sL<&Q8eER6pzA$vT`kOg!l(e%nCM1R1CT~$Wn_88 z(BR3gf?lNpv7pIh-j{Ch=-}O$P=P%A9#W4L1@P$&Djg0c5K;xk5T#kJ)skwt1|%^jXs)fGRgXZH`waIa3bl0uWcTlR zF=eHDr+YVGw!1Oi16f3+J-kwO@aTTQt8;-gG%L;9r`^ED?1sG|khLjG;%%y$FyUH& z)RY4w8O(V#tosH4u9a&|CJUJM)oMWTk?UXsvR8sq8FT=JYO&(Ldl9_HB#@?Nrh0@@ zHLlbW@CK5@f&-2Ss}+0@7Apa-DWy(pR$CM}2{5~AkV8H1CBmdMTXCh4P+5YW`T?y^ zDemGDg_UE82nTUM8wNXayK;87Chfs@Dg4i9h&IvP(#odmBDvt zAfq!g!841xL2(?ki7^0Cgwp>-=yS^d|1=Ma92W6igfaYquwTRO2>m>CQpm253~mQ! z4@b(L1*lbd%-M`X3K1tD9j^m?8&ghFjn1B|9x8T4ZaU|7rgQo|bTMZps(bVE1@WTB8+sTUbUeEMI`vZa<_^GKL1tlNeYbL_1vKUR^$fk^iD$k2dVa5$grAY_+qB?j5JAf{gT6`-- z&~$mhuV{g+6f(10GyvlYZZ+Yg62yHHbUmfPr~&YE;J;F6Ocskur636tKya(nT8~12 zgZWjd#Z6|T#n6q1A3&GNOx{r%Jm*9=WSBq<#aTwLxYZ5Z@oq?lflR0#2DdJ#(phvS z+@O<#$&U(!f?)s@5+v{#z(Qo9L_lC^*Q&gcP#_H|bV{p5r2*QOAU*1V$b>Sz_sNqw z2-4EPDrr{3>ZzoRlwh@>Y(WNGhlAv2gi+f?Bcs!T=|=%UUSJ1O8^MQQQpn9oWEqv(s3NQuSbj8MtA^(aY$qBWj8TQjq){56+YBmj7OA`z z3j$ZFfOCUX0uEHrqco5XmEGcgH(|DJa9sxfZVEti9p8&R6NOX<-6=P+W_x^l(w^Qi z7Cc#R@NdBYp4|i;m>9wRAN+v6p*7djDLu6AB^L+Vv_cK9S|cd4zz<{r^Bb&EuzXo? zAfZ%%a08;ER}oj>TAh-Fm$K5L3tDpwphIR!HSQ%B!fQz@ZZc?1a*Nt(q%7~SaGD`P zioiiRC#))1JQQ*@4k3bWicEk?(`gB%23Fo~tYbGa!h8`XYHvevBe;f?An%z819*sZ zU^)Oh0ma{GG=WvyY6Nov{P2n|;LIYS%Pn9{Fm>bIaN`ZFQ^6_*L#!Jj$PK-Syc199 zop`|$K?FY+0`cu-k=_?(H>iEOAu0v1YR-}o?xu#?y1}8;ji%oCP@5&g-7O8Vb%RXm zZ)vGV|8J!9|8IEu$Oj@$MOY#J|L3p)p({hqh7969#pQ5DvNy29SvAa8m;y#E;53L) zV{q#KtgJEK!PX73q;B*}AoC)l+T-*xfPAV_gNkdi0<9RhmcTQIlP0;&Y_)>*z^GJ# zP>yT7u6YFzSefBntHae0NfV@G9!N7YM|)&5i&bq==`=u!rUZ8(gbL_@;}M9J!T)Y0 zL2ffB6r{gw24-lm*BS}4G5B@{GIujax!1!Gn;~e9_TWXc0A_C1Nbd;k1_^LC-n)T3 zdg%!7D+a=(jT*H=DL0wGod9lmU`+$&K{;VCDKrKM7SUL>a+N~s^~%FIF=;ipTBQa} z4&tl9@hG?GbRYs*jb>otHY;Ed!7dwvN`aeo1~57J)K1c(FdBd@)PNI#=nolHo~fi# z;|f^1A)w4;1W86`G{_BB1z0(>YVd*JTBFKrk&_xwbSX)OP^w8I=!serZ22K@BM_6p z4FHoL+@T3XHG@ebw-BVpY}OjJMk?@t@Px-GNE66)8Zh)Ji5q%jdj*+{;l5_7;Nfc^ z3=aGqAOJ$o=)e*PE*gTML_oC~V$^XB=}}Z6+QDi9O3#9A3(8yXByB>^rkSV;*hVNeh- zBvrso@23$M%>)F~TMZDd;bzo?b4WFiftu71!vVvPnmUlDF@aY_*|n{K^4}{JY8*F^ z0kkn=uxEH0jV2{-f+?v5Mno{Ys;!hE#VA+7l-2=TB5njiOj51znu^R|dV#G&CV1pQ zw=$5)E~|8_0~iQtW{7438-c|}6qsnLn zix1hIP_aM^ubCCzS5ol&e!+|A0X%qVxp$q%)dVa)U}HBE8p`Aj>!(f!Ix230oij!= z1Yx;XL8W&Y)S9&re+OH`%-Z1B`9Q3$>4T^d8fqgopd(XSDGvKJK^B1*iqULU%K=gw z1}G?fgbAhw4v{X@lUEomxCPf4fZG!s&Oxs80d!|pnfDFf4XV^`$e@9AsI=7k|7*wPJ zoRfLEF zfdXQ|%|O&_RBJ63xmx3m3|6Quq(Puh^1hFR=~z9%JZ&M zD!|$cwgE7YsjU{d0X&#;g^@6+%~sM#g%RNj4eZ%+3$xTVEvuGmeHxu_#|l{JED+OVv5>*rngh{BGU`2| zvsDN6s#W081+5Z9d@ziI8OK1;I{}1{3Wtsb<+;;zPpGU46Zlg}5)WDr4WyZ}IBi z5Ct@=);r%JZVIM0Zla>YOa-kO=7P>l%~T@{FoPB1GmW6H8%#Qd z3HC(7PF@H$_Ow$4flv@|VkONtG*~>{l2Jn~xZp*GmjR(tfnD090gr^r3KI`PX!Lyi+x53m4tq$6Pb0ZJW zJ;XpRiEjkfrpx7%E^KgHb94RW`PV$c_F^h;g;Gs5t@Z|hCI&2SPQC{-oI3`NYdtvO z+@+8f*155`xlcoy=ZD7}+t<{LH`w4g&d3|rVjb)~KCHIA zh)U-J{POH+wUt95Er9g1jbjIvddqLMx0(PG9c94rleLcG0g#peX1BoER!m`_!?{dF zOH(;j9?CFB*Eq};NcV*F?7F7@R2u+Ko%w3(qzdXdRet}pTGK#CLtQM!1Y17}B{~k$ z(T@7QRC%}#E33J!jJl>4(gPan2U7LI{j%mbTHW`U1?hEdwUtHQ@*lMUh&rTu!0|KV zoYrDULqD*SYFmn^x{=TaqF;Yb<$Yw?~hK{fEpbDk4&sT6g^6Yg{Dmy|WZbsB*Y#Rla(HGktR z*TjlvDOe=@>%|(t>dn%!bV$M~Wa(LbSY|k?WA$>M(*oyCg{yYm0afESa8=KhCZhI> z+Vcjqxed;#M@OMdle>i!C(AjwLY=#$UvDf_MwaJtI1oN6YkFmE%)^- z)%Q+#s!bP__C0}1OBvwK>)p?!0q&OSed>u)y-)RIJEYs-?>IQx2>9fF{kn7dtD??w zQ<3BV>!p$VB6d!{YM)U3L-n%*n7TTj&bY?K3C+!;pP+ivF>l~+1JUd}#j}c&fU0~@ z@x9`JVmYL~W8MR7E3X0D%4X&+Bw=o4zQKH*`4)3M^A-5@JRE(4`7*T4f7E$KS?B11 zmU_ma-8;gl`=Lg0E24UUDox!#b=22W6CkgvrPSEIv<9l5yGC?pT|6T%k(bUh^HO=4 zyaBu%o{FdE#q$XGhx3YfGRR5n>?LYWQGM-%Z@=D!-^1N~<#{4ht7@V5TA-CS_^+#7 z)EsqoUJb5;MM6JQSL-T6)!~`lPPmH1JA0d8w%gEPxML?^%Ts;V3cu^&H$2VD&Zg!h zJT+_tj4UTBg@v<rmOQo$_jf6;u@QnQp};g~rFB;n+6bR3-1k4n4mm71Xvz-c$b zaT&+r-+H*ZUzv+~1m2XFb45UCfJOo&b@dKOaicvyPhzXDm$+#pS|z|@=V$@yy?oS( z-H*CB9J;Xh5r(~wkSi=*AAM;0Ofqe6y1slXER_i0c4V+%&PDUCLgNKl6Hwkhp#2C# z;pk3)cN z{!7q9Km`yF-;cS}E{#j)>gBoxQhi(@z)+}m>0No%g5`Fy}*u-ILaTfu4zUvi% zs{r%kr44eoEuhvwRpQI9Q_@u9a9<|gKhJklkONF+K$H~@L--jq6y=W?SdrgM-P|Nw zy-Vv#8r~r%^Hq5g)eK*;=crTfp{Sty@)bPqe3`km8QO?P9_JYdk9?lPvI%g zafV;E@7Swc>LB-3N_b;PJR~uF%MHV+LCD<$Br!Y`L6x9LVhm;O7dN5>L0S-mAwdg* z9-&i$XhDz`1pnEBAWU}=Eev|pwf}>{pigFa$t^SV_LmuaS+BaY3NOy`h=N*N!DV!rT;^3E-0cJ=&v!tav$%>}#gs@FRaWVfX)32Sdn6u^hJ43LoHcHt zW`MJ`%`FW9U7atl0*H58Yn$4)AcZ3sgLI(htb{@Ks5DEge-7*vjuk*Z zb=1}0HDCoghQ4%_xCXjK7TLav`&>k-nvp@g)E6_*QXh3}K2sHPQu z`xnbaeS3v7-#3docAYXsZjp>;_JgjXnf;&>{6AgVBhBo0O-ew&PV=)Q2T9Qv3&$d`NQ{Ssn7}mz;-H4Ps$3&oqah}$nsT096dGi8*4KN3hP*C1 zOz3ve4ZYY!=Z+b|MDDENSISCqXN|a0mc*Sk%0J7k!eJR#RpG$%l<|o94CS3#aqh>b zuBgIYrwpya{UcSl1V63fipeg|Q&-$#*Rifsx{lEvD%wLujSI#i>QAe4yoCB?DzB7u z#k*4eaKwgS06qkqict!LKxRQ~H-R*$7t$jO>Ibpvl@NbC8lrJ)A>z0N;)AE7SrF~I z09Nb!AXxQLv(Bn~w_!yl3$I*9S@%jy&#W0Kui+2nr#!|6N zEEgj%E!GFKU<0snY&bRs8;><&?bvkMLq&V2Xb%#T?wH?T3_O5I7OV{oC%x`&Rv{`IqNxFIUjP4aZYo&TroG7+nZa;wQ<|HbGZ+2 zpXR>K-OD}B{Uaot)|Y5~iPo2BeTmkWXnpDL)t8E}{ugOA10a}hoNJIzt0}vxRx^KZ zapdCg4hZD?bz|xmDOdCYU8fA~1^P#Nf&7(|%hFxi3heso3aPW$cjHDgSL64K+=(>#`rt-jl<~QRUR;EX(;ImqBYav{plFHMCaq_h>cg zJ~hPW4ypuvw}dC$0eQ`6A_RUA?qIx3m((S5@t?p(Ld3{qtQz7$rn#IDgqQ7_0RM6+ z_YmM{VKtQcb0r)tUp<$7pYTX46pmJBp7$7yqg8(ea9B@&UF|Oos7eE>x}h9t94&Vb z(15BmpsE*$md|uffa!Cccf@JR*4P4hGA9MNNhA#hc#eL*hH)qqDCiU zQ?aGkiOFGxFvFM; zOdeCfjAja%aZC|2fmy)BnIu!i)G&3-Ud-OiLZ*RfVp^D^nbVo~1G4aY%wx>+EFnwI z>c^^JjbYWXCb6clrm?28=CKyDma-mZtzfNZy};VYdWrQK>vh%}tT$PovHoD4VKdnR zb}YLGyMT?eNw$iuVe8nv*hTDq>;de7>@s#ayOKSG-N3$+{RDeE`~Ap+k%uC`i2N?{ zS6&z|ikAYI!5W^9*NfMiSI9H)Ogsy(FRz%_pEs6Q!yCt|#_e}cc7zk&Zc{|)||{P+1E#UF|PBL2ttpW=Us z|4S4miV*QcB2lI&U!)KbBBe+zDij$+CXq$dS5zz-C7LQ)Dtb}0Mf8T~P0&X-{dP z)F3rUEz*I+uf%V}Su%u-A!EsSQcU7xAF`AjL{^Z4$)V(Mas)YwtR|bu7P5_;L{1^6 zk<-arNf$Yre282_t|gx#H<8=Px5&52z2xWQQSuo1J$Z&aN1j)PD5Lb7^e^k*(tn`; zP`^)qKz~qwME`~UOZ`{+6Z&uUzvzF{|DivlzhDS4L>l;pC_{`vV#qYe4B3W!gTg=< zl!o3V$4ZWu{9N*T$)6=>2cm(Dfvka?f&8i$t2R|_t$M%eaMdSOpH&^H`l9N~s;{bk zsXATtd)1#+XRH3Ix-bG85oQ{6B9dcd18d%}FK7=k$qRGc~q)MqJwHk#^tH<2~gIn~%)$DyfG3U~6pN-Ee6}hv0$7p*WZSSKAlz@bVCQzaYlsuGM z7n4fS1WNxT0wqfK{|AyN`Gks1ZlU6qfP@N)(8nW^bVBO~B+gtLdw-c1d%ri0z2DS) z6S4P4UN}DSdkWoT=GkwT`Gh&&Hw%V2VDDeE3?0`>$FQTFB*02#r`pfu^hFURIUx_)vS1wKLpk@$Ksn(BB7JOMSXQ>*1fK0KR1KlGNp zW}Dq1kzYE9Y1M{SZD`ddtTJpu*sQRnVe7(ngnbhBOL%yAk8oZ1pm1lnD|~7Av*B-t z9}WLAB03@`!W1zwqCH|^#FG(QBMwFU5*ZmOjnqe0MYhqZ4XxVHstv8$(5lUUnQC)` z*!zSQ;(c@)3VWYa0QNrqH)HR+eRy5i`vLjzJm+?T^9ONmCwhMn=XS#T2XHQp|4*xt zmuQMNs76Yzr&`jgB&|xq7{NNn!GO>qu!Reup|mPVtCF-TDXtU$Tf9m9X#y)DCt*;+ zm%UiIJ3(RG!q4v@&T|(&^-sm6-v@-myf&el>RF*P+b+Zv}Lna5ZvRJhC4|yw{C^t%Kbl6%{9P)O4wcT6ZjzpmiDbpHX|lDlPqHGj3bQ6=t;pJ+ z&B@l%NSS>*`fe>^7xgdtchSM(@{^RfN`RXb%t!1KI-=!4NW%8B#_8L(4EQ`ZFpSqi7Eh?E(7#*8@bY?zC1z zYc)+%nm%mKZJyhFWMa>W_f0(2(x299Xszb&(Q0V?e`*!J_J{3tVr+$CO*O6d29U-S z2yyZ~d#bo&;JDVakBYk#(!#pRauY(_ryC!oOTHyxlNUnwKR=$UWE5` zy?nUb^*=QJKaKxS%>N}Mch|hEFLHxDjp|p5VwnO70(mjC0;0AEWTU(sCbq53Gr(2Gvf8) z=fuy8KNSBgJ}X@=T`65HeNnnu`l@t`^iAmw=}zf8(!Fj(|C!`ncL&;KdloF*}S)jy~Bb82Now7l>RQb5_N#z>l ze&tc+G39ZUKqWT3Zg|76+i=iu$nde@Q^V(m6NYaMCk;OsP8ohSoHd*`A|u1dH42Qe z#(1OHm}ty0%8dm^+^9BcjXjOG7%c<88~FXeGXpP_Vx`Q|kkYWyh*Dl@{D{{^yguUX z5eG(mG2+V+UyV31;@c4?NBl72?1;ZcTo{RsWR7Hy+0TGb; zFs_3CUt@`c+!$;d;@`$k;l0Q!k31SVh4UI`IQv_+iyg~)mQ@7o6Sa&BjE5MxP>lZk zpX-6~G3;5`U>2@Yn~YYATCOlDb#kTJqLS-W7OkAr>MS~?Nue{q5tT}Z%N5i|0})e% zS)n#5$+F7g2HSW?ajCVbrNP!Vz&6#w~DSCG1b}{$2%&W4UX0}TSK$= zz6@L5{wn^>$6CilQumjvQV_UFNsw}b(Q1?{ag9N)BjJz1YA_R4g+XB^U=-pCt#1@s z6gs8VLKqBJ8if_kX}@s!-PWOl+ria}8MR?hRdvYCt*W@yRPStVb~cVLv9;EDt855`n(WM*TT|EY@GKtQ zx>(U6V?&_2LDz%D_ z3dMc^z+oUJVj(u-VB@jcVHrRq)e39Mu#Bd$6CC!o*5Mg8FTYe}Mq5*JG{WXSwq8(& zxIi(Lh?0PCCk3Sf3sxG?O-Yd)<)Z?mKt-q+^+Wy9091koqEgskH3*fX3N##5p;2fw z=nvyjEpnoIG#$-Ax1yQIg@&Qq&>VC-x&y61E720{fd4^f1tn6c`O=>!Q!xZ zECEXd8mv^T2bPXWF#=O#8tfL#jP=Dzv2v^evt#21XEe6g*ZYu;B2WxU7&@>bzs@nW zwFdDViXvP$<$skn7OlfBMSV`^`0YijTgwUN~om4-@7wb@WI^Q%ekJ;yPTJ7Pe@ckx}4DH3I}=Q z4a^<>4e78;JJV{6EsDTwF?QJ$#+o-X;5{l)bydeWC zs9(bdR+PF&tN;nHis6 zb;Y^jU81K@Z`21BB0Vx7BQhZ~vLLHV>`HJYyHZ@~F1f4RRp}bP~oPWQ1r!#bG zwIIS5GmX@%RJWUF^4sTIgp?@Dwf2^du!Bth+e?9Fl$_U3p9d#eRP|BmXygTCmg zdb-Y7-`;Y0-+J;4jpOS*kMN>#gB}>J5jUO# zugAfxoBP`8oEYA<(Ji&Jp`wPHEMQzyYG+X|{+leJT_UwJp^8yAxr!@E?RExK)Ia{_ zJ|#b?eOQ^Tt+oS$O4_+Mw~{Ww>{@dB3O1$xM>4f2q&N2vcLEo2?&B!fZ?pTcz5s?v zAt3o`eIuU!rh94{KJJNG8nb7SlHV<*NXP;aW_n``{>x4(EH zoa|z#XYfrnm|bRn5kV!TsW@wRoM_?tI@dny&St@XgEm?n(#z!ZVW~Khsmj*Q0bVBRU8cfgc7j zUu~UKVS&++59$3hDK1Tl3jusIDK1Tlo6a-yQhAxY0lXZZil^tr^9cBd^NM&f$Vr4i zPY0rUsUDo%RM4jrzRSA8q2c#%$aBCqRjLtkYauYS1vS858*1(>NjbZnomYeFV3DZK zeYLJKR2{8wY!dvdg>)MPT{ptNNpPjXkaB|4$pKevh2Qn?n+iX@^z3Pn2f^Cd2xLc2 zRtoDMNQj%Rk3KYgCYiQ3U0=S{{lfRS_2!~^)q-G>s^qWNe6 zx(j-7AzFkMQ!Yky54zWt?<#O9Tp2FhMYu@H>F83rRBOSRe?MA^9zYMGW#}RB0LH`j zW8l_TyRlW|@M!X^=Y{!0m**(bhm!7yB~ZH%5il zxi52(*zdb3$njASKTQ!Bj{x6rGj(g=9Cm43Nkcp2M4m)FCEH?GAx*n50fZF>=w262ords=PfP)G|P{cPjdfu-K^TkWl;DoAI*@sqWV;sKDB zfcPeGwiQ=GniAy{EluTAc__miUE?rQB3@5O&#r6gPql#-{UCq>UKn-oQlMTe)QhYY z{+794B;(*1_0p+Mg!{MslCmZ!(}<|o4D~{!%6;Q4*TjlvDOe=@ z>%|(t>dn%!bV$M~Wa(LbSY|k?WA$>M<|2XE zfzai^rUXRkOAO7;^$tmKqdh-QVymy0xG_&#CElp{n*1w5^Vr*4Cc%THJ{a~sLawmO zBn1IPfVxRekXyo_ga=J-8z^%ficgx} z6GWXhhrJdd7HpYE5iRbm@vK`A3W*r+mmcevzI-~;IK#DVZOuIk3MNmUobPnl^QjK) z{KQdwvDYflS@P-$KbV4`;evxc(XUy4?Z|_GVh6P+$srlybWDaF6#y&USmRboCCt+fa?xm9G#VF;#zY6Q)ztPZq?>GWoXrg5&@a};c;Ztw>LN;{RgCl4Gvo?s524N zaay%$S^?l^r=f2acL5cTeE^|Nw}UbJaM!Vn#}MMrL1^O#ej@&LHJ9rafQN9sk6(R3 zYbZgV=+`*Eb_A)T1bLcY8>l3$+F-X~3$VMf2eIYY8tggjW$X>?9qdEw5Ox&%2KyO1 z!(cLK)rMAWeitQ*^dg67zG%JZfar`^0w72<-Q>r3G~N%Njc>+(CUOWnv5eSHMv_)? zCixQilQLK7P(Gskk19r0qME1Lrus{*QMahqslU-=XvSzB(j3$ZwPiHjBuzI-(@p+& z(M|R!bWv)}Z*J6u-yyQ*PYP4Px(|b-?!K6bj>ofYW5FN&9W|$&9C#bOP!(_E{%SDMXP83M;R_Z24DVh0Ju5@ z3;$UR!?;)^z*~s{)+!Ur1yCz3)(5j-0|3x!I5q|ly&AE0Y&xx;g`|cMA=Z$pkj9YN zAxlD@3fU5}H{|P(v!Q~}%+Q{prJ*&Uw0cIXXPfeWD99+ND)@K7&Vus_m7-p;NAVHt5Bt)9{9*?*UM=GCz<36^=~07OiNc3{~MfH)ii5J$N3 z-0^%^9s~tqa#vMnP#^^PVK@Z&!MmMwjdYFf4Dti~N}aze3+o9%exs-$KaalDht`)c zYTJi!Y+Z93Y#^Z2Kw%3A{E&uC0Z2IBlZFioP{xziQ|X$9#u_L?Z7^uAX{e#n+aZ0& zq;?0SnbanPxgL{0?aJ!XpP*N~pRQxHE32u#sl7!4P~Z@ACzrIA_w`q@d>sbgv?~jM zbcIL^V8ZEu|0)N#Rt@Tf^nkwF58#6p5FFA99XyPII|j zF*ldnn_J4Yaof0axesuk=DyC|%RSEhBP5*GmtvR2z7~5Vju|J7D~_v=TNJk;?xVOf z@yYRqct`x5@$2IE#?$%|tuJjVMWw~1_mqBGCM%m*_R1j6pt3=kj7~yYD1ved)hbUov3ki?kXG1n5p=QEc8*7`c;X68=jKIReT zN#>s{4l9NwVaWj)pole?WoJ!f-O9R)^&o3CYa?qrYai<<>lEueJCdEm&Sm#x7qf@4 z$FnE1=dzcupJ2bp-oZY=KFw6NnBzi@P$n!EP7p2-J|o;MJQW)qtBf5IJLR9R(NJrBR%BLT*2Jt8S^Kj&*;;!4 z5xxJ2-hV{zKRTj5^4d}J(Oq9ueDU!y`?2r7Z2h0ue{}iYqjaD8;d2L-V3pS*7s3Wp zWre)pAgO!pclLdSHAi>zrEBx3|Ja3Jw~Hp(P&sS5Gsv^ z1uhjD4eOtWhD9S`{quoP3;#?zTWOYyE@$2R5F3lxD_feH+FTe40ncg=Aj?z%G-4ry z@e8nIh!<4=0je3ZVntX#h!`D+m0_c>YRm>is1Ar6bz*hceC&Q~3$_dU9Q)I~i7%Wn zpK%xCKE`8=HH=M+EsPzE-Hbhqy^N0-#~6Pw&M?j~&Vy9|cte>SW(YHk83ERTbY><~ z#>{5sf}Nm%i8D#2im73iF&mk8G9PEY#yr401=fL7)-5axtDH58Rm+;ds%JH_rm|+U z=Cc;D?qw}!Jpp!tr&#M*&#|6oy~x_b`j&N)b(+m!bJ;?68athx$(FIR!Ezu6+rcgD zK5RYP$TqXB>>_qGyMw)yy^;NTA;&y|_5@$IPEHf0Ht$A<{5ugfvPTBaM~DOC`ix#M{LC#9`t%@ip-c@g2z| z1!NkTPG*uaGMmgLL1oWreC37rC+1ppx>l_ zS^tXuHT}E#5A+}E_v!zmKdk>m|C#>ll7E#fDtV}6dCAI>$4j0ndAej>$+IOdS5;Tp zswPxTu9{Odx9X0n`BisSEv#Bx^>EdrRm-bZRy|(zWYwCgwN)>S-7fjCn>S*WQ+&a35n6AaQxID2I2bQqGEUVU{Qz{g2TSgP` z#;L6qU`*Fq(mhERXi~O7OUu%fB$Jh`Sqp_O(3Y(Q zN}8l?Xq%R_Wk&{7ROBho1#uTpRPX`MeL)39aRC)j5Jes?C@3mE#RXCS=T4F~DPei< zH~7^53?G`Cxi@oW?%d^^d(ZiPrPkC1@gm64wLZ ztdB+EpADqY^T9XmGN7)1ghlP#j}D+iKuLd+5P{Z}4$i>(h66Hs>KL_`dC z4Sp5VAabm6jLAre7sob%!azs*uNiU9+v2kMD>fqQBnq(FVan97EMAP)^eDl{4uf|Kf4RD_CQ zNGJs?wa)){TO`$D>lafG5s6#9Xf?h zLnxpGjJi~!JA?xEgkZqI#1Js=bi@e44CdWfFz==k)xps_82p_Gs&dA;$ME$i35mfe zSBjERN?R;Kn-|HV zSnqT<&xvxL{Q410Z)5 z%1!Y#`SW~qLrd7;j_Xj>U-+%loEVbCJVk2%q8xNDhZ#g0mHjgpi&vZ zR@XR`Cc6oYd#lc%v=rE^N~_vpu-Hs0n@UeBwMLbOHGNfjU4fofYYGaYQ>I6#8$uGK z$5abcE|4^yYe_A*=d~94YMY_9g+edLn8vY;Xr`|a`(ZXs5U5N#gWX0K;H3~)GoV!} zrO~L>D6JZ+71j-mcCE#r)M>T)K)o5YP`tosv6{3Ovt&SQXoTl+2~-~V0AZZIq>eEy zRC%IykkZceBYE4JoGp0lkG=*&+y}3WtP-dUc8$iSRVh_QqY+w~0qW2I>n&EJ#-z2W zRHg#R)2LM{U10G=XVa))5zt|^*rU~C6a|Xx;RH!zIhO<@Xs`y!zJ8F<#I=NRL1Ky4 z3cu3_F<2P-d|pVT9C{TA{g>P7i|D{)A2-N=p3AX}h^|Y@E|CzY%iGpbTRksH69`*z zA-mT?T|rmnwywHbiKLdSU|hXa(xMNnWVhhJs@JJ3Hajfa>tO8Es_Z7E$>`82 z^$wdxueTNG^me^ct=7P_&#r3Q4FxKdhBna#)kO}h#7n_m#j&K$ft7eYIIwan;d}!t z@nUdbDq5izh5FI*xa;R7r2@+D~kVFN3%EjToATUT8NR^qkbz{<6l zC<80;N^oH1R#voumDqksYOm|SO6&*@tlU1)IR;i@XK-M>RMMgkti<#6!X*S~tek4& zQ506{*BKxP6jp8pbq=dS!KE?D!bb+`mrL;wVFQB@T?*r<>$pJu27Q$Pg^Sa75p}6t zNW{asXn$B=jcJM@g%ov{$ROM&Y^Dt4OQc)yv*a4V-z5FSPYC)F6U7tI;-r(rvq_84 zcS)&<|46hYyqn-pNRIzUd|}+DaaYFmj9njVirGiqc24{M?2O=iVFGK+VuU3Cs~#I< zv|VYmTUAP%v4FPOXsz0)*MQ!jQiI8c52Hovu+w^-T2~NFZ-`tvr(T9Tl8zOC+MzW$ z95$skIDc>}G;9}#dObJ-ax3AicJf+KZQxc+gxWy88l0oJl@YZuQm+I@bZ%vxV??KR z28UKoS5=}6t;ELQsKl+H&Y_j~=PVd6U@3r80q0d%9}KSKaVjyQ;Srlfs}U6(ZaEdx zwHpyzg2OGxQle>Ln}U-dr=lWVa)<{mjg0V#mU!q=H0iL3mRJu{MFT8t6lfh=&-;Fs6(UC=v8)F=TIvR8j~?FFId$EmBXqla9E<+lU?6DnaaNT;5sg+ z?*hy({wfGVVi>`Z`I4P3(A8^t5%u{Y!0Q}sxet$C0=c`fO4WSY7Buz4Xf3vwraGnP_K`soJ5%+ z>Yz7~V>uVpIYTtSa7~tSEg)jNZp6CCc+N#cEHC&jk&N)6t@e_lx|PG6kKWKR?_(tH|oVp zWN?M=j8ZRL5(6u&4^i82^M-8#Zfh=Do1;RjS=@^1+UTeq!SyAM#dJ)l(dRhodF=n6 zOk9s7w@9?&7sZvL>qLWu&j`m;M=6Gqk++jN!7hQ9_z{Zm$EB}|vZ`abl@)cptZ67na*^Ch>TDkoCK#0xTVn!o;|XrXMK0C4m%N#4 zjDZc0%kNC%R!$W4tHZ4|!pXUgsJ}S(*3Hs}-`UA|BRDy4fhdVb0k8LI^bC3qJu`u@9YvG^|4BK-vDWe~&%Dd?gVopv32g zA^e1N`p`KZ;fDi+AE?y4Is@nn6DV%y@u;SZ9t1UUtZ|*!l+j^Lh-00#iz%Z85z{yp z5zUl=H#MZ8d@Otn0(gMAZl@imwUA!xayrT(4P+n0{+2dtS)hzS(B3e?5;!l&t@Rg7 z2%eu@-#!|r^ML$g>HPYNNsyL8dW)~7q%>H5o2%6ZWFjaF&Y!6F6k=i!1rUTty={e< zJOqAAs{GAmxIC00r@K9N2c#kVlU&-+JQm*r5Rs5uTW6Q!^SJ!mJRTE|$He0?ArAy7 zd7vJ=&>9+`SJkm~g40e2xAw5%*3A%E=|zpTzLgm*Ez{S#-n{;#=c)fUwW zpl&;$`cn0dY7L~mAa5ie1F)H=Ah2f_Qjpuo?d0?1%j9PA8Tj@HoZU`71(BOrCVN#@ zCccZ~>|MA}Gn{clz5-}Syl{R#q!{1S7dpqQ{v4?OyfO)V+SI1D`ijxexIl@e_P6;fu;SVe z(x+>^1%;3XrCQjt-ai_j2jx~cx}|X(R)+PEUg~cz!-_OuoCu$E`W>Sn4c8PN_V^}X zg&fi%5t>LiVd8AY(a0w0;4~kp0@#96y%Wj>BzLF-R63=iX!t*jDxyYE zM#_W~R6b>2;UbTf`11io(n5Tfv2d0S_^y&y(=%g)#ixOp|bchycAZYI+ZD` zXyG@CYaiESJEYs-Z!P;9W%w0$F5D{XC^ru&-l3kHx-W6(!gJOMuS})`^5JN}L9~l| zbkq{=Q@F0Z@EP7}y#Qx|74N_s!76S&ybnL9yiWMn*{(n#hccbL)Jr5myTw=QEQ4hP zdbby@qF|M1+}3Bql_tO&_X79;R>WK3JH}Rmw|UmD=R+R!DWVFi<5X`-O%+l`7*C+* zK|i!mI_QaGBl@Hf_f(NXWEWYGLNrKZ5~)RFaGHHy+)EX}En$cAIU+~+6M%%UG7+`n zL8#3$w+-YXTXV}izqhWwO`%b#3<^t2OQT0o=yT=eDx8gt3O1`%5sXN7=b>o4Gp=_3 zYZ1FHnXjvEoUr5Yc^C z=KuqZCU|t7kclbe!P zByUK5HThUdObSn8^+R?}_N45qvY*I4mLtn4%$c9FG3O9ZVCA^Yak!vgL0!Sdf|H|k zJb@KYV8s(y{jUhDV4V-aB6+|T{1Tmvu!_Dx|7OMkU}V35S##=~X3g@wj%{!q;O0GL z#-Gv5nhTV&&pM}-cXqP1+46{kCo@AreFBpmycqsJ)}o#!tq zmF#NqgUwHjgVMCy)9Qls6_9S6)7FB|rcfr3 zHsiFr$>)YL_?}zbO>Ugt0qLt}w|gK>;`P*Jv%S1&!<#nH65!zZd3kQmN+%BJ@LB4`xCb% z9!&f;DJdyC$(&S~)RuHz(t}AaCLK=tQJgBy6Bh#G&tmcI;>X2%#a~I{B>g28$#ltl zVETDP@}}g3G)|f=wMm`Q%cQqUpOPMso=Q$lRwwhO&Bmkqb}wnesWcG5n|zTEzXBgHX+H*K0?n`SgU?&7gtNra63@s$7W$358}SN(TCRN+ZYWJo zTpNY#7`DK&?y{f8+hl9ce7zy6J$ZpL7iCZKwq!l{`KZ9$NCdYZ8>ELL6q{HVmaYj) zpS>48z%@{zHkpiy(VjVtp0+mSIH#+@>31t^%}p&%-#ml@_A|CNqz*-;8oKf{tH<&l5BGSlr=aJco@G53^jz0-SI<+udiNUDtEJbiyuzco&3+|1jPclWyc+PhERF`R#Y<}VU zZ-fQB65ZGt_czcQ8dka}T7ilkribwtAZKW2c%cD?s-9YATr9Y^x1pD#e%Y6jM zQNI9Jh3|nDl^|kZ(Jd8dQTq`6iNSypWF$rs4j@D=Bc=cgY#rev+KGk4<;1nb4a9B4 z8sb6XpTtwdcH&iH4{?zAkT_2Kn>Z~X1&M+*K`%kJV2Hpdun5KqDg@Jbdx^J~cza3p zzB)xcM!i)1wEEwgK^m9lcFo?w$qrk|w0(GJ#nw0CLW)url+byw+L(EXw}=>7Ul z`s0Qy!wkb6h6Bbl<2d6A<0~ei$!c0`+G_e~sD5bM(1(Y9Jxn>QVc3RY$A;$&_YA*x z_{Ssqjc|@wGvdfd#mE^W?-_X{zi+-Xe{KFp=1jBOyxz>)OULR))ZJKjygt8vRs9Js zZ!gu~_Rj6r+c)3Q^Nwro_~B0XoqO*x-?fRimkureK>ER|!#xkL{nx;MZT?@|OTbSa zVbv6YS7B|3S0Q-Woog3p`QE~$l?e;LtMI$W`+U?p>Mqa)%J92DyhkDLQ5Z1(c&p|Q zYSr)-jX^Y8G(|L1v_P~%bf;*uXq#w{=ws2Tn3x!O%;1<2F{Lrin6{W@F}KD%6!Uz{ z-k75?KgK4+_KDTR7Q|M@`eK*Hu8Q3d`&{ha*w12rj+4gqj~g0S8t0Ci7k7Q!y>U;+ zy%~2j?&tXA_?-9=yhZcpwP^4-Hn3sfode$*Bp9R{R6pqUL2nKg4Au|!4!(2no?KzB zDc6^~Hur!sQE5@mR&G>&nAbh8C~s-r6M0_^$r@5Qr*nO zc&9vB8B;m2a((5gDo54LRY#}lrY@Vhe_GD8xzk>qo-w^~`m@!NYG?H$GlVlH&Db#G zjI-3a)_JO?u;z}MlP;U<7S|VUv->9ZanA_P4W7?xN7UX>%Ud<=w;WkrwED?gvu<5^ z>zUhltLEJUQx6<@*ZuCXgN+Bjd2jZ6KfliaAk81bs>uwQA))P{3cx7ISkF2JwxC%6 zTB2c{0{b)BOb#PiPfP{OwmC#KV4lopyxWAi6g6vYXyOAu8^ zZV3BV0E1!Ib37;*4+_R3%mT0w4+?fP2)h)4rOJbX0az6Vor)x{o7)%y#UeRiG!8~OKxE7(WWbX$ zn4sC6&oZKdm`F?}Dv7DYbfST1BASU=L@Vrq&LQRztBL!FUBr9Dmx35UtRPt+7pxZC zCRiufBzQvb60oQ36C4s8790_LBKU?Bk+EbvnMjIBDVaj1k=;odnL!RA)g(>oNCRmi zhmj-5e9}VNNC!EcTu9ymP|L5AACtdQX_S&0LzPoAs0L~_HJ6%CEu^lZR#K~}JE^tQ zX6jMuaq3CxS?YOeJM|)UnEH`AEhL3fVK-qv;Six(NDFmBgU}=#CLApsBP zd0X>k-aWRJ_9lszrmDtk`0Q}(Ltb=hv& zo3cH!qjEy7kdKfT$P49T<;C(cd6j&oe3pEke5w3e`AYc>@|)zV3EwO?qz)X8=IEU#EzvmCG-v3z9t#PX@-nB^PGx0X|uA1psv zezsE97;Bt0!78=Nt-Y-ZYd>oi@Wtw_M(a>(zSUy2Ssm7rlJ82sFC|N3OXEuuOOs1e zOS_e(mny1Wu6m_vPu1b7FRH$*`nu|ys&A`KRsArPnkt$aJ2if4;#Bce>C}{|J>31> zIc}BP>K^6BG4OB*ux1Mf(Gd6y{dJc>N(cD5<=_+f-tQAyfCc)$zfRkSA=2x zZwkZuKNN=becY;XsU%|6t$j@`bCPu=no*$Cc*84ty{KSBhC%}rr zfRV-E;(^c1MIQnHr2^UDY&+!D0XSngg8N?>zV)1Nr(DCjat_oQ0ibzd(AY32QPA6Y zE`UKWjhV&iVh#NNi@~>YuBlx-MD!(wan0m;0sdON0I~&2U7mq9scDs#)*6f&y~?Ns z&dg{u0Ou?lKurpu{*OF+fe)tos7Gi~FQ^8wWkTn^i@{%GzHDlvk!2LyB?hgN%&e_b1(2+7>w%N2IZRFt*$1})*y;h zR2x7}idhZkjRCYIxGO+EYG9*CV?KejI4mNx+bECEy22zyHGw{ z?!re?W4kL@st;r2=G6QE#REWN2qKVIly_!@>~G0$E8TCvN_QL*As)Z+&xYTKo7g#z4wV-1*p1e(TH+)3c+-YAZFtj$H*NT+ zz43h1-janMF0w3Ia~W}2&1Ekv&Rl%O;-kzc=7A;gOB$B!UaDGp!_x0ApLF@tSM<7q zx#Ht1M_svbnRuCh*@3HuU3K@>)Yaar-?)ap=GJR|UG84~+O?`{S6zE%g=@uYe^dW$ z_1}KGuJ*b&uGe3G*Gkb!-^%@e&;R=aHzeOM|AvomEWYvan-n)Kzv;W1t8adFm3GzL zx5VGVNA217z5I6J+poV<^3I<96ZZdsqxSk;EEfQ+$yI2K#znvdprLaWv}V!&mpOZv&n$mQfJaxJ-ue45-z?jw(oC&-^D5tT|QAXaM_HJX}0 zxu{vxWz-7lHtGS0&)PxlqdufgQojn5ggu3Wg+qmf!pXuq;T+*I;VOv1dQ8YuUh}+g zJdQt)OUWa+@V4Ne#uf|#x9~XrJcst5hW9Me=;`vU(+1-A&G>yYXdHi0mq2(j6OZH1 zqh5A)pEPF?G z8W1@g{N5SAcgF9XE#&vk#y6MoYUVd?>W#{v+jCf`1t3zLX>NVqQPrR;w{qbG8U61Y7?SAYH{Tq+J zX?XL=w@hz6y=VBI=l16B-M;TnXD{(M{wO&R-wvDwz(f>?V<)bFG`|b<`|bikm3JPU z)(^h}#P0y%cERre@jE~XuOxh!@Ka(+;-ExZ;?%_U#Oo68Pu!MxF!9@@q@?U5b5dne zThet&4<@~sbU5ipajG~EumauU#p2t=kBj$;zmmjB`b#X5>5}=9Rgy;}Z%R%`}spQmTbuzyL^tRs3;wEvkc$Tll>%|XDTGqfcF2bmePu}vD$cTqE@VxYE!gnfc2lF9SCgPO6?G>8bE7xT7!1HcDi;3p#Lw@ zF4wNmUZ;If`?&T=?bF(Kv>$0d(SE8Ubn%ugmWM6Rvn&9+EN@uevK+L$Z~4ITFUyCP zk1Z!GU$cAwKUxW^$Qo;nw(4G_j-ps^CzoEGm^wr-2O9 zxQfCiXPu|8w4mAFIYfwa835b}+v53*mR;#zI$=PCewmE}> zT*V-0Y&y5kQsQh1y`VCux3P6W5eR9I;Z{iJquA=5zB*5Zx5?Am=4@&SKAGjYS3XUD z@$TB%vG@slIgDzf(PXkH9R^yX)H-Z>rO8qNP0ygRT1-}(%?NGOpfMTQcBrywX=t~q z0;|;+tsRzo=ZBs!6p-l}19B$BaVw{=b)vV`Thka4HnR|fl=kITNU7gj=k*1vZGk!z zYg#`VWL3vS%o3vN@;fWIl~dm0ad~UKuCP8_)6(c|ZBwbZ_2_=|0D2H@KpW9!v;{qa9z{=}r_nR$IrKbw9qmH9 z(HrPZv=6`yX00GZ;=m+#8`UU+;q!6h@cOsq0AbJ41SRbMvkx66| z8bVJPh~b2t7)6v4WkfmQB5EgO`Pv&BgMRfuK#+EhnN+xEx8lA1J z>roQ06iAR1C8HEZz>o~Z2pJI*vmS_2y8%N|I+7td5T(X32}~lB#E6;PYH81L73{oJ z*jm)=YVf#i?X7LiO~Ix%wYt2*QsJn!TPiHo)zYkB*AMl zrZ~!~OJUF{Eh(>-N~;Tj1i4~Lk)t}0Q!PyoUZ=cmUZbbn=WJ=MZ*GIRFg8H!kcIl= zr*y*@Un*VL(KZMHNeM-5uRahcC|Nod~J9J zU~^^RxgGimn4# zHa4smGGQx`&`he-8Lwu%rO5i2#Llr0iO+XXTBs3X!mR5M&+0I5biANx3 zBh!QFDHT*MpfxHCNT6C2c-d8GDm1@|&c=4nT2zH{Q?QB_dVAHV2EpkW$jS6!6lzd?h=-DIm&KLm#)?EHJo)hbTV{~->vyQc54vQ;(;%V zs6#}ZfF|}*H2EgkC^#*+HRf2%tQb;she!<($haZS>XNmnGv6CX<~ zPWU8&N$4B@eEhVyGjS{8l(8?zjweW%GrJy*F08Z&)Ow9YuQwW$c8!4sHP&hYJO<6*x@Er{X;zU;@Vi z&eDBBMzugypmk^+2CGu<(5RJKoywpzIxGcBt3#s!IwU)-bEw1gc&pl=a#(c*4vQ+9 z9v@X5C6fd7#jU8Y`Xb{3^~J4#uJuKxUW&&EvwX<3S@24lIDRGPv%JZ~8jx7ZvBU`b zhfE1{G;ZHbq;*dwTpAhS76>VE3zv{EU}#KQlfz+CYHe!0QfsFzN@Ib^q*TFBVON># z7Iwf;8FiY#h+$RPH3fE?RoAdKj-am-guuwct&p&;BIr>I5@2ZIRzlalBIw@$ zVyd|p6UEvUWX=Rx)3}xuZFNV`^ODqFhn5>ObOe2x;E7yZKhZfXctO9}Ag%qEtWk!EIaV@nNGzIAUD!oYy`zH<+%&rbQj23#BY*h}m)#y-J z)Szo9u{O%H30|H~Eym*omts2C;sm>zsl`p)UjBUZkzmIR zYH=yI@*-vFf%{53YgTw^Cbbw(3LHL5=O`Ajs4IA-m0FBvgi9hS z`hY3e=7nhp51E`QSkVSe#U;_Q!Zdk7wjZ7a51gDn%Xx>+-k<}Mcp@LN*lZ!W{-p$s|Q z?Xf!`JrvSQ8=A-BdyqkTYwPTCd>)s7dw#vG1kxaj63ldt!SR~l8$zXc8b{&sa2;wu zOIwG-Y>}_A1j~hIp|0?>I?5qE0MeV<>MKSE%kOXVSK#0FgY&0ry#YqgxtT&SgEMm-^ew@Uv$_`bnqXF$&UfP2u5A&S8-VO(dM)uGx&2Ymp0FH-CX= zZ-pJ6*=(u>`8)V71MIUNICJr|=i{KPA9juKj*$Yn;hO?>ko@qyl}&j-;xYES3-+4A z%l?IVZ((08thU+ucXzFA;U~gl!gt{BLE#~&sZmfzPBafGgzpOv!M}r0Tb*yFxuaI= zpk@Q#aLwZS^uk+hjwl^^1Nbw%lm*^VBYUn1&STbL5Brt^vfClu25acG>~ECeS3IYK zZ)c0a@4F#*mq*#O6J&W%So^B=t;}d?nZDlj=Jh8%SCxEUf|lm0wx~|1?o}O7eW`j! zwFXjOkT;T#kJY@%KGTcR=9lF?O zoXeZ>96MdCqXo!Bf+ z7i-|ZT0B~u135i{tj>Wxh3nc2a>L)Q7j|E9T?O6m@3x3oDf1P3Xh5MMd<7#jn zA_?joU#;`raW4$?ZZBL#0dEw$Yd1r0cfuZ!4@%DgNq#7U-;WQsxU+seAM&8>5mnH# zyi{*WO%+l`&N**!yA5mi5j6sA@@JD|YE&wN!U9zC9z~(gm6xk11_bl<(1=CW;UMqvMG8M>-kn%cRW*|8C| z4lN7cin<2fj50Q&<>*?p0&4L(bUj*$_rlPP=q4tQ8N#TTEJn>}7#i=6FK9AGS7Excg2wWv{LyWy4cHf%a zNxRs)0a1~gZtQii8yI_;i2cFPLqX0ya5TW1m=D1wW?mI+Vz%H%gI!Fs6`ql%~z!D%O-GE*ZdJDfF9!@?$w@JSR;<;Od&Gz%1& za8-0WOm=M`uMvF+Ww0s`Aa_3l6I}yaGHeQ6nbAI=rDfH1Oa0YetgM7jx$w(QH778+ zMkqPF>Ie0M>p7xU{xqr|4Dus+_3tmQ{+*>MNWoRHi}DciI(inpfHLl79UHfy?aW9f zpD{C*dqH{IfnGu{gSuvA983XL*^W?h!b!Ob)H+r20r^r7A8%{Ax^#>UwD<)d2<1XS3)Xy5b>1=iyCJLj!K zd%+Jg7ks(cubJkc(i6DI0rcit?4$_xpY8tIgx8hgBvOt|(Y^vO#({La~W; zVd^^eA^VNgnXFQ6DUe6qG{fF1>bF)UN!s|QN z8~!hU7IqIfIU6Lhr&90z6{S_@A?cfGi2QOFqEZtOIrT2cBRZ`AzbHO2k4?;D6Z6=_ zgS~_A9K0u2m}|=Q<*v;=piER+l(Ur^l^^DH&nwDXn)gKBS3HUrkK#4&nt7kiFPMMd z0&0P4!3zuf@+e+Bir2U2Mezb1BL8e8FW8VpU?9e^M%U-)%LvQpEA%x}%#<+w0;bKs z&uQ8$-|Kk(M@@46C&y0Z|EfJ4GHF7etZ8$BGQ4SnRY3A>cpX`d?M+@t{|M={CXcff zOc>s@!3`DhAjLdLF>VJuNHGsm%!3s7c(13R=b)ZtJs0#`*K=3TQ@wik8r7?%*R8!? z>~*4d_ul5-Gkf3E`?=o7`=s_6*~i=GrasU2`CQRWVNoYK7-Ag?^(~9AHcKbCyWW;2P^{YSThbV0my1;w*?C{ zMq{o*uU(X@0E7Sx5U>bbZ34#78A6CM9sn<>U%?ORI`Dz=ffv+G;Qv$x9#CrVe#!#> zC*1>t2&EITL>v)MB%m}Ri75v^rwV2QGm)7DK2MYJ=2?X64~9MnIt4}9m^*8y?m{P6 z(~RhKPSb2RJuT}l`)R!EwD!!`8$u>o=rg$Mblx(&Y4#T}&CFPJzWAeK#{qTv8+M-S zyiVsi-aO;YGu$qC^Ncsoc=L=m&$J%xUD|hbsk&m_Rk{~+zvvBmzkZYcxFO3h!*GY; zfHBQD&bY$(ib-g)niiY3ntmFpAKEtb;h|p-Qx0nwwqe+@;W@)S!|xsb@rZsSoFmqZ zI5JW(a>mGeMjpxUoA1nDoBxqH)9f~{H-BasXqjnw$nup{W%XMhv;JTkYFlL6W+&~V z?91(MI8q!F9Je_R7xXKrE7(|Ya+Ge=f>GN>3rCL~{rAxa3VRj03Lh*yImR$%(U=`$ z6UUa1y>0AAMT3g`MNbzCipLb+SbV6Ye~GW;iBiOyXS{jFn`d8}zut9n^2wv$_`mt> z-z&bA|EK0z(8eMZME~dxh(r#0i5LhDh*Q7;v5LuM{rQMoa0(=pOl5~tAb1KAYH;!c zWJQ{p%1rNY@&lknQ}|XEF%+EqreP<)fW0)5x0eVU_K{Z8(9#C_8a4yd{GiA~8sb4w zT3sLwF`7^&kT&DAyUFK1dUm@9(qs{&mj%3;_^qr?y9jC}cyylQ zZ6)4T!j0m0vy~9Uh(3X~qV4Eqz_EP`y@TEd-{+%%Tze80%6=vYB8Er;+*&!{)%GU_ z!2foO&3PSIx3Hqjo@$D&g) zF){L(!7(FZN@JWcZ86JYZjE^;=J}YtF-K#5j7^B`!&@|eb&Cdf%mGOQ@(0Wsuy(-P z14RRk0~-e3Iq>j`9Jmjxx%iLolOt9ho~W375?VtHikg4NDjEvgMp`UD9Q&n zeksul_CHm?)M+OQh|$Ct*a0me#u3wqYQhPOogUZ;^%4!la^e=^Ibs*_FXAWSw15;O z2$l<02yPbKBY05ogy1>BOM*89ZwdAa_6t51{0K~IX9T~Jhy;R5Qbfj*@nj;|m&_#l zlR4x-axkeRhmdNLCUvBN97p=dYsmWmEBGDqBqgHyP{Sz)RYpyt>ZzGjBjuy!QA?@i z)b-R&)Ea6%^#HYj+D!eEdW3q6dW-s;IzgQh3WPDjG+|$1rm(*-M>tS8Sf~^Z6%H4U z6qD8pylip7HAnDVjGh$LK1$5tm;=y92cnDzq(t!MH z5Szrq#3RHN;)&wP;!5#U@pSPFagEq5t`*mdXNnueE5uKT-xL2L$&ffCPRRnv)smYe zt0b!>_elOB*(~{|ES-Pt%X3f1dt>49NsCN+y!U%93TNvTm|; znOxRGHbgd7HdA($Y^Cf*+0C+BWOvB!lRYYXM)sm?m+T$cd$L2a!?Gi?FJ=FheJA@~ z_Ot94*>7?}-bZeh7xw?U|2O@=&nB~Dv*WW9vy-z^v%6)dXDc)>YhKap*1V@Vs`*TF zT=NA@(o(uFok{nnbLfHeU|LBJq1CjNw$lalXnG7?M3>Ox=rX#3_R$OIMf75N1$`a8 zlD?C^n_fe2qPNfw)6bZlW|z6eJkPwqyvV%Ryu`fRyuy5)d8PRV^G)VE&G(qsn(s9~ zXnxrIg!w7+Gv;T_ubJO8?=kN)ziWQae8_y*{8{neimxxeqj*j6y5jqaHxxfqys3Cg z@l%!6mCnkUm2)bus9aWgb>;HP6_wXjuB^PX^6tttmFp_+tGvJR!OD%5kJda_v#sXU zn)hpt)Eo_}vRIdeg8*-w@T2ClB>0*{-H+lPjB~{9k8O-4V(y61ik=V^15)=Ap%k+C zgRcR;2KXBIU)Dg~bf6WRKozL1Rts>5D(!YF5CRs^nCwfVRqAM~!DzLa3TPG3iE4Fp zfaA+Zo77sZTCcN5CD80j`h(eio2P-GrdVzTosUb#ITZwskKm(VBU!!q_hvWLL!)qI>Kq|CxEExSZ+l{Wx;K#07)*ATS=YGBZ9w+ zN{Ov02XW&GZpB5imAaSgGL*#tA@b$74B}Q!6w79$2t zMwg>2(3R+FAedfZ_2_=|0D2H@K%3BJ^e}o1J&B$ISJqe1tLQawX59tutb4$r zbw9YYevCc=r`BVDnEnm=4xK`$!L?NaMqMh=9b8*`f^+L&VhEUbI${K22J>z#n0Hf& z>IqrC_Qu9g@OL6gMHzr9oY&x)*NQ{OgOxBb%hl*?ZC#I&kQhmTA}JZAFam~TC`QPL zn3(mjLfsA6lG1@yNe(O2aZCb)gC{X!90m@U$VJY19)DqLQM0STW8wly~e*-58X zmseOS9MyJ9g{8V$niVWt?DRuPOKXLvsio1`=85>tv?9wCM_F|#Flm;Slvhio)rIA7 znJGn%>OfAH(DM)yGaxj_1|Yq%P=EZCZfBdbRJyREH4tE>3PrJT7uO2b!~`nuY&-j{ z*yM~%rN&^&A0N;uh>)uQW+M+j%9!{7#`8cls4`H=K4+6>av zOd8XT>CU7xvJJqGHWK9{Gx$kc0m$Eu9H@YiGZ{=TrZMK2*WtEKCHP zg~_5iS=V{?7`gn>yo}%v$NYRH0`bGf#3#RBB!I-gr%Tx4)h+sh9ioogWO3_!zQuG<< zJY5G%-xf^e2gHXx!}0<;+oS)H&IX!Q$Sow>867QnKyD0H4N?@lR4YJ`z zP}A{*eSd1gKCWGq5Ugi~SgkRaGSAl>&LI9j<7*Bn7f-NC!|({Dp_99BE1R1iksDel z+XiHPK;yR^*!*5ZI~WVF_5p7mrt#Z}SI9x7b6}=Btk(VBG=6WPy=%}Opb#7tM&k$T z^k>ody@L*%lg95ow0A8m>>mP_zEWmX=&ApOKElg`n7wZ-Q?wSZ`v=G>IHB=7e$G%@ zp2m*{2vW0p_O(462v#gRdk~XrGtR!nmKY1CsoLoh&B{z{zlRL?M}L?!ezo$ z!u7((gnTG%X>wEYisTK+uO=T$iAl*$aiq9Yu1Hyz@?y%zsbp$qsx8%(dU@)-sV}7- zO%tW%q!p&kOuIJiA8Bu-o$Qv$RJz934_d8z(*lpr1@2oc?Pb(%Y!x_;+59{ZHXKE>^VM+xFh8=fbE=ZWBXA|_6q z_~67JCfO(5FzLwTA(IzPetk;D6z`NLD`P4rR<5r+RpqFq z(=(U z?TFeNYLC^8sJpT5czu5Ts`?XNoA);FH#0}iynE&k4W$kDH~iK(sc|!J+T7ji?rZNp zeUJB^ch`(s^Z45AwX4>N*3Dk`>Ae&0-Fct!z6aN5@TSf0V%h{~{C;BH%TL1=*qLw| zzw!W$Us{mHPoodf_-Q*?{C*>1Sr$JCJcwlRn-Iz37Y8hU2}B|Qpo@XUPYUdPiNM`g z$&yOM0>&!roke(-pUvV&q_JCcle%otvHX36jLn-8HLoX|R~0o+!RAei$P0iSLF7hh za^l)?6}C~ffEPFDQzZP)=NbR_4XWrHRHLxYeZHg9LgVpX`AsTlDMfJ;A!HAsN&F@i zzeyEe5kE72N&M>gP4O?qABz7rAt9k(f+=Bqf;WLlSe>wix8!(Bj<@7^OK#~6OTW8( z(&bNI(d!E4ijS`xb>+ro;${A22d)}+)!kQ9S9`C1;~M&!Td(tXo&!dgiwJ+upg|di&-(dfsu(9Y5UZzH{$g=DRlW zmfWG`A4oq~b-3r@wf`FUugypFN1pxA{^72V%0GJlW7o%DeA4>Kncu^b3+_)5IYe%B zUqvDhy+WwKS8)dTD%OM;|7h?ZB(xB69r7QG8XK^fyS=49NJ@lwW#9%(&>^>FoA-s9mv?hX(h$9TrSQ42EM{(Qg3F3?$we-%X4`2bgmsTgpTsAd6Iy)5AB%y7m(H#UEG#=kNf zLNO1)_%04&vf{D6+b9p9^?F?j05Y4W80T-U^+v#DT__)4cH z$mwp6-2v&LkY3u*JQm*rI0}+mTW6Q!^SJ!mJe(E}r^Ul*0pFt!{`&!!zZD>~0vNVO z*|Zao`XfNbYJDp+T3V*BcfEQ2NzYX!->_Q518@Zi)o_v|yOg;nO9)Yvl$)~#TOxCe?ah$yi7ixyP2ry5&;I4dVKAYPH z=UV};oyS$>aaA#{>iHP|yu{4tjDIqsH&8;*#7M$Hlo1ugL}D^g36v1if#a`jk&zi;9DgQq7&(H>CoKSJ;vlD!3&~rcBfL(2O#Vux0f5OEs+^iZHBhsu zxzv1WA$1kCl3GpONv#E@zefSgUnBA^&)kc`jI*EEXR3S56lG70ef^^^^iX=GZNUS^aHmDywt*(g~dF#Z+G zoU%p0_4kzQ1=&loow8SDZ^#bFJ_Vk?Q?g&>G4e#YST2>P0MB2RJX=0Mu9OdvtL3zO zyxcEekli;sGkZX`E_-P9@a&Pg)0*GtL^_?8(>>^3w3fE8tbP;e z$#f+>m7Y$|plj$>x}Baw&kHjBEuk-`uLPdIhghD!XXsbx*XUjJ0s0gAQ~DVFtrlqo zT1qR?%FNH1x0!dF_jmI7nU9;lFn?+O+Wd|AwD}kFZx+HLvPdjxmhKjrCBu?q$+hHJ zR2H4ZU@=*SS?tB17oRBpsrc6tR3a#eDTymdC`l^mUb(gMxyqfDZ&!X;`EljZ%Fil~ zSAJ3XW##G0GnKzqp(;TYRVAv5tx9(FaP@L!yNs?8uAsZRKme)?97IFlGxXPG$NYaO zXeEjp8T(#r1F-+CicyPR6M3jI0M5CR%n)o5IEeS5ohLz|-{Dx$0#rKfF*L2RI;?uT zvY>!AD76-qPHCZ4TBX6Rva0m7(Fm+wN|QmY3J`tS>{_G7Vz(8jEx>xx>+ zDzG_}cB{r@(HS*rqXk&TG)9df!0cqTTGdvK)_(0P5 zIF2Pn(tg!9fsARf9LtEt`{iu}Nu|9wmehqrDp#S==@->EfT*#3I2MJOSb}e70j)M- zGLl8!nINf}>*|Y2SLN~Ihmv#rP+`PrMP8prVRF}lmD% zF`bw133C<2?(NyDcb{lxV9?|$w2NGB5Cf!q zoH9{%?L%G{2mw+)PK9(CPmM6lL2zt+4Tu6#K2AkN9p##wAPGqMIF-~nwVy@GHv_~0 zDIcfey0p0^yZcqMq!K5&T#WapviIGb`b&Em7G>%0?TluNG z3F#^qd)gH*@qHsOzHfn5DQsNwjPE?-JJ0y;oChrIZSxvE zKyTjM5QSKtXME=w-$8pXs%wY2YXZgXoMP>=$;s;0Z6K(LeAH>xmcN`IWi(ro+HdY_AH^wLMiOvxBi*6M45^fQWp^i}P z0I+hTtBDA^!-PwqHrRD)Bkbm@>^8MhOItNctJR=V>Wn5sfz4!8S!uBIbhIY0scz6( zb=Crt1`N8Www$-E$=QNO{YcepFbJ2l3)I#E+NRa1m3R|itUzrs*lm^qy;4WpXrN_HLfM*3UjpObaZMY_%y%YmM*IAX^792}Ct-5oV zx#WvjQGl`Z5($gG=0ZLLUMfTt$2~ZT$x96k_FqoNyz}2YDDl6D+IjyK@-InTqDJH(I-If{<>`9zHPiMD{-jk?I>{f<*lGRe6 zvD%b2huxyos$p(2>eMEsRZr7KonB*i*b0;|cj6Ir~0(v(IlP$N;a=zXwm_rBuHn(-vRY?^v*uxZSket5usOpK}GVEgt>It{9q78I{ zIhUmNx{h>$`Pk_g8+)AAUguC3VeJVP%?4?ppMXMtl5se=B z7K&%Y(Stb7u?GI*I7b}sI2+Q9@XgaD8Zi)iSQm_m#8<#qJQj>j90%Y0L0Jl93q~k9 zK~g|+M-(HKPN^sw{tu&ys1cNrG9d+(PnoHalpW5RsA24H{NSBE5AMJZcNlmAEb%x< z3|wgzY6ppd=fE+V+u@$u;5UuvLnwn|B5_U3M`z#)4Qxs5nJx5Dc+%;oVqV@=fZQ=32rBR4D4uej@T~l(NRmdPvN@8ZzimE;rkS5 zlOFiQZ^Q?=^-z0$)C7N>VLcT0QE$i9;5rb5*1%pZyzPa0w->IWfH#VJZ!`2*Cz=2$ zFMveg_RtF7aa;qu%`gf04snmb(whNv0-}hi-jtdu4E8|_rGs8LHljZoaW54)M0Sw{ zDMW)rCXre+2B+C)#XVFZ%7I)H{B?xiJzPDkOhk=%5Nh+xg?S4hTXV}izqhWwO`%b# z3x&-S?UPzTU3>LllJwfkq|Yr#PfyAh6oHK!b0 zxR~y{H`83Ujm_ALa?k*@3|)1Opc2TMiE={(!q=diQN~8J99;{9Sw3_fx*oy-XF$E( zh;Cx?m?1!$mBpwT4MQ`17zLwcbQ{qsbPHOIZbi32>JC8cNQcjRnE%J#m%uksb?x8T z(tVOH(4=gEZY)hnGwBkxCh0;8-DpdJwouX}ZPTV{NmF)ZiU=>Df{KWss0C3`!3{)Y z6>)h*L}YP6MG*x>U-T6hK>VMXByCy>C|~$K^gsFi+PS%NXU@!>J2&UtbI$W5vB|84 z9l{QU(lEg82!!o$E-<%OK{4;4^zdO8G&ET_OJ=lrMunum=YBx1Fj>qtMch!{3fil?nCJEPW0%wWvJd4w*%3s@Gx*8BAyZk&{HXwhR4(ws> zn}R(Oh>w4o=Qn$Xf<%BHYA$IVhC#>taz>ClMV!Lxv&7q0|>!aw;g z{-vIER(4SSTy_7m08>w4g7OFNqX2-y1Fw)r9QI-kY^5JUe4&K#0)N;j{|= z5@4p#pfBrqD%&9|9g7v>m<5aq)23db`kWb_AQsYFXV{P~Kicd(rEluIbqf zHj`7?f(we>I!p14MyEyt+K#&}*J9$8mK;lygV%N-_1V3z$YyA4s%dbPnC(q&4G$D9 z_wKX?YXd~HH8i@8J;-0$JLug<(SA0KP4AbA9ysb$VGpABC$(io>+Aq)wuaADj)Qz| z{%fQbejd1w^CU;nyRBU2Av==IVbk3T?lJTkhp7Dt`V@$UvRfgD<#TovJDTlRA?eY@ zW%1X?-&5}{_Il{8PKE5ND*|%A!<7GVa>{q9-~3L_x$w;@w<6}=@_^jeXd?h}3xM1L zAh+`s7XY~hKyCq$TL9$#`vP(cVB7*2cf<6C_ZkN^&Tl+EWyqBKrku5pwyzVwxCJoo z8vw=)YE!QUAvutUs*DAy|NR+JoPq?>bmU-=qJqxor%p=*KIX zHj55s?EF;~ociUdbE%iqpSn#N_m($puF*y?Z3NRsFl_|W2398#8Yh@Gf@vd|HiBuR z{5T;bVN}B0gsllbss^fzs#U5(Oc0aF%we`LKd1+(&Fah1bX z`d`w9q}`IXE1gImnZ77}e?~~gSb;rNU{4j;Q*RFT)PAWfXV(18$JP7-aW%h{LR^jA zY~;gg3fP_!qC(Pr)~q)8nmG9^20&i{nFk_moYv4qj6xAlKp4~|2!y%|f}m^=2DJF*}wmVaGwx(|FE%)*<#M(_*!{ zqJp~c%z1DGVY(^bG>dtLj9+UpuxAuj(M5GgHfud93jp_gt4uBDIK>!Kck-2Hh7ZGP8-u&R4@ zMw-0F;b>DtgGfZV%FRALwyW9@i09Xs$Bb%{HT1 zUScs%v)HQTX$>|L9}g+F*yPYHNeP;yB!wzI!Q%|qd6>r;xZ+fh$XA7~y@bLl;*sRt zFhqQ}50Rk(h$vqT`>?j>mg83<*k|}?ycnM-*k^)$CfH|!eKuy*n6C;G3TGF-Q50HK zQMA73=VE>FlH!lY_8;3k_SF(`NqNbWCBKYIA9v5V~o zS9-22qwK!2ljVu!^UIG+jGZ`r;#-p=d_$|@TxE9U zgOz8EX~z4F-e>!4y!jCnji-tkgIo?In|z2LOBr91AxGm9EOl@V6{iN(xZHN(o}!r z0C|E&lOoSDPqUgG4n={%SZA=CKzXijG}vY!52UrCd`>Q1=8Kl5qRkv)>L z+UwfS&|W9lN)Y+mY?n7R8o=^V$hjxf-cOz-kLP%uM$dH~=6MlN{+ruM2#rB60fg>u z^g6J!96*QB#}NE{68Koo!b;f%48we|AYfyW0SiksHVEd_6rK|^2l!VeV3VJZmqoa)j5%K=FK??87fb-__x%xyfarh_nx^w z-8SyFt@C=#W9OZ?edO&=&8O$v=O0}#biu>_BL8Li*Zzgf!Uq;!T4Y-E@5Rc+%NJj~ z!+6KP?@YLJ#hriLRdv_?B}q$GFBL7dEj@B~>fKM=6MWCidrsV&d++9D@@0#b{d8Z& zeQzySFMs%c|NEQoKfWSo#g+%69$5Oo#g#QH53ka%+W2742Nyp0%R{Dz4zAX&-XPdZ zH*@1db_=k3}HQczsmvH}@EY))ETUueUydA29n{5yUd7fgx z3X!4SKuz1b=o%8YWk@*br8Sazs zWAJhK%=dY~=V_mvfb4$K=U3kV-#)%7-%Q_9Uz_h--{rpReRudC^!?iRf}g}M+HZ(o zzMsi&hTjsuwSHUu-t{}_cR{ddq~~RFS;pVVqTyb;{z3gy`%mfL+W*i1(SQ^o0ZB+e z5)zPFV_KK55v`fJ=Bu?OYu|V*<*_H%MF7LxY3GkT0x3^h1MCA|Mf_LKwdU>jnN#C6_^Y*k{;pyw@`TUxeR*--kbfKZ(DD@4)xs z`|$(#LHr1Q0{<01k6*+u5s1JEk`NKTgg+5T^d%yRXd;#vKnx-j#9$(UV2DH_nJ6G^ z#6sdRVmon|I7^DiKIAYmgDfN`k~L&4X(ess400~Hh+IN0BOfK#0dxC$awGX1`2x9# zJV1U!o*~asIORiyQGKaMDw>L=22g`21vP{kMvb7fl%7hbGN~-8f|^CGpf*!GgWd{y zJLpi*CqZ8YU8D(G0`R^A=s~oC9t>D-3?RQH(;9jxJ)AD4OX%@*DP2xaq9@apw27{w zYv@|qO5Z`hM1Ms8E{+gqhz;Ud;#0s$-X{~gDbgA@S>3!1sr4LFUlfEc@ zMY>12PkLDTk@T4KQ|WQ(chVoFKS_USy`pC4h?CAeQ{}BCi3=!iS;~x_k z6C4v7(=8@EMy`5Y^``0_)kmt6s;^b2Ro^ls6U_8uqL>(_KQoYtW8xVlqXN#j3}z&g z&5UMpnS5ppQ^bsA8kpJ4tqjZD$t+>+W>zzgFs;l+<~imCW}CJWvcslmXKH6_Z`HEe zx!T3rJGD!+cWdv}-ltuyeN?+f`*z4Z3d1*Hp17nj~yx}@~(($%Gp zl(v?xg}A{dO4pY@UAn1qXXWn7e^(x>{Jiojr{aZkx-5J!lXL6-U&*PpMGliWJp&2= zxk;?BII_7go_Hu9Y?@lc)kB#?Gi%cFpe%uMe63*=mo(5F$|KCyksMqnr^OUEItuck zoC4+PHftUi_5)fT`K-Aq!v)bve&nceYdsX+4gpHVctC(=c|d?VJRm?fctC)D*$x3J z@;4dMIgL^c5TL5-f&k@ok1Jy{cZ5c~I_7&?@5caBoI|ue1HV8VB6Ti=Q*brY0foID zwrNn?4Ew4({g(ZM@!_wCr|xascsInQ*O1`h8MPtggC5~N|CLbbow)u^{CN%&-r4>n z=pO<;yZ{gCc{~QN84= z@NL|6KlyN9eSYG|f^a!P^)`onWT9>X=UMhS04sDf;^Kyp!PwNOE8wxhk*&ej#S+yG z!Je;j5f80^OK=kp9e}c%c<4(g(;jiE-A0;iX1m2Gho?6~USMyivUFHZyVia<-L*d+ z%WZw2wdZo%ymqW~Y=hCjD`jz@6&{&tDdChmDC2meL(eI6pt#}j&2?jSuKMv+_Dl|c zovWW$)11YXK{3QP%&aLM2W3zU@ng2iJWc`R&U2=&VKjFhh#M!Q#-=ogA?K7tLg_(B z1h!To*Pg2vlu$tly`dyUf)Xkyp#nyIXObeAeTzF072Pz7s2k>D3$Kj~|7+Ta``~T- z!Kr`sU?C{0Ec`dno9Hc2OEWmQ`2Pzm`~&FVqv$=r z;UC#=#HD?OPAvSx=*VSQ_=nL^bR{hOkI=zZ$oDt~Q1|)lNH@mGXXpzqo|J>YAI;{p zq7&##C*q@5u<%b`F&q^@Nnki44wQuDwrAm=$Cl*E*JvYzqYB}u0$?Qn+8_atL;#Ew z07--dyT4O7st}4Q07eRcBtnAS&5>Z&k5i=FR?&Bm5btRf{eXUC3)nF(>=1PBie?R9 z-0y<(a5(r{ZrhbvbB#7P)U4rFa{v4%*tzD76~G~kb8Q=&2W9It2ZtFV;D@-oQos*! z_e967hd<=HEtKm%(Bo1(uH!m^K(6yJk89wHe{=j00XsyPMuw(^8bfajT^qVL^kkSQEH*4VtTt?M*fU}K!_IaK>89>h z(rtRTRo%9CJKmk>9@9O$yS4k0?$38W(*1mRuW((sIecOGhVX+B7uZ9pm71lCq#GgL z?{AlBCzv*ZX(O06f@yP;m^Mx<{NH#i{PW-=yXc99U*yEX51TbhlN={cR^GxP;Va|h zs)TkV{68>X9tj`AIw9eY?TCc$2T1qhEUnm zc&eJ3M$M;|Q|qWr0&YvNU`;+1^-;86bV_th^!?FqME?>K8#69uLCi}rr(&hC*|9TY zpNc&uSd)S^DOi(&HFUkZN~_nH+N5T+m5A(PNt|)lku-l*;#tF#%0?wu2eH&yM^w6O9;;1-HoGq?3 z?x-SAp;Js%Jf-+NzI%L5{M`7L;=dmpHMn%}-Gkp4d`X$8v?|vM$o&FxzkuBT{OIRj zeIezA4KGH&_~53{O^Y^Tn`dl3`%=wI$G1$_^4`m%UVe4!(5;(ZiGStsZGE?`+TLyZ zk{$j#=I!`n=gghwb~Wxgv%7ltiB~IL{dmv#J%?T!^V6|`QT{z(c>SOJ~;KE^}`=Nn)=a&kJ)3?&1ElTVWT@(H8~JdSk)F& z2r+g5T^ZPVc`p66Q2F^(DFL~k12Pi$$T(Hk^=bF)T;>IGH{rMK?F0{y-~r->gx~=Z zJU{_&27DgyTVP1wz`(S?^1$Z6y8<5%+!gp?;D3XHf?|TSL8U>Cpu2*e4B8X)Y0$59 zC>>8{0~X*MdKJByK1hEr_7g{ob>d0lnScTKg7{tW8Ht}HMv^8mNN$y^lDsTADmfP% z8k`__fTI4_JV4yLEm$@A+4=Y8e^L-zFs0y?F`_XAf>k3}HG)<1-^YJa|Mcp)f^(n# zT>tZhUl#o;`}K+6Qhs~m{J8U9Uzm3B+Q|LISlLyP`^$Oc{t6zs-@+sJ*LouNn>h2w zw+kq-&M8!F->-t)FF=WPfEwfG{cC;%C@}%gR=~3b+*cc5#y7Sj!3t1f0+g5lCDs{A z>}G`#i@X}*zXhx98u4F>^#-AKVuY#%1^ld?mgH-vD_3d+~kv`}i^ZQ~WsoCH_Mj#y?F+h!7$SVoIe% zga^jIh8Ri=CsGL=M44s~lZe^G{Xl*3HgSTuM2103=_s;@oJ`h{Q_1P%Oma54fLuzh zARi)I0qOrmh%enjZYOt=yU9J|r{u5Xd5WMUR5z+0HJD1E7%GuUrZm)0!1y0Ut5t61tvlpr_DHbTd7To9zDa`U!eH{WQISewKb7?EK%wa&ek?vUsuhaq({P9`OP3G4ZG3P>717`mh(l2EaSua_PtiNoaEKU|LOO|P5LuJEdsWP2x ztZa&Gsq7iqX4%WKS7h5|ugcz*eI)x_c3SqM>_P;Jz$3^AQAB8jG$JCRXGGtK$cX5O z*ocgXs)&ZzZn5F9J!1#N#>XmSRk6vjn%JSS!(%gO^&> zI!irDoukfE7pM!>#p)7uwc4VtQ`f5-)Kk<=>Spyc^$hjB>POVA>b2?v>QB_4sXtE) zN{mSCnb831|AKy7er3KXe@gz;{OS2K^XKHZhh%W)bgD23FT$w6U!^g4dupibGg0TQ9iYNdil)q+2yyEv*im-Z=2pR9Wk9U zeP{a7spGZb|JQZY`Ak0rK}8V00QubM(_gejluLa<&89-h`^W@{Xg1Dcc6S8d_+ORPXCu zNdatzjp+u5q3v!0K+@?RfL6@I4P5s%r7$?yy&qGC4UxotUA}C>a=wdQA$HbV`L%m5`jN(Wx_ZnT$e} zn2_iki-}5&no(-fR7q)Fjm09%O!pnSQz?xtz9490XXHp^wz&p7wA3{f zo9i2`28X%BF%xri6EX@b@?ql1&nv2sNGh_6;4~9*GAf*VDkR~q^AvIH5k)pbV^d9o z1AY^IowN;*aLnDM2`2h{$?UeVfdMfYCGz$Ab7SIBA7|%XPOWypH#j0vp-R@Ij&Z6I zkTvf7_`A05O(E;=#4;X$29`QI*#snP)9)lgQTem87hb2S7NX>1H@VxiVNXXHTTo2 zK$TpS)MR8}`>^s>c(Y9KM)hU;RY*E?V|G)9jT;yy{(?IWcn4@?)s7n2BQZHe)}p#{ z7&aEZa}D+xt*92oxkc6^$JIO+K;Q+O!$9f9aSr$AJr@I=o{I`em}f_&LG*~7znl(F z)!B7=YqN7-hrV_0)7h%6&PUk8^L);o`Bha-X6`9E-`$og`AOXGROfA~ho8i~&s`_@ zN&dg_lfa`d^auF&7#Pmt2gMrt4Z14m_n-wq5rHoTjtck;H3!@p5aGYszsT=%^qJpu zKiu~|-@!h6eM&_?iS88*rrxG%$e&@YAdc8XjD!`gX50^J#kB4rb;Ye2RH?Cef?lag zN=Q#rFbRno1?bKR3Vo6$L7`4lCugb>(lRwFl_EJgN#oS7btz1;J|R6rm#pbZzwWH| zQXD`bIT<94_Oc`oO`aNKpjwF0xJsF(&P+um|0dkep_4#ZS=UrZOOJHEIU zWKHz8tgehzeBKS|y|&+Lm&%4OsE0c;di##9V2$95rh>HQ8z-%6^BA97120nDny5+%UnP zcE7b=71VBj|Iio)A{`v9d@Vab5eGVo$tisEWBfF`q`E;WNL{0Rvs4l0|CvHU7T{fFOWrh1O zdij2?G?{K_24T%NOxP9X(sk~+)SD_$7mGa9X!lg-O+iZok@ROd~J9i}=e-#ra^ zRYZrWj>@_*GCZd`D#tz5dGkIzraCIqJqdYJK$nvcmFJ#>yeX=yNr)Qho`k$9sq-X6 zjdD*yUX{}3P3f?{Oy#;Kp&KKt>q&^pa7{wGZA&OU=xHaJ%;_0W zKLqOMdQjVLYnocb)pP9+&8$h|Xmlm8@POAEMsX_;-Ju*}wvObeaHF8yztPbaQ<`J5 z=H);=Q0kKN%uPHUZ+|FnaMToMx!NCb*o(Pifr^4WUuDV6hBDCWQax+zSzJ9_50%wu z<*AR8pgh;!T*whR#6WqA!JaV^%5YBV({}1#kqDJw28d{E;MP@<5uzJ^2j@)_xMHUA zC67o)i19M>(T{f6TA@`nL_wZ}#ZhNWBzHW=ZExp~IVGQVwQC^5NhQg^-%v7#98RW?8YCxENi8{oOov(x zIg~%f4#&=bv)bVb-B(bJPQzK9XPN?QU7pvo8?Mm-$5_$l(58XE!X~(ai*SZIzNJTR zERAUH-`KePuDSLKi}BqhXFYm{ySF;meYW?H$Fbl5^XP59|4p5HoBEPEMIDC!A5zCW z?nX|1OhM){^cH(7#S=@)@#4chtv6Fb6*hstr-(G;)-NegqZJwjf zIm+5b58RP+92#9CjJqFh6gPp7r~Ur9T6a&?!oK$B$BpgI61aYDAJJ{HAat$=gwUna zeduU9haN~L(poy4R>5BaokhpOo*r!@hkHY~zP7;Dqj%x^1ir7FPlUUw8t6Scs)zpu zkL%*zF-zOo;5=9m^fPz1_G{;4INxpyoJH<>dmG?wH=wa_#};s7aDCSV->vX{Mi)nO z?d-$8;e!5 ziBExh_$RDTTxK5pWbIu_^2jb|^cX9Rc2@K-g+IXJfApz98PsSJ2R8 zX>$+u_uLO8^Ck=U91CG%u-&*6@Njz zzms=){n@JlQ60Tw{CT*zE&ene9C_}Wf<5m;L_h!x;HNp5?K1E-HgdNH?nXA5gWQ(R zQmEop>I5cP!z3sfwHj96)p2soE$-u<<>9$CS8eNbu)WAT*hH7(Fz}I(QDc4TX?!SL_=`S}Qh zZoub#1$VB_d#~}Ga-neTf_4q2CSyIk2TFuQ@lJjxpUF_4;^cJlSpns+y5d4XQ8Z_B z3Y#31JwZ|I_!HCqvo9!$RzXqZlm({(E+~r77dNk>h)_AqXM(cmjNks#%A#9|c!^gc zhFw*OkU(&vQ&riBIKSvK^o1uP z7CHeqzquUFFCS2M*=4oISM_ecr?!js(2bpn-03RUNE z0-%-vs3ibu_4ueK-g98j!k)8wuIah2=eb_JdyVYX*z18_dwQMe-MzQAcWv)wy?69J z-6yoqh(4A+%lho>^NqZlTqn26SIA$JpY7YTZ&u&tzK{0Z-}gel*nVUC&F#0b-zSm& zktvZ?k;@`qjXWFGCn`5;_WvHBmH?(DfN9NGIOFS?nKK`oMb0wLdUbYR0ZdB()B3Am zTHx@7m0jeA{9%#%J9M^#RrCYk1Q)d71fz3TG;0DmeAaQ|D4IsXuj_Gwv;C z)<7;E0zBcXwi8Sn^EA%E54{y-ZLYUK`Bx~1)te1X;F#yu>!TcIV-1vH4IKr7&mPvw z$zcfj23C8ND?Q4WJG1&52gnmNniP4Kd79Pia3~54#yW%DBu{IoZ#39uAmqWEaaHT( zsypEV|IDY|WNCMrwb!+up}kHpZ3NSX8yA9UBbYXVX(O06YO{K^`h&#K#9Tl{dNuL) zq~s)f(uSnd$x+FZlOIezni7^$ka9=Ln;J@^*UZsu)BH9hX^3OU^F#hKR57$}==!0j zhQ$su4_iCz#PEK@4Z|NDetd*{#N-i=j5wa!H`S2Zn)-z{Qftz#(|)ZRpsUqAt@~cD z1bn4U`d`w9q}`IXE1gImnZ77}e?~~gSb;54V2c#kB5w}%lYXfzXWIP6NAH{mm)J!P zAixg51YGb=5dZ`bkVZdiR#GAd5pYYKe3nYXmmqY z2Ei3~$Dd54)8 zwL1Mg=iq9+_@DJ|3(&oFIk>LcMz8|^kyhZOc3ZCNQoDsGSb}7|s#vLC&c>FEn-<}XL!7^b>sZVK1>AKQ$ zWf^7nm7Oe4ET3O~WMb^Z=@Z|Y6fwycin-&=jUCbedH%^6FYWu@hZ+N|1#Yk#TB zuY0`i59>JVM!^ykEWw+@5_H*fSS%LTb*v*6kKV+T5bHP@VjU~lI6ia`V<7$zQ?rJ) z_(SlKVJQ$#h-t7PtdTXh#S>z~F|DWP4AVh8p^1wpblOW9g1v;D1!XO)vaS(Qt8mT? z46}p64`nG=u6CB=_%_b6mMfd;Z6;__3}t~~6FR~D5o{%Zv^C2W@}|O(f~^FjBFC=; z(ijmMcaz#m2vtB7_Hjt+{uY7^enuBC4D*2nvrtS1IJwc-AVA4Y;aM?Ofo66__xUYdK)+@Ee6 zciYx^z2>p=PTW57_NV64^X>DGE*QGt;eV0;vixiRLT2Fu3ok7)E&BIj<>KXwFWzCi zLjE(38_vS9^Ke|K%9(rtdY-9g0wGZ(Rr59(_~Qvg0i#Rv37voUNeD_)0{15(;Ftb%9Xu|Oc-0Jhf2 zzTwmGP!n)n1zcAF*OkL+ z6>wcUBHiA2T-Vg!`d%nbS4c0XrF;*wV70~eh6V?VAzvf|nC(Hp4><&-Vp8A<9fUEw z=d%zi#!9g9SSePHO~UH1daMDPf;E8`bQ(4TTY)`>?ZZC8zQcWRUpyF>foF3iz6Rfb zzl86__u=p3$M8?VzxgHp10f=O34bDxpa}^PLWB|B2`Ldl3?>o?hDaom2@Nrn7*3=T zIwFn8ASMyBiTeTI_-*0@afu8g733(gh@4E;kyFX(&i{xf< z3%Q-#N$w{1ke`yjlIJOcl2F~Ke$-$pfnumcDw)zyL#Zrk6qQ5eQ3X^XRZNvo_0&RY z9rYUZPSDYy4}-o4`Znk%+Mf=ldjoWFGOeM9(!=RgT1ThR8T3dxn;uP9(k8l!uAysb zD{Z42X*=zpr_$5une<9}FMUcJAnq?N5;uq!ikFL9#cRdu#Jk1&#RtR(#ovj4mLe%G z6-$Gqq0)G%QaW6kD%DBLr534O>X1&APM6M<-X^_Wx$Or^ik<{=`rbVGF(Q< zd}MwyS{5#gktt+}vJtY8vK(2StUy*MtB{#wRk9jcy{thtMb;#{TlT!{l^8>eF{UP_ zIc8?e?3i0)Zi~4+WEVif*Rv7Tp|Oi*CMdiEf#0xo(ASrS5Ua zUE830R<}v_lI~^QE4tV6YV)jlGxBcDWAoa<4yya!X%0`rpEGsTElo`v+ zWz}VtvbwVRvYBPG%Wf@W%jTBNE1O^Tud=(1tBemB*BQ4Mw;Nw|DYl$u3m>e`xpn_H zz7_<eM~JA6%sJ;`Y)45QL35)y%2lV{>%(mBqSM2$K#u`A-1&I~vl z18+l150F&v>s?7#BUUlAM1aIGe%_Us-+}d{xOiQaV*s9INmU?rO!%*MoV!hPuc=N09Jr8fKYU$41WUq8x zvPzT5u?H!YKn$6r%2a4zuqjfKb!mx7X$+H?lCDsx5)xd*kck;Or7kluF)g#J;poA# z>Q4VOwsZqQWBt4MvNO)IN z`w;2CXGMniR<;C#yfK(}<+=FPT?5e6vcF%8#0N-8Z(D`DE2s+=tI9?z;O8ophX8aR zM+71fg+vexSu;Lrs*@*ud{hI^KHoGU%3wFvSfIK%3b1oS5H|mjjgmU#12#qv)D!hW zy-^<|M}5KGhyhxacr+L(Q5MQZqtIxSgK|+G(8Uy>F{ls~fx%b`7)_G^O}iTCJ2=9R z+2|H@E1H8?G#=fC=Aqlszfdb$gVv(Q&^q)udICL()}sw*BYGaafHtF-(N^>d+JSbW zx6wZI4%(02h5YM7=mYd2`V@VIz6Ls;Z_yd_6Z!@H3Zyibun>sUrbGtX$^(z;z;QW9mf z8k(Bcp&;Nl5CcV0FbZLDmS9PiVnwXaI#|-}25d>;NQz{zr0d59K(2NWOLIBefLF|O z*Jn57G#Km5rnKfJM?<}96qHvK73+#KD$;eux{3-(l&fv7!455TO~vN=MytVL?r_Y+ z9NmPB!is#Dc=Gd#DkPGM>>@bLgq(~D=blb^;ck>2@5Kq!Iy{_)()(ge2)7zlikBSr=|gdPBgfS1l?u+E4*1Ic%%Aq7}_1WF}o?lW~j89 zP5hm70758o*v+O~FR!{DmdLR|LipK^hq`+f?rt=<~{=CO# zpwnXmKo6e%+K%Vl;i)>iPH%0t^OxF@b%uYcJhu(Mv%@%Y9++QM)nw+LqVwHtxsrd# z{Z4h>rh52?-22>he`Eg;+zRCRz+iEI-1p>KE#Rx&b${dgOcVGG1=<=H0~*J4=t*`V z(AIeLhCo{*(AGFfd*ChMm_Bb_+M14UvA}OAcm9UA1N7Yd{DvBy;cysegMmELAs7b& zzoDDq29#AdX;7E^h9$GW9!PHEGUVHEyoXK=_l3W#;c`jf@adrWx#|SXPl$jLn5{v7 z6qv0AW^0Zg+o>0|vwi=anXO^YH(KDH1a|9xIJ>t5vuSL4zf|$~I;{nSFLt@~B%zy*4^`sQ*^@umfB56aJN_%XT0SnQ1EvepF8W+t@%w<^w_X~3 z>DV9jfBeDv_u~`=w`KGV5DdUWg9lCYXEAg*9zOC=J zRolC5U$Vo0$GjbX?3}st+^)u5XLeWbKJjYBs~_(fzvs|vV_w_8cl6#jU(bAf&l|co zcD_0M&24WDdF$nWr~Lb+x0Bx9yf1OzrgswG*|a}t|K@j--`#RRb71Rx!`|C*F!kW> z_tW2h{ZRIyw-4tXe(%WGBOe?sKYIKF(+8(Mw0`)*M^it#@G*Ogx;X$;UDSg=^I`YD zK-m3np45W{PU^wXSzK_9CW&JnWK zV4UeaI!<5%yh#}@1T0tq3pOSsBg7OkFJw)~o{$rvL}+AaTBtGfw$QbqdqYo#iNa#T zvcqb_7Kc3(wm5odaY^%&a2 z*ke(T=LO?TFwO+yOfb#_nasA}-&)A!97D8%Ur zae99xPOqyNJ-5B2!_qrgH5m||SJBRKo_$5D<{C_Y0vn*fao&}YBUm+pRdbVDHG)O6 zmpV+Hq<$8OMBPQPf<+S|STtQ)G~E0ySTz|dGd|7imsy?pROZ={iGo!lST(INt;^Sl z)=XXV)!LG^Z#^JN@PT&FfBK!{gKKv2DSpkJatqJI}hh%>|n@htJb#LIvYaE16`@zdfB;%CJ#hwlmB3vrZ( z!jFW15PmZJ>+sXzKZpMz#iWFklKMy`(hzBww7XO)jR3B|QNR&6U%Etkk93)Ixpb9u zt@H)yR_UwKx21=qA4)%#ej@!$dPe$#^uN+`((}@b(n~TV>n%%_Wkr7O<9+s;^Y1RNpX&31WIPa;6^>#l$fEnSo3k6Aw&* zIwp)XcuZ1Ywy%9(cZ0HseMTMu=Y{yI_*a7i`vcFE!wTxH?;e-`?UwOhqXtwA8J3= zewn){_m12La#!a*lG~d5cXMQb>csR+g)UK*tkCFGi7D!g6s2CHQzR!RIl0Xe)T%@#U87T~mC0R^NqI14 z70sxxYOu|i)e;YKnti-0r=1V!YLr=PH&wSNK>AoRS*=V@QtQ-;3=QyRsWbIJ-lk7i zDl*heN`fv?nE?0X$>5fu)a#gx1YLrvtGjHYMR76XGy>s{p(T#vVe<2?q|SV5gFwba zU+>E3ichV&Wgtk(@8MlZ9l5!jsbAGC13=Q~KHin&NovLm)+C_ z37DxRmb)pLcW=t$<;tnBmV&eH$gF{}Z;uO=t_S9d1K!qPNh$dA7p?=sk#OJpxg!C(xJZ zBrqMGMn3@4;W>03UBJX(*KtgTGOQ=C91g+;gN2uf4ac-#;f)3huN33)w?Gv;#s9)eKfdv6y2HX{JU;k0+-jC^boXl|rA9q*tglI!2*M&eSWCR0h~T8c$AV(lqHQDGDYfF-@V?GdkF> z(g3r$E?uWrYBaj!1h9)$8a2-)osg28qE_jZ$$Dj%hOvi*f@4)6VXU_$bk?fyfI1LU z;e9b(SarBxEy$YaZCPE}-#C6ldav`s1y0q&9T~lSM_16_aNnsQt@*}D>v}B+M^)sU zGCWzM%t%+m!cT&d(J0gj@K2wq(JK}mz5 z3q=m?otL*)y#{j57%vNGPeD_nYr zmnF5&n>ceVP3XGrq!Wi6@vq227t`meFAX#RuLXA)a$69)ClI zfX6h7_jf5%-tDW-GbyfesiNK%)5T#KD(c-ky27lA z4|b`dH%eO96DuC;R7DdRl`c_}pwJ~Vi3)H_rYllXm?TBAT9cTpW-`;0nRG?6Qt6yk z)k!IgPL-fbN@xD0DvEvPR7<=nrhQ7qPC8XlZ=U{Y^C|X;Qx)~5ybhBocEYJBdR0J& znG`$5`Tv9QO9-MeRP-*o#OHUP6+Zn%+eHP`H&hEnk&lom#1Wzjng}1E2mWC_U~bWZ zB|~~wi?y0cBd+JE7@{>|0xc=N09JrBiIwG08*;pkr8 z4MghFovZ;tWBt4ecX24NMx-W7HQk8%=- zG7{bu)jmir_b4ZVyfK(}6IddKLmw zHVYnQ^Nfi(x(OMD75Sj*=jRnwNF){6MHNNG6LK;toO>!H;RVGxh8bpikzusbY7d`H0y>I6-cW0vI=lD-P+KS!2L3NS&!Qc%jinKhNo4>8+ECt_ziMp3UsL3=EHsU*=A^LwBmAv>TM4D$U@x&4hY8Q z031T2K(2+s*wm;iD9GW;wgy`l!~#DbfnR_4yszNS#g+cThccO)jL?1;{56=GjP-!5 zs6uEt#(eIFT*65LI)}E1OhFD}d zs)l_hkpptkxIDE=_-lff!_FVewP=Ex0{FAHWe1wzoAWpe?Bz;aj@v2z7-OflX>cAJ z#5o(Fom28@SGxu>oK%tw{6Rh)Ioy?T=gzWIk{WU-e~dGy&NEw%lXx1=>O9jF)ZF2E zcEdG0K%NzS4sC?2SMI5DPsy2`*bHR{^jH=D%oLtkh;Pi^CT(j6S&WCtE#>bAzA?K) z4kI@<++&6-bNy`g9A8zor4fydlhzsEU2@jEAn)fqG&fH9tn!Rymul-Hn#&*YX&AkbpBf3o%t*3j?k#suUhmNLm=z)*~sHMYc z75pX8S&$%@PWNc*CGMT#`q~0p&rxeZ6ZpR3-UsJZ)j;prQ9b-OcwCnST3Oo82Is+o zpr5(3wO>0Y!})ewAfrI;dV3q-Z8xB?aDEHGLU3sRj~})hn2HxHt{L69Nmvrpa;-OC_M-m9pSKjgiT_T zSq(b`K-`nqVW8Ir!ge?pINQrp{V#IZ8|usj4NVp=EY$@ixm}x*8BA^Sm18dAQ|a{xltI zX7^3O9tm(SKh2YrJp&|V@nv8*H*z;O)nH{)*q-BNDH0)h?3NCVxE)SY`^76kp72k; zi+`zSos}JwKUbZg{8_tDWV`4@kE(iWGpDF>pWg5n*i=_E8ny#LVV!O=q;q98lv|C4 zj3Ownz1H8l4&qXglt@T#JcUT5`be!)rT`lI-5+ z_78Mg0Cw+A13G(fBs4U-jy=d<+B?AXgZ8s&ZA?F$3VRT}KdCKSS!cH!W~||Jh~vQ9 zz<-U@!p|Z1ah~KTFax0v(1+|uHivaH13|X&XPy|^=r}L~jpCSrDkMGHue$BB_yT`V zy}Q`!p|?5}vahZP!3{*L+@+;{^E=6MTbI)1-trLK*JzW)ue}9kfr8tBgF3*i&T-T= z{Oa6(Se^4jA_U|$-0ECzQD!lSK|pIG=lE^7a{H%!buOzwE^n{@Q>9?%DjZe-tr_P^ z9X1cjR_BVGKrH0$MS)nz-4h+RuGL+x^18WHulqocOYyjlxI%N4nM*%0%S$ZgX%<_x zJgvcI;*Cj@LR#BLVN@W?&vNdxCQua0e-vQw|;W{%eD|(o$a-T-U9r#0Ka`a z>G<}~(?8$$MbQ@@pD>>I_RFR(FP@zDRnS+}wqTZ)75oSW6>_WM1>_U+55AfQ7tp&wt zBh#F|eK?kYztlwsGj?&?FHfD*a@(#vKR(q5yJ<1OAbO*FWX$_4t?3U^phrGXWfILB?Ns(un zr&-MohoZn>tTWh6pzGE*8f-HV@=%GdYQ0=_Cnxkzd<1qOfn5lOiD23U;$e6%JO&?( zr{Fq#G+vBP#H;Zs_)L5reiyz1Z^fU+H{-kUxADXHar|5S9N-8C5Z#HsfEt`aq!IZ< zDN#k(iCc+9#B!pQ*Z{!l{i0K%YohOuenT*A z^qcg*qzy^CC2dzakv=kgQTqOjkc_c{X(O065BGX_@x$jIu{`p@qaz>PESNU`OQy}` zW=$%~nKeK2aW%g{T+MH#5LaV28~L!B0=B1wsE~A@)t+A#C!fVQu~;F}#_1iqh*2ow z2?&F_1c6X@K@gM;!l0Hx08}A_KqWx|&w$xQu+L`rE%96Hx7F`mzmt9!{Db{t{fGM( z``7xn_^r%yczI$z;A&efdd260?PxN1Mdoa zJaAXwhk^eM3JQt|(gu|VIfCvAdNOEF(5FGa(xG%bolTqQIrJ)eGkuW$UhF517VE^5 z#4`c0{!*7;_juhO)^XO2f_)~~XU7(OBKc(br#(My{cONz8~?BDGnb8p z$+76JBM`Azv=cin-&=jUCbedH%^AU7T3NI5@GAYPjSu#G zaN&c$JY;(4;A-va4T8ONbJSlESoRgInnee*gO&!&f(X5zHuw3W zcb8tEYqSx(K>rXgP$#YSYF`Bpkl+D=@gYR$2_7K91N4iuhg2&yOBYEuN)JoV%jB{Q zS)J@|*-NrdBFKn=5o02zMXZk48*!#bSdXDSj6D|hc)rI+J@K9cdlvSb)pJeHeLc_h z>fLK(uf|>v^xD(wOz-Z!wY_V5FYCRd_vt>NeMa=L^jX$tXPjtn!_#4Ezha$lfG?6oZd_`R(D0NCma?ABZLhW29fME$>STk$V^59of0!deR ztzlFFl)FPY#B3eO0eAuM7TLeiQNRImr9e5yX3fiiGJt=P^UO^=;8%YrZ*bHUXSv!R zaX{u4lp*nsJYQwW%!V?6f>Awd>{(p>5GZFgT6tvMBq-0dHy3h1U@=hMVz6h7gfg6y z`qXS2%K?f(StLRwm;ta48+asBBfLKx{;2?lC4gZGU|0eY>i@q;sHwm8y-=L4kXA^< zc|`!>WH#yS#v031v;94+5;GRt8yXxehJ29>rsF{<5hmYM2;-Mvy|8FZi6vv{SSFT* zjly!UJgfklh*e+)%!rw>YRrPwVT-W)u^rex>@(~)>^ww?2H=bEJMjDPNAM@{m+&3< zUVJ}(06&Ny!B617;^*;;_$A2O!wHfQ5x#^!5eWHvkwi2ROAH_eK_=f|B7tCtL?W3e zAZ)}!;xPaVK1`g2{JlQpFfxNIBqx$JWG!hWZR8AcF1d(YLM|g8CD%bF-+FQ*`5gHI zxrsbLenXxi&rvw#LxoX&sYoiCilqiXZl40O`-V{?C@rO@(y2@;i>jbzQ7fp;)Xt!{ zg5C}~6!b~ZS3wtPf|dZh?*Mubt)K@3*e?Unzsa|n@htHz;zba*xk9{B+$!EEehwlyw}rnR{$}{$@T1`$ zhJO`)D*T)9U!+KiOG&9n>MISFhDy6h!=*B?vIk2?OKYVIq)VmuO7D~2FMUw@nDj;I zE7CpEePDTiBt0hmRC-+co%BcPPtu>I7o@*S|Bzv_J~FK=JNiG-KSci=L&W&T_{Rjs z1jmHNbc+d(k*i);y{URf^^xkN>TA_$)wc}E1T+1ZC?S5|B>KUqz+C;rfZKihVigi}q1l?5K zblrVAS~p9#Q1_s2vF>5rBf4d}r*x}zYjn@*Ht06%w(EB4cIkHO-qjt`ozR`seWd$D z_fOqtx(gW(Wh}{fGNUeIZN|Ec7c%~lu_@!_jGd-&reagMX|m~l(>&9B(?ZjOrp2a* zO;4GgG1ZyYn%0@tn>LtUG;Jx~Q@pSEo#HdapBH}x$^d)>0&a;}xuy5J_yUwBBm-Xl zi%<~ygjBR0VgmvWyG06!Y*VD!&Z-i-pXPU`cCUonE_s+#UNdCTxk~_+l0ow3G4d~v zr^qkKkH|AH8XQhNAeNJ#kZ0iUBR>@ND(J!Cw3ou@alaTebq4L+4oK!ze!abYnWb+p z1|hxyBc9g`dCl;DS2O%CVB|;DW8|;$VC1g?jC=+YU&CVL526RN82N)}9gmUE@XC1s zVnK0#AHBe4^1gTrLcW^rP!u7aCey@974kTx7IZjeyhfg&idQ5kA(fX~?r` zhFH79mKx_o&rAk}9YKh0;Z-8Gu}Z|i+bR(ZnGdIO>|%Q--nO?FX=E>;?MJUg`v8vr z4RnCk1MEHk->*fh&|BybdK*ZSjPy`C^}m6`e+->ijgA8cz>uzqXys{+O6nB);1(SI zQ|L5m4u}6^bfOM@g3bWUeil8%d(@wyFPKo;lAq&U0H633u_)_?BUp}uGH z1s{2Lou_x#EBfq~&wkuxrruqy=Ccn>@h_g>$0zsk$$fls-yaBt<-=h4FjzhemJfsd zbA-V{C}0By|0Q(U&no%>{YYoi!#%hq=t{F@4dCnV`BmA9!QfB4q58Bbvj#!}S*-rs z_2W$&-n8LO8|IGu|KKL$R%gF?(*}tkYF`5E$lV}VS%#EIjRqhcGNNH93*`Yp{8$KK zC<97(C&cwnN3}plz7WuMmjRpj(`YSv9&JRg@VF&B4nL3c_(!t*c+-YAZFtj$H*NkT zrVWR~{~H^mhPsCC z4RySe3;646oKjcQKrszN=F6;im)@$oT+L@6m?H1w!e(O&v8CAK*lO%~>}6~Rwhwz7 zJC1#XeU5#D{mABW@pvyh-pgMc?}fJnc}tMD1bIvF&tVCAAzpd{h<}r@j#wNzgvlY+ zaU8@t7JCu@DTqJBRJ6H1{*XcZ*FZcWrp5XL`ireTo)8;^>3ltBm>%K@tqs_iM&4fH z5&ylaFpv1}9SQ%XkGJZsq*^j$4dhT*HpM7A8e=A!Fp&E$7K8wzy?;yzF zXLJq2uwa-lYlBI!&VYE)7g$s@*kH^Eco#X?C~O?yTsW{AY&vf*g>(*4hNOg;LL4Ep zLY9YY2-zKSBIN6kYoQULJwp43W`$Zqd3%Ysm$t=y->-W=Q@@A%z18oAJYHTQUn~Da z(ONM~F-x&i@uRYj(xP0YJV}L9Db!4AJN1LAuga!+O7&rUoA`|QdGY(>e@{>+I1@G| ze53BJ9;bdneOeQ#$<{2=9MY27B<)P?F70pq6Z*URztaC-17rir2W%K{VPMaJwt;I0 zo*UG4ka^JRL1za`2ag;4%;2+$T@uZSb%|f-x&cPXIvtPr&m;cVJa%?P`ikuODm`pF5D0@Nnd0e}=^tf4Zyj8O;3uUEd zJ(Bg$?4H>ZvR@k>G(3Cws^MSdC~~Ifyp`J~w8?O`^3zrq1A00n>?&uH3^c*vJ%-dt5 z$5xDey+~AKF4{bf95-UzhH=-;S>`(PmEzRmCyFmyk}Z!}zO(AAk6OR64YDn@eO)rB zWN8U+)$mr0;r%yHrk;HFROYGUALRd;t(sd9|MRfI+amstW)c63Sj2xji}*j@7xCZ9 zm_Iz?e-4l9YD;C1_oaZg5Mg(x=0Q0Q%5rB_4uj6$9m->^HiHq$fUu9xDz8do(Dubp z-sPH@%hWUdPx6TWkR)gWJW&Q))Qi<>gBo|v^a78b8&`16I^0=-%u4}CPCHX~| z`aUhcBtIoz4W;k!NAN8GXTAg9i62H%d@sHa--Ex2Z^B=LUz?$JAHJi}RmY*%e&e~y z7}Q(tI<&BmWK-dqbRaii-?|WkY|Hengny>id#(Pp;ktOJE~(SzvN}M1>UKNCe>*n5X~cgq)(L!{6zloS!Sb*IY$RsFMq^_E=C1#3S(5cqHBq z7vs@B82?&)06qv$#PxVGZp6pp)A7gPMtB!LhuK9Y$skP_7MAsH;7M(Ux}+EPDYSz$*yESQbAH=JgFwNj_;=wy30nwT2|M{<{3ikQ8-yRRrt8@pzwmIrKp!ES5zgM4`}~&qP3!RqJ5&HqGO^HqD!KmS$uyH zi|rpLmWv086UBP*Xt7=F6uZR}#goNT#k0lt1JeI|@j~%~;??5U0o(sKi9kY1f+e96 zp(IKYBaunsC4(hHBrPQO;a%u(jIQ4`F&wn$uh1y2# zpkAY1r}j|$s5hvC)MwO1>U-+4s-;S-idJ<{sZ|D5ifX9JqN-LoRc_T{)e8M!y-uH@ zFVK(FoAjggWA&wayS`jssjt#c&`;IR(9hJ@>gVbg>mSuG*RRk&u76JdqJE?PCH)rt zHvJC$Yx)D3<1;HVr)1ujNoUT=oR>L2b7AI#nac|Y77i{PQkYk0F0>Td3QG&^h2@2n zg;NWs7v5J$7tSi2Q#iNqfx?F^t1M4i)>*b&UbpNA6$U=_`2XeHZ|}F|KsXe`@%<=d zPsr%t?}P6T?hv#+XgK*kSwRYjr-)c+;y?Td@FVc29f8u?46+u>CyXkE-k?lS$l_BH zlroheNhQ-z$q6zQm29MpiWCKvqL(Ge)f$|wvG_Vr0s@?V~hsz_Qw00QC7!zO_L(Q%vySvg{Z7{pd9!b{PRFIS=3GC5ink&60 zsoLzYnqAXshk}@z;J}J$IGW@#v!m3OXRoxm+~&$^&%x<;ANnfljWrjowL^%RX&u#C zxzV6XGRPEiN-I+-;43Lbn@It8g;!Qdt&y0S71%?`a@tGn4$qi*Gh9n*4aCf% zkN_V{a)rIR+U_XLFuTe<0?TWYiJ2BWpn@7M4DRva5k<5P8CRP`%p8sdR9Y5f)Y;wM z=YzHOsI*oeG_!E_DilyLxz#p{y~J+uxqFMNE9@?}Tz(QjfdvRh1h_7PAQ-Z2WOv{W zbHNj3WcRA#@ivRwHLAPWLn)Tm-Cb4P8ewyv*%VQZf`L`6J?elu0`5s?Fi5)q!&nTU zpTwblNREc0R6svTL+L03WdaIHHX4p{P%dDhn9vx&Ln#4swhYYN3cy2|f$l>y5sgNo z*=P>BA3cET&>Fx+c^0ih&!P2zkFo&}QZ@lb%4W0`?La%xYiKvxgWg4l(GheMy$6uQ zC((!KBlIcy3VjXJHs7I(=qL0G`V}zVZ(yw<{<9qxg+*iS!4B$-b;Y`2F%Suw0Q_eI zfdOp@mIcwExxjl?lHc7?Q&Hi??+rt3Q1pn*+_-Yv6c>}$?HQ7S?v@I(%e4-LBO&;E zBTy^UnikMFP0%DALD7ZpWx_w>y$JE5oEm1nE0t}wf8e(Q`$*N-yh6lKA~ zCMz?yC?cXL72Gv>qtcBVs$V#c(+o~9Sdm{-A$%cYZHfaiU(x6bDtKTrFW4-x8U%Xd!s%k zZjc@DMi|KzZLTqyxfwNXGd$IpYk3Xo4V-qd1(~_buaTL#S?m=Xfg-TnQN~>FSyZ5b zD0%~+@=!2`D!E#80zp}{B-;Cu8a2{@b# z0OONFOXz62Bi)JaM$70NI*%@;%b0W7&UaircQXtt3-8RHWOl#}RhF7co5RgK`Po*n z?`rkR3EL#`ZOXBgRKP6=cO%=@*0(LU%xtZi)I`18SykSI7fDecc!IvaA#TJ zj_N{p1yU5hy>b~H%!OfPci8`ecY_*M>Mnzp2rDOYJSrazmyMkrT(fgZ9U6~fy&@}N z((N`J%@AV_9L;Dl>#^y@dTjb|9-E?wNZ(ybhP-JfyE}eol^eRGiW;uXZ)~|Xy`!{( zJB96ix5qVRm6W(_%vt2_-P-2-L*9F;@zR$O+S}%>`wKHd!=Y5e|76mWSg{v=R9Rh? zN`x>uFbJ1es+|B15WE8FHIv-cO!*j;Bg^wx-_n;*{%>*yb_V%juJYV8SOU8;Hm8C8 z7~5zuvrNmtqKtho(O$qXHbYq;sCFkYJ|5^Vh^r~j*L&(mmN-)wMrEdcPFc-RrVPFx z!N#d&c_W}40p&A};!MVG#BArHkFQ83lftK)rFoJU!=4`uBWG$(^2s2Z|Jwp^GrDUk0TN zNMK=VCIdN3B`lMnwg%ct8+i}@#(t=`rtcENk=Jtuo+7r7en0H3>7Yo$+W^L%<^N_G z!L2NfPj$oi1LNQy_fL8KD9kb-OoDz_!kt+ShxkZ!p>jB8h6V9Fcznu{8I)riJk;v1 ztP;nP=<4dR>n!grzHFP9`Ew?k#rvTc6T%K=1v6G0kq_e?D}&Ks<@E_=Od-OIP#OUsvIwt~{CcUW0{EW66?a4U-< zq)l~Aw>xZRC)-7F=Ps}nf31(*A=Xx4)x|%$Hz3Mivt+l!OmwoF@l%4m2L&w*h0lwu zuKo`Oi>nZH^=jteKv@T-#ttJ`u0a*xllgRF8hrT!2WRIc4@qVzg_sKqXTF;GcyXEq zKJDJRpMsgn;GfKJB?_bnRXW_xAvyX{j58F}GXdDwVN4IR#Z|4(&Q52_jw%OS(v3eq zf57d``!Z%*ja%>Vn^ziBJyHLuiqdNF;Q`V8TGi2`w=IUN>Hq zEW1H1VP8Vu!0U$#WSIcUs&6pWK6nYaS!L!Pa}DxJM*nZd(l4Nkxm2-Y5iKX z9322=!8bw8O9BSL6h_r+m7V9+b@HZEbD9unN#42)yOmXT(!u}1YDq93?``wWj5nJ4 z^ft5edAZ;N@vM7--L)g=z18R_4RnTG2j4iH!_63^`&Q%nN)D1cPbJ+$T&7-m+T_^NpRFX!X%|IYsWPW)o`x zUX@Xp82&(-Szd-OpC!SR@6d-&tmPAHd6EtGwn2PiEuUB`C>2Z)Ocl%#JOlx?b%GZK zTLt?B?+Q*qDD8KGD>%YiLilVKT!w2PST+kc;U%~ezYkx4FURZfjSxNl7XCh;SR4LO z`19d!gnt_TtFVnQ4uW^B!kNNV!mYv+!tX_)q8=i>Xsl=|gz0V;y(hXD5gHK_ksM); zxG!Q=#Eyv55m#EZX{F#3YybVkT0W_E$h0AQhmu3nhCV#>bZW;`OX~Bfmxrl`%@}qd zEi5fJ?eVlP()*-4(|2YFGKOV5l5r-pN2Vi_PpUmUrO%Z4Q@);>GWFSM#5Bva{nNWl zubuw+4E>DN_hI)H-?x8ex0!Qho(HveeQk@{^4cS_zsRf-hg>eKR`TSf8gkRYW~XkHx^hIyt7cgaQVXPi!6)Yc~J4-iU)5#RPxZ# z#R-d_S`xIxvE+k?6CYl`wAIq7OV2%$@yOOkrH?Ln^rvM-%idnDTK@E7Egs{OYX34x zwOtuS%4-#Ui!S+DMc<=;ajfbmpwm>~;A)9}Y}T{^4#B<9jo}c~G0Ub*n>+O3O&i{{ z;Y}O3dEmpFHoR%Wn>H=-T8wW|+hRqFjV%tgIMd?)TDEN2wWYS@@Rs(LbjuYjUut=% z<>xJb3u_(LCoDN^bXZN;Lt)Q_?G5`V?Ek{U!(+mA;ihmmZ`yR)-RYaoZ8{I`Z14PN z=RKXjm9~}Yr4`Z@(gV`VT{?6b+NGw;>MlpSTRT{m_8XSWvJG~G(NJ=$%5 zx69o-chBfPoi}ZG6jUBBh&OHC|Ld4G9Dm@?Y&^~{5RdblFMnV*#~;|v%O9v!)-wny z8yEzyV$}$%*h7769W+n2`lv}7yFcN4Ib=e=`B@gwHoPA+oTGc+bzpBTguH&t2DW)64ExO zAYUf9+Y(XSwh?ylk9-<{Gobf09@90+XV7^2jJMBt`;52GB;|l1vrY2PXd=2#^zi6O z(N9GmjK0`Dvi*Semi7zUztaBW4uTGSI^=Yi)?rPD!yT@4?9_2c$LfwNJHFBJVyAYU zbe+a`dX%@%c$Nwt&y{yQ?JwH@$r~fzIC)_Bfujf04jy_l<;^$V(!aIm(4a%R-tPbQ zj(0TgYSGQ_- zi-xyoB9BI1Zri%8s%=5r$-G6=9HSreyyIE@_ynYhzfLNcw0Ux?$&SgqRl{2~y}p0- zU%G!CzC7~s`5&A=-28FT|4IJuxt~-&?Z1+J<bjm zr0c=gSNz`l_nkM=Zk)MUdGjXS;ucoF3@q<<7_nGBgAt33WHDlkS&UeVFRR}e#{3Cs z0z|8ELQ?(j3(Ug}LcZX?aUBn$RnY_>7&~0eepOb~SUin9@@hpU6FdlLu>_C2$|JAx z$g4c^Di5IL1jxE6NE*~L$PlE3Z(}`}n3Kg-{c|9%-i{5h7_$Iqca@vQPzaI$J4at& zKj@DVA^blA>xlKhP=VNi8*l;k7`7Yu06)Wi z!>$T&K}*2`!6Lyj!83yAfe&yuFajPG921-nd>}X{_*HOKa9wZ%piF=^qMjSD3*HUy zf%n9F<9z|#q#v%pDLfumDhLNLg_uPw zAQlsk603=I#Cl=_umZkJY$mo4$B1uT<5}Jh;p-osSvIpU5+Fvli1vGU06!Le zE&4|Eo#-cVf>te+dP2O@6=5drV^?mRIOE=Rb5owRI$1fx|6!kb>HeP>b}=q*8Qlvru$uYQ;+F! zJ*gM!Tj|^A+v=nB-SoZmee|*VIQ;4Ojk_5n0_-|GyQJ5S%?)13nL0!7e*GgD-;(-7j`J@VJWrP zEl$fE%Y4g2oWfSm{|8wQz8}jHj{om_6mm1<@sK{?1Adlxg&OxlEC)O)@5HQ<5l^K}IF0 z<30Rr2569{sMXr!Ci&Uw`FK2(Obi)Kb?qn+RT&asQMY3YEUq01B8P_tSfoE)U|H=5 z5HcpvLYm?WwAB`Xs5D7{kH?2F&@djT{Hmtc=7XG?-~h{MAcnggW8ms5CAE1BEn>&O z@)h2~8K|6Lsm%pJ`2l8nY|I)szBUJ>WOWJb;WWh?2$`*AwZlPJQGh8qQ(aAP2UgZ* zgD49g*yC!rNE)*T7T0Ehyx~}2{3TdWU5YJcf>=Q|JTq2|921OKQq+)8C76Yiwj2%He1%0X~{$)bSy1kX3WfWHoIcCYl-R zS70zEC{wg43RzOT0_G|-ltQL47!qX324j*zA&*Z|t5h;2%wZ(3T=I$}g<7LZP|G!P zeN&GCAG=Us8V85PNJ!QjjCz$!ox+gPQ%b!oNu^fHk_>WHvQeYetCFEjsqhF;Y7Oy* z?dnT;uy9f(~Q-&9U)WF_G3_W#;-NMj_duIIvdCc>*P;k%f zXmpgjZv!j{xVJq=f=*6=BdHAVk=$N6BfHT&e>gmQqI{pOSKconuEu| zk!U8ltC{i&C`XpFn2fVvU6-M_85CX{YH0L-cV2f58MEz3FWR(f3?J( zk_u%Q2eLz%b0|{}`$G<`u3$Ng8J^i$&YB$N*kho)-Rv|Dfii59{M6>iXT}i9K|!d1 zCAqKirM>silm8B*;7eQX<+}WL!qc)Ll+B4sfESZt$h5*QF09QCGMEy>o_T@g&9neQ zh;QFySjPcu8)oRoN#@vJEvSl!0=8HR{{NypvM9@UwAt~uqDG@leo0;+Pr>&`GLtt+g0?S;H-fIuSWPPtU zxB}6wn88Z9TrJfDHM>ok>afJcO3f7&Qm4JN%$;{2Dahr=PYzDiF1U zbvvudZ9W97MG?Jx+r3P#IcBTfT%mVZ^^VdC=x=wpl|>QKrn;uv9X7L*?V`AI7uZU) z?^d`SV)u>Z!2P3p1EPRRxAB2_Ai^7ghkFkS1VjLLlMh;WVPZw;*UC@JFUe2IS3~JL{1JQ$By{Wmw%Wr;itoku;d}5m z@lE(^@M|;F?!$M0qTp*ra3)5*=>XRjXM|W-1$Qc|%rX@9E>`_zdNax|qda@nGDs+QMQ!h`LBy2D2CNu~;3wsFDg?)taLY**5sDyt7q=@u{miF~| zKg^ZSDBE^eX2Y_|V>sE-D3It?$(cPX169HaduoP1@4ne#y$bmEQM$2kP`a6|HS}R* zxS(z#{FgzQId%v9PlPSyL&**a#mxA*;CBW5W>l}nYcoa}>>Y$Jz$g-(2nCT!Xb3Hm z5_%$@&=F~DIT1>O2?Ml%nHFS(EGIo=JN1EFCq>XOrtC2+n#+OuuPT7IXbMeKgrXL} zsq#A7-!yD5I)DzMH$h!XqK$M4qq4Qi&hzRlc~h!wtYQS(j<+tuZe^90bi2#VwsmM| z%XOHmU1e470-MtX8YkNf3YT})+FPq6t;b9D< za8X42CU%S6KX#`(HPPy$w{i;ESIuH~9ic|wJU`)5;{Oq2`5eUL5`6v40r;!9x-U0FtfHP`i6`r7= zCLD7aPE5gV!YUEhr0WhpC6n7hG>yoO`L&r6;}*fO+Pzu`nstqv-%dtS35% z^@ae%Q4oMwNXN4Ad{`_51!6MVR38)wL5!FJg8VQgM$x0`vGqZISOTW?b!B1wA;@nG z6XeI)OM`iP31gBzB8$tJ99jWm21YtT(StJNgQCb%t_(Sv(1$DQn6kCfVTC?SZfUi( z(#n(%K>2}*H8v>YO#bOyPN&3ALb-cIO{E>`e}!^nrOoVu{Le6^-fd%4dqNK7Fh~te zhVnp!Lc&UY%EdnATXUv*S$azqTCGMp)HbQY=61`n&6aYr(+bLSWwqHc1tA|DyR|E4 zNK$i}^lckq2mi>YUPnd^xmgW$4O?ia<837f{H<|HUDal=d}LDQ3^k0CZ^`F8-lfrV zm#g{i1eE{cwh}^f&^ELS?L%(@w(Bv#b^QclpU`#VxPG0Yi zcS(SDlX!exbFAo9M7FypR@kJ z^XliH-_T*h;ui$GRTEgNrkmIN@VbLCusjsKjt#V{MiT(1L&*l&^`K+up0sEkmJiTk zldzEh^D&h!hTyv1v<3eAGVY;n;0YSTm_H#+U}1UX+_JpDDZc_()VF!+cq}X)3yTLr z1uPv~BfKCU2$h3`<$+MkS)3)CFUC@dV@Y&%_1JZm_ZDBa&CC2b6V3WFVqx((SpNe! zSltqT>vAp6AQKlwh%$2l!O3RTJ1u4Qi8kkPtQfQ8IjgGNG=@Tu1aPVQqIf`|PJ}T2 z2&^OcKjoMjGhiveWH}5xpqW@U@JSV6X5eA6VWpTIE5{aKj{y(bVeB*PH|(ka7qk>C z5G)cb6Feh$Ua(EDTX0ZtRB%jiLhym$oZwf%Rl#+^4IJSDoWO(d5WEE*hIhfc;XUx4 zcyGKfF2nob3Y@~@aW$TeJMj7Vvj7)&3cpMQ5uJ&FgptT0#t>!1c%p)E5L1X*!~$Y5 z@hGvHSVycUHV~VLmx;~97UCH3Epd^!LJG)WGLq~z;9}yRyaU7 zNSG%q5RMd@grkLHh2w<9LaVSuSSB1VtPm~|ZWDei{9P0+GK$QiX`&gT1)}Am6{5#Q zb)rq8mqnXJyQ1EVIuvy(>U7jcQC~$}i263_7cmkG#Dq9V93pNdZX<3hjuK16?Zy4X zY2xwXdEzDFN5sp-kBOfUKP!G!{F?X;@nP{P@yFsb;!nkA#h1iCihmOSEWRfGU3^o5 zNjgh(lGGmm>hVL5pJVWtkeC)RVKJ>@+QhVtiHeab-&7t_9#MX*Jg@v(`Hk{B3a28d zE>t(F2i246P4%T@R6j~VB~b>z%@|4zqtdBNDx1oo@+b#2jhX>i8jGlhs3p{s)YH^z zY9sX$^$PWx&aAWOs&!Lz({wX*Gj+AP1-eDLhjdGHOLdRxp42^~tJAI3J+FI3w@tT0 z_nPi?-8;JXbjNk?>ps+dtUIIoRQGkpgBgo6p2%38u_oi$j13ttW^BxODPxDJ$YeH+ zH%&6lG0inSU|L{WWO~T7#Pp=;Y13-c8q>3;=Sw^*jt9t@*6PoxBKLY#+@FVb_ z8-dc=QlP5JCo~C3$x4k}AyXPt)Ij~GO_ssGRz~U7ko}UZPSzwTWbs;+l4bsr>*I}7 zJf&8rP==<6`5My*IjWqMRkbA`sWK$6l5WRNW3FW=l7@!{R$`VPbxdh3LqItuz%rU5 zd@8ABNNUnL2KH!t$hfMiZ4S4~T0E_mA@!*V4y>RC&ZnknnDo03eHHb_v(J>)ni($2 zj>*a-DqaaZw3HzpxG3dnrA(vO%VmmWZIUrro03GS3^FP~9k1Z7NCPy;Q`Bm0a(q)) zqz_G!H__Bu3w%s?erSLtHD(_hUklW+cvj~Ci}52#s!yY}*Nz2YMIiwemg;JP>&#I* z24q?A0LyB)P*UKjVRn0n0*TfkmfF!Ea5xrVfmsm$YIjfZ$g$QQ*3=dT1CQhE$NB_V zQWKPzm)zax@gBqG2cvrK1d#3FI-^XgJD2 zxqu37LSxWaK#48|EN2G&c{-Yb?n5&XjYgu`5UP4VdH~g-HE1n*7Og|iq4nr_v;n<< zHldf$X0#RUfKb*$=xy{41hXE7aMt4x(E0&{w4Os>LQv}k^bPs}{e-Tds}R~M0;8@C z)(%2jJ3w%2U#uUPck$RDOb6y&8kl#Zv7-F$j+%-JZ}N8-YJ;KyRXDEPHpRuHj(Y~7 zpu45Q>~gI`;Yf%?K#|l6wWb9$P7^dq2hqXnV1~Lauq8zStC9p}s6*+NbQm2@3z;-< zz(i)*AyQrGRhDv_HMz#+uB!B$_|ZkVdHOtKkwKrQFDi=Y?&+Ihc0y0RE6-M0U14_H z{MH$ht{-L0DawK;PF7}aQA9*hYA$SMRJyTGf9w239H=6cYN!u7cIU+~D16XCDh`72QpyRBIE5b2L$}~)N_wL{ zCT@@&=1SX0u4r?OsmFb0cu3cv-e9oD7G&l!zeZ-}X0g|31d70NM;UXyXHkI$qUa4s zi6|i8ibn}Z4TM!%F!Kk{B07R@MYpEg(2;aox*Z)wi#MP_XfR4dI)GD80vLY-GNKe( zLPygb=}vSvT1IEl!|8FfnK_s3d{g>8w=fG54G_`|6d;BwOHC!b)|kgX+bZ^Ltyfdn zCO_^FNC~cho6ZZD-PU)t+%mJZY7)DSe?3d2a;q42cXD8BY*QQGO)*#mY^~qnGy>{w zIGj`mkg3&+@1`5Yox%4}9*eV305}UHnVZE0hYL6hY>{D)1;~Z=0J$JA!Mjh+pe)E| za3{MEjfTswz+6#dt3!n-wl$-vdCy)E!!%U~pbKV(Xr>PCEGyhmT^O8hzhO*u866Cx zjg>tTKdc3yacu*s z`fv`YqKHV}ac#g1_dBcH&?QyWIN4qGXPsfsD$8xdHu_yh+=^KxB`zCt7P))3wmEl~ z?|oHYp4kF@0ba5i1hYf)iJtgY(K8~AaGx+Y{9<@*c-ydzVd*WuZaJ%Erxq`?NDcig z)Q)OG@sO41JHe$8P4LO!YCJdShG0?9vLGq>Dw!qd1an^n^;>VQz|nW6$dxG?WwKl* zr;I9@N(FjUQbN31MkOmWDxl()E0m!5E9LQ=E~PdYG)cyIjar@1lrGiG8=9nGe?kQ* zilh{dZ#A$|o76!_70k3G6k;GWNw0?#eS;w>L8eNfRB(Vwl`Ni0QfrbxU8LknnL-s$ zaR;cOvvvSB`HbM)b-W;d9h7N2J;8Y!U8MM@0e1VQ5zm;34T^_(!CMktEZ+8{Hk)Cy+WN-NV)a=k1*0hE%2q zq~Cjw*aWW(e0acR_`Ugv_4i1K?=yjT@t#})J`V+A9Zc5a`GFp*#u^;)61-sXqQHx3 zV!D#p2v!L`CeX5)de9Ni-ILL4{G=l`RKgKi0)0dck2*j7g!soqkXCc=q&59uC7xv* zRD}UnSDSdQ8aWFuu!^^jO~kO!Kfs#li9S)UUc22}$49;LQLlW|Daj{Z!MTOL9FD-Msq)wa5=A3A=#-XN?u`M;uiJo^jh8;nOZqZHG`lIPHsV*nF z>2mh6O`P9jE}B;q(Wb$RR__2=gXa3WK<1-mDEbAo0D!L-!Cn3kS`5(F;DbSr0Qhwr zz+cNDCr3dm0RS7kGPH`0e*rB=kD(Q4C3+l6Pk@Ug3YO0Rc$=Em(*5ZHP#Or%k}y~f zVti*EeO)EsqNysk`Ov5qMfCD*_tM1Xn62PP(mSlIizK_s?rUx~Ix!8L59rl@%LfFPgE!5|6DG=DAl^D&`Qw#8UissdKVJC*wblXu z44u6TXy~O7q{Jx1OqrpU_fv`gGAU08&4)d&Xq3*!92s+z%rP=Y{SEuuf~tf`!uG;$ zLW8igu!k^R*axyebiyd168;s!p^zbB5Vl7{*man#N}EL!cKkUUqgo9ne|^ zBj`kx@NM=n8aQRqyEWJj77k<0Y^@r4S3#H<(?bgTX-5;`zYNN5sCU5sMA%Y3lEzbZ_rtzs3LDO8!D3v0fnA*S)^Zd1dx8wQ98LE z>9;59g-)RN$JQ&bdZ*JoWewDwM6nP<#QyB2WAzyXwSWwaP6IM9`Vf6Y524fRk%7?} z^qDV)7C>NrP7h;{fr}y_=H`~&Y6#`&)I_U~-pVOtUo{KC1w<^&-Z4ZhG_z#jcYT&D z1lJw<@DN-)1Q*Yd$=x?R1Q!p%#Y1rM5L|yH2reFe%lNqQ)0D0$r716@TpkiXWZICu zLrETfi-+Ih;kQ0N{6+2;pPaLt`|eBEm)FnF`6~RYRt`R^Gfxx9G|!Q{IG&Z_y<`%jkPR7tW|h7e+reYuYS0 zVcZMb0d(OjI%e6FX>*4@ylKOmHoR#AHxGPx(}p)~c+-YAZFtj0{)wWsVwhrLjpmE$URI9fZ(9S5p9RZXrsUfq{BZFtk>o|`tenl*_uW7ho4rltP^ zY3aW)x#&*FfoH;MvLP28hZO#4(-cY#1lPnT%!rkGVOb#3hVzbH$4C^t9>Sn*Kp@mZ z5Cr9bFsMf%04fJUpcD}P)Exq#;@4wAC<+U~LIF6iC5ptt>0AhO%A@n?0(t}lJ&k0% zXMQ>9OwPS0DyRw1T%#zTJNIDSPFTlgZ8LBwb$`lmm2o@OUH{jHCT+7j^x)}m+7PJ9IJyC4s0G01L;~_^ zCjh1B1#m%10B0Eh*egbW3(5jOkx>8+WPv!3N{Hx~1mHlm5T?2ip2Eu@%JgXf1$rKB zM6d9CmgGS|?>tZb926APE~saaI%sInsG#vd(}ETSJsGqqXm8N*pmRZ2f`fx4!F_`V z1!o1DgWbV%gIDr=mOP&&&-}u>o_PC=x6l6b_L;}V!lYP_rXvusp6DRf8zK-#K?GtU zL+}CteON3+1!6MVR38<{R4O3K54fr+dNe(@KFSYEz_h-;EUZ67`Hf+s{5X4QFmEqm zjF&F5xV+j8sv4t|MLI!|hq9O{mvZG;whvdUOv@+!bP<~)yjSb3p zI+W*fJn8sJD0i=@skB4=uTYMxw3%H95n)Wd+h!?)vK-1`&b*vtC=Wy^B&^h@TZ5)1{14 zfMD}6~R zwhwz7JC1#XeU5#D{m3$5gb5-A9R)Fhegcg^FGv&Q3C8gLEZ(2R`?Gj|*6>xszsgbM zOwV~Mw+&zwZ^->QFDY+v-Y5CJ@@w+<7l;Z*7d&6^%Lv1Wr6bOc>^E}8$ahCYkFt;2 zZVEOPnAVxD6dDVc6`mg*KYH%y561KyGkMJ0W247bjD5XGRAesNJdPYUV%&yt*Ueex zI`fs{)Z!a34izp)LnEwz1JGN@!}$%WEErH_<;Q@`|TfQcUx0n8V_L3em z_*peZh|nvlkI=(Xo3&~doJb8{(sCL^=>4>{^B0|(^a9Df)_vCdvrT6c&c6P+;XiNHbn}`aUUyIimUlb)6)c~jU%^JQ^ee?I{fdR7U*ViO zV;J)%Bq%#Cc}OzwS#cj67G62GEPaqr>)SkaJQx-ahQ)(n0ho@h5nzxNYB)e7U)Z1v z5T<2^fURs6g2xNjlMHnZ#DMNF@IZd>LPQiHCn)$IK%^6c2o0e{QX-Mi5rYW>)M|+V z>^e?ZcM5FP7X+vjK#IITMH7J0$ajDC0rZcX1pxXS`c$#NMlRTc>#&7#wx9WUBvJ$L69+Zq2m8b$q5h@8uy`OW28OE&D};O2PIMv^M5^Z= z)D!V=7pD2$j~eDK4KfB9g7iol)F((AqzD?ulv&U(<_?uY@Sy?fdj=W(?jnnCAHVzf z-XozV{?_GMo z2L(q3#{?$?9|+C~eid95To>HH5f03Xcn}_fx4^^jE_gS*2i_C!jrYZ6ct2c$Q+PbC z#h%#b4Q9(F}Da0&d0kN2PlvquyBi0ieh)u-H z#Aad(ag6vD7~Zas0y3D4B)gE^$R1=*vNze6l#%_(f#hIPM<$U5GKCyU7Ln7)735ZO zPx#y6?}ncY|7ZAD;n#(@FaprsdJFpsWx{@d^+o~mn_8$94iF9!<_QagBZVg6XyI7l zIAO8SDl8F}3C9a7go}jRgdYok7e$MVBC}|kXohHkXt`*G=y6ePa_Vx-D9m4}o^lpib4E5BBLqx_B{s8&>0syh`!^`iPvu~Zx- zr<7DOWu%5ssZ<)3L1j_Hsaz_bs-mV-_fa(UAhno!n0ktOhN`1BQ7==Qsa?8a$PSyJ zo2r|xyH7{!X6Y8{9@H(?J*;~~w@mkxZnbWW?pfUi-Dcf(-A>&u-EQ5xx?{Q%x|6z( zbf4({sryWKA>*NpB^gg<)Mc#ASeNla#y>JPWxSlR(=^UhY$`WRHr;QUXPR$XXnN4J z*z~aJDbq8iI@4P4gRM7hFuiEnQoN^lU-3J|XNo^B{)$s~1p;n~K{SrjhSi~R@tgr7f7lM z39O{skxH3sfyW9P9vWDQ{uFSfwG6S{m;lRYid3k)mZ73d>lxUi@!@0b1%TyX|vJC#UGD@$8NYZ3=vL;C(i`S}@9@@=#BNb1n)hSeySEUabk2l%W zQVSGHSbk_=1vRF*8ehxM@Md)htQ0?TvxZFCvRa0;vM405!kT2?t*m8;el2)lMKxR` z{`^y|LyBt|s>0z|VC8wp!#$Uvwf3;4wk#MZr)EDE8(2Y2kWSSTzQc5>0O5#$#JnH~ z^)&x6;`dDvRul~OQ+w0_b%ad5&S30y0b42t^7-OWKO{#(Q7Yu~rJ;0`fihvrBpVG! zIVcyh`%GvIWcZZ;>U0@Q5>-Hk-wbpgnu%yM63s?)(EY$xRfpCPoM&l-sPyH7<8mrRThlF3Qc*=NXF(`aFG6QABr7-wd-8dg@(yw#w=Xv)ksk z&X{!lC}U1h7Q6zpGINU}B8pNWq%Ln%y0M6BX_R^HMPdeo<`538xI5~>9HkY=V6!5o z*Ix}77^!4XNa!EC3RVYmgLkW$eJrF^bT^q&txX)xsT3IIQ7u|DQZaJq7934UZ`8-c z4YI>rX&cEEZLTr(xX%o6?Hbe@?Dg0J;BkjvBQtZe*wYh%BCy<1#$4}NRG@(l( zqv?)xC%PLgqqFGY^f=ngoXd8;yd$1Fm<7J}qir`-S!yb64mb1UXIuSv>+7`?w#kn> zB*#`#0bm98DhJ!v)>j(G1>ZzH%QteX81|aWfvvGkZG1PyKoPLDeuvWtsGD7%r9(+| zIBd>(@!fQzxRdxkWb3vB1oi^JSs2OOEG{@)z*%66)iw*zw$SYXazS8%*Pc993STq0 zlU;~L!{t|CuBfrqp+Xefno-oeXRnB1nyLfL1v5i5QwMjJ74E1m3{JP-Fs8bU4s&sZ z&B`8$AJhVH%h(*H?lNeJuyP{Dqw>*k+0?V&)cJDXRKnD8^g0&kp&Ctq`7tHUfIRe| zW9Xi=XdO&7gZ~LlX8ljSSpQQW&i_;t5$QXw4VdA6XO$beq>36RyQ}`JGi7FL)g+eN zhHdn_j<^-GN=jTd<}7meZf$eku12?(=jS|FLRNP0i?9^>WX7}|VuQ14w@3l`e2O&N zSyck+m(M2d)b7)@`C?^7jm6X236^25@?3_Gun$7mWUJZ0lvPl!vzU#!P=>4{?1O4| zQV!QgAgC$N*K_rP*b-+-zNda zhx&_Uwp1oVNeUTB5q5Vflf?w<;&NwI4$~j{;A5>egAvO8p**X+Dvj9($cVysxhCc^ z^-TYhykm%W48h}pr^x&Jv83>hp})Ul=)XXb7gbM@x5`72w+blo7)m@1OOZE-9t;Xa z7!c&?82yr`$nz4hfWGrSn0<_b`64Koaef4OYPthxgVSX3u~KcEnv$y%v`X$jcwP+Q3i<#jDmC#5JrBfNT z@IOt%cMP3ajgA8a;E=9~Xys{c3JvDjZ=vBkg-$n1!}l>dQ3n(AXMkldiyq=V>d(*@ z%=8|^zL!R)*D>?<9N9!bX!yQqHWT&;HTvfH36~f=)S1`5T~#0U?cuB-;BrX3Lmxg9 zmd}LcxhmKvC(l(eg3pBIv3+=KA0FF>$M)f|eWuq=|9pmi#_Id9`-<<|KeOA+IWx}# z`}F$S7PaNIM`p=qEuHn#>=Cnf&gnRZo^$U0A@{#9S2))>_w>90^PYZyc)Bm|;R`b}|73nLsuk5~Z$;#`Gmpy)JRnn?WPjq-< z{u94EX?^m#Hdjx5-&j3VW=iY@^bpRZN)1Nsr@Du#PtOCg*IGF-#zn#gbk zdc8frDqArWe2F(ypEhOIAoMUwyhA_UwBbz~-n8LO8wk`yh&OF`*wR6~X~UZ~ylKOm zHoR%`O4=*?H)}R;e6`1`Pi$$kWx-Z#>y)jRx0P)>yM5I5<2#1!*uQhY&MmLSz4qL$ zF1uE}-uCsyyIbs@v-{?rse7*Mt=@ZaU+KPc`-}E}^2W$FP97M3;ON1$gNNQsdGn38 z^l$AsH0aQ-xBI`n;~mXA+uluhckAK!!&{ETAK7v=;po=))bDLSraiXv_`u`4Pb8k$ z_rBr%H&3RXeD_r5spB8yfAHby(WlRTX#McQM-?Ca@bSctuYE$FA^#+%4M)TG8ymfI z6$a?byczhnGy|7%hE4O|Jl-ph_X<}BR(~C& zhZgXrAkSdYqE(BYEqGJV$eV(^Daf0GyeY_=g8%p2PpY5xU&+4m>CcrvU;AajuaaNa z|EBrvt*axhetm7y^;;O(Jq|9cCl=duup<_S4qTTaKMDd6F%@mD4?tuX z|1=O#h-tC@w1u|S2NW{t{JyR;Ob-Et)&_12BX2M9jDKFshiClrj)ecxColZ2DK74M zMW0>q*^gMjLa;#^KhSU#*lm;Sj#40abXe^SID*vfXpYnIE?4u}2d2m|Swf-B+8Zdc zC=Nxu7m4sohY``HCBjEP1ucIaTM3~@c*Z}TA)V*P= zdVv_lw%Jep%)d`kWJ6uUY7KQ&bqHy$K%)GThPvXF2yMF`fRjFMsO$a=LZUecZGF#2 zyKe`S?9wu~ySjhBev>9minH4+aTXwkum9Y!Lw(QY3qJDh+BmuE6@7NgXFu-JJh{u& zeD;AU{;jMUp2J)nG&E>b(D zD}!GQ-V=Nx_;Yo#{NClgpX`0CkDyO{pRzuy`n=ay&^Mv4z3-EK zkH?a++E_ODm`pF5D0@Nnd0e}=^tf4Z+v2|O*S(*q-^2ah>UTpPFRzfV<-I_> z7l`))@m`>R*9&wD<6j;S5ZwlG6&uYUu3|+j;;NlRTpjPr_-AFzAD;0qCz%I!<$+xR zX^X+!`W;Zqd^qlW*tmGSt_q&<575Y}0CpcB_urbnOAOb_5U61p+)feON53ET)^wjM zhGBSYU_oTcWp9pj%J8{ahJpBU=| zoDdW?7&BrySRPh@jl@jA2{9Hp{wlF5Yy#%OYOqPz6l?|dEb#q(j9n503qk~~1QNjt z!Q+B8f{noUcTjLx@V?-T;8Vd_!Iy#`>N);|cm&=WkHp*IVm#W1<4=nZzz5-pxE@c& zjrdr6I{p~k2=C(O@Eb%VAtQznxx_f4oR~;VCZ-b8iFw2lVg>OeQ3p(auM%5{?ZoTE z9%3Ky2JtEJD{+;?$q2G7*_G@^DoBcqC)K2u8~_}D!^m_plguV_$UL%utR&}?>&OG- zk?_;uABBGr{$2P_!WP0-!cIOMe~Ci9Fj;664iTmb)BHI89Kvd$Q|J~>6iyaS6+SLJ zD7+wQDe5K46;+Am1KVGnXsu|SXrJh)=$Pn)=#uDXmfugra{I-J<>Eo&M6q5xT5K0P z#cuIL@nrE-@oe$^!1Om?yiok0c(wR-;P(4XB9M@hU`eP%D2bB9NMw?D$zaJ4NxCFc zk}b)R6iKX-5=oh)Qc@+EAaO|^mb@Z)Eyf&Ui7AVziJ2NRJ?6fc*)jKne{X)wQc6Sh zrxK}jY6LZkDx}6xHPkHX5o#Ir7`2jGMLkJ9O|7QZP_I&3sqNHGY8SPe+Dq-H4p47W zXQ@lnzo;KnVJeBLy{e;1qcW<7s8Ur{)dZDGRij#>TB%Re>-CxX5&BX3Lj4$hk-khn zUSFYi=&SWk{WSf3dRjkAKTp3zzfAv_ex-hue!c!5`c3+m^;`AZ^*i;u^anG`Gb=Nv zX3os4&77V2K<0wXMVSv}K2|uWFtKoGVSZt8p|!B2u&i)=VMU>%a9ZJv!kLA&g|iFq zFPv96zi_GL3CmNK=PWxcyDe`p_B~+Sd-?y$x!>Mz%R!d^58sADc7==x{yKPia756C zp#R6-m%uksZU5iNOu9F1p|nZa0xc~|Q?j*5*xE_bjh41_V`-s;ByB^}q$FwCWeA7@ zKEVwUaG@XqD!4q^L{=4jA|MKgqJn~gqT+)4@;{R_ZCcub{DY6@?@m9>oZPuH=gyrw zlk=T(?)lQ(16&>TBXu9u2R7ja_WQYn&)RT(0s zQl=JZ(zRkat&r1FpdnMJBq|pdnM9hLA`z#^WyzX$xyYKiXPW4TTnu?m1e$6Ce5hk0VZJ>ZFNQqLta-CRL%qLmHM9_(b;gSK z*yzf6v)J?N>03^|wybzC`BOh{CMYWLF{xo&Ry@BHE4ixJdEdM2FE4NGCt^UNjLybO#vJo9Ii#67htTNCEouVL*VMN#p}4DgxT`N=%W5De|sGkypqR zGgVAArpU8S1L6`)kq6G2{~d}v$ozf5ZTvTZXxA4{*)D(ftN$)tU7eXDM5xx{uw@p~ zZJafomwRm&su|=@_a02L7VR>7`9*dR!!oqEeBH9c4 zSPgc4ElfcWBjlH)ud_LzeUqSEIn7bW$}2!_qH{ragS;HOiLjdpyNSR>z`6}s`iq(9 zH*hf2fZL#z(+s{@b)Jt;VfuOtVg46R>Ivfz8(H z8tV<M$G>Q2D1?J|KWI|rk_P@D6(-v^P|uQvCvu?YS0*ZKe2HzGRX|7*Xthw}mR|6%?= zQC5KvjE%pvM7ZDh!5mgE#rzcvkz2>9d@buOj-qEWm zUhTNS39dJ|n^zlH5zmVy<`YYZdx@3A8e${yEU|;wN4!qFMVune5*LYYiC;J*CxjEp z>B))b4CW{~G|r5Q=f(c7&x^%#Vl!uD?#<$6ylwd?KRf@v{0|Be3Z@pkINEP?0iF|!=fvVU zv43?=?BB@$w*vG3Ax<$^dUb|cg8?Q>ybSW44fRHlNj6|(q1yx`-vK$!TwiN~@}EGC ztTpQF2vKZ+N1VgRW~iYc=mLeMgPd}&QIeT`HT5m_{TA{!RdZ5w3(%!wSRUW3~ey9 z`ODDeI{E*k(v(D@Duw0$lPVL1GU+YA|JRYvu08(0&g-`3|LeSNYyQ9X>tg;t?BNng zlO$dy{&m7Y$jaLJ(gN`?6jXb474~xV{>=Rf#MLQ;SJyO&oTVUe?4~LqTc9Z{7V7J5 z4Xg~WN7xT83PNF!%}s!Mp;*)(iI5a2&`^|y($PqikBZSaG!YX0R6`mc8^kHkM)S}@ zv;-|f51^IkQM3+iM4Mrn<2JMl?L)7^1jnQ3IOem!d={9`0`pm@Ur_(38KRk^*{dbB zncBtL!|7epOE8}W=Ci8NfgN<$SiJPzFyy)69lhG-)s7qVf8F42UTt8-f0Ww{0gl3K8JI02zDs%+Lze|z z)^<72<&&;t*VwL_uKKR?yRPf{O4sv|evt{0*^yHsmqb1tc{uWNw=Uh}-AcPn$F4KX zl!2oHZR_oXeS&?vBN7s<9IEeMe|!Deh7k>`8h)BqI_>%C5z{Tx56u`jW6_MyW@gNM zd=`aWXU}~8?4)N;VAt7Sb)8}Uzh+Ym&vP=`^-aCesiUXUjm_QJxqv-D?Z@h%&fSprzmfA4XDeqP=MBzr$oT&S=L(6)V94^{hZK=Y$myR?jwdTg8+jYK zm|RXalAD3#;vo4pd4{}1{!IB%T`3`C`5#JUQ6-d~no8Y9-9@dWHb7?om#Md@v(#nk z4{j*82X_#62sfKMmRrT0#$Cu=4%z!(;J(5=&OOil!Ozbx$}a(XfUpPXdOSevb05!j z!gHOh)2(mS4XRsMcV_C4sSixOY|Fu@W_`^1CF_5G!t%tK4TT$C-l*8PaZ`^?OP}OC zS^wn4r^=r?`n2}x?VClL*KCQ}vg8@`Og%<5-~9RQUEc}*DyqT!f1O+3?A9Ah@QU+w zLEi~+zAl`v3+L-{<)Cu&`r&+Cp8RB(|L>ol*cJ2tVg5hN|HoR9L1gZA*|5Vy!ttLaFOji{YXV>bgjM@2a+OAyP45O`m?!QpbR2$%1O`UT8IYU_9 zut48xY{UKM3u zUmEbAZPP2A0qi;U^ey|KH~(MLy|L2+5TJ7Y5 zt_mMhYqrn-=cGWDp7iZ$wTzLg`2Unf zwa$R~|7J4%nE=fHcdPLKJph>IVMLs0FqP(kmoQ(#+t((hY#KtzTU1G4{{vH;%Z|v-CnWH zTFBOC%N+)zHXY<4Ag?evvf1fSaD4KZy`hLL2bn@Mt2JypK^K)YMK_X7avlZp2%|ZZ z)dk0)it8K&>@k%fPq&!!*bIJfF4QwddwLPb{Xu@uQC*znuFvH-AYC8Gka3Y4Uunw7 z1{wN+n^kSgV#}dDTt}VRMctSJ@@89oA$#ueAfMCO(lbGZWBLUdblMz{v3S?5W=+iOQ4%2{ThYNxJss@voMujh%``I58JBR99IL!x47uO*p?VU zzSwk3D-}(NDH;3^rE;m^l#)^*A(cv{Q6nfVl&Ywqa9mI8z1z;V^J4Rnrh;DYw(kQv zHHV9O>@3u|i4=SXXYb;BwNQAR+Ft&4$idl=X29zzxvra`?N#EQ<6eO9s&m{^+|%C2 z;J(j24S%OvT`SLZ@leBgt}P8`YIf1Z)j|)j{cOBGpG>QxTS0%7>zY)-G2GwS>*Ud5 zZMtsm?{=Uubk{!*x@uhgZ1f&~m6l~Ob#)Wh>yIqGY`i1yhdks=6h9-rBwi;zDgIJ? zT)YOPFUb4I7s!{$9T2W|2nor(+WF34*P^^fGcE%>jFPu zS7$Jlip2^c4eYf>VYWq|lql4h%|cglQ@hY+v>R;=Mne*6FPOL`EeIlrHxXijV*d+t ze9O^;Xa#x*X2dN=t05~%G^`(EQWyoJVumuqKpFwYO9-sfST5_H-UN3=F4npNtKH=A z*nrndfCof+*W%i{_38LnmYb(gFfd9!jmDs)GC)UlERkS?&dey89u?vISt4bUB&F3N zfwW#g$mibgS$02WNT+q(=<5a4FFzt+L_x78Q{yI0hTmNh{ySPyFT1yJyefFgzIQV? ze}9WII9E0?IJ2zH9tP*5AU82M`=0}u=QT67Tc#1fhDk33s>B(>0-LqcWcIc;ueIH) zhdLH(&GnwS2fd+Ih`pwWHGRO$A{H1eB~4})v01NknOtB_VG|Sj2b-Aej|(<2S!jSw zOl)GBAiJ3v#)2CPu!e6n80a=Igmv)OV*0X>&*W{^6QN*^nV^149XC(&UnlNE=n*i& zJ+SicVtT%1%uJ8*vE5~S4DZzV@YLPqs+)R^x`B||E*N!0Rgg!>bMtJ3LmdW{hY5XRzO-ud!cZy-xO=h2G zO|fNf$~vu+6#|t|NEQ%XTRGtf)mj`j$j2jOQH%d!#6f|`4?&hqo!(xDllEY)ixxCH z84{^(yB%J5zSmL~_ZUK93lQ3R#LGm#W=@`KR$zzdH5M;@H#|%AhIjO8n^!w-F#FC8 z?&j47R{TdL?ZF9qaKav(u;<74g!nP>cf@atzmULB$WEA<@MOa2{-OO-`%mrP*#DgY zegl+vYAc@Fil??V#y2is>$kRH?WgNX*ByLZ`S?aWwe{R@=NEh$`swn|dVjX@g7m_! ziy0S>eqQ$Z`7i3e`1R7lFC)HO{Z;?3{{3~@*M}~Ty?p)~+l@_ag*Sc(UW~i3;Fsuf zD^&Ci`j#nRMl*fgZ?&(mZ?!`juYRkYy7*Z7UN}zbxeHg)*mZlb<{EW6f;DisM=`X) zG=43R1=ILp8b5d{Ak5u>Gxr3)7JN4N=a4QT14A?+Geo^04Q_j)Ywb z4-AhF*M#fBZwp@)z9al(_?3vR5t4}fh}wv|A~r?59&w?IKhE59J(+tjw878@LmLcj z&ZL}q>8$qbp^u9`e*Y8wCtsYi|4q>5dT9KjX3dhQfW}WMmAiQSbB+a>mj0G_k?EYR4PLF{-3VY1zv9`yd9#?wy>Y3TIuIEEN5A?j$E2>vouPMFm z@3p(v#ok?ekLYdceShygy+0Rr6VgJnaE0(?;pIL(`egN~@3W@Q;Xc3iP3T+F*V%VV z-w$GgVwJI#vG>RBkG&k%J8o3m?6@c6-s>0GPuZ`!--G=QVl0Sx{7f3tO4Bz}vZg#b z<;R-*nkQ=hG>aiWtJ^8Dn!qAu*gt^Y)z)G&;u^n7k(68Ij(h?+n8I;vUid!iEGk{`U2z zc712psMC?}4ExQn-wb0VUA@^MWFutt7%TnnVI^qs8e$1?FR_wXLu@3TC3X<|h}Vg? zh*QK_;v(@a@e7CKgm5A`Jvs55!5k%r=HzgSITJAJMNo0jl%RP*D}pu$y%Kaf=)2(H z;J(4C;L*XRU?zA)@G}@MVZ0dRPr6k`;&i9QKZ;XHm6)v#3?2zRx3^_ zBb5cpyOgh~xGJ@3u41jA}5d!KjACGA#@C0AUXhMl}CCM8n?U zgX0E|AAHZ?gMlM;0o}kj<5Cmwh82gi%dt zdFjT|AIE6N+&kvX*ui7xjD2HV%sA7y?c@E&myTaQ{z_ST*#l+g%ah9&mY)RDhdn-Q{Aj>OTmD-Sfj5W8ubnhsZQ)My_X}==g-!F-whX8FYLy1e-BH*0#A&{8 zCRvU5Y0jxb~wQhwpU!JxI zA$RLcNG=AgBg!D(w2A6PNvQ0mY|b>54EdaMT4i=tviY9<(*3l4G!ps^^i%ms{6?~} z>s)mRGF1cJycWt6{L-8I!UlKDt&&L=^Z#8h{~s@m7r~3+#qtt)YM9Aa%B$sBc~g0I zUOjIbZw7A`Zw}1uo5!2aTgh9^dxZBGuaUQox1P6ww~6-@Z!_;1-g7YP@Aoiam?mse z*pjd(!uEw72s;{fI_$%+Ghx4m2ZRTOhlD4Di}^ObgFlZypMN|5G5*v1E&ONshxn)X zAM?-gKjmNGf6o7oe}(@e|7ZTM{NDu;0+AqBU=r8_^@3@F8G_pccL0 z#{Znak!_G|l5LUgk{y)2E_*}vrtDMMcXCSZCl8PZ$wTBkdAPibJW}3Io**9pcvmDJ zESJb-@?^O}K3YCeK1n`VK1aS-ewX}i`9}Fx`F8nE`EmKj@^kV}lZoUY`WgB;dJp{? z{U7=eeV9HRxK0y01DxJwQE3 zEmEiCozD9(?~A<4dEe%JpZ9a#uX(@c{h1$7wz=$?vK?iwmc3neyzFGzsj~OWJ}CRB z>{8iRWtYpoE&IOghq9l_ekmsn>4r>0fnlN z93ALmm8~iDs-1jLGQrnM+T+wSIHN&TPPC8D$BR_2&}gWiKHC`uYU=%ctfqxAtpirQ z-LHKbec}V(Oidps2*hWQc89^`T64@cO=&t=AzYmxY)Of{t2{t zPogd88T35*H`<1Fq8HI_vDkLV{L zl=*|`LSS0GVi(&irqxSEDM$e%RVpBu8p?z*;YBqz~2~5~}AkvCN)6jJIzh!9k+VR$OgdI}7yfvOWo-*vM z`8&Kd2w08~T8GJ5F#n&200NV7*2VmP4ut$M|DT(x8dFSTifNDGiYca9`fyA!%~FeFifN&XTAQU) zZ-8K*5_pAVg11C0CAb~Fo8dc4FwcgxA@q22pwj=r;2;mDUmO0vc8w2D-8TGx9n{7A zf0+M|VBc%LEy^ko3R&qdED>(nXP5$vkj%}YMgWf-!pTwp-sGsQE*YK{i>Jl58W1=! zD#FuZ@wC`~-n3XeB{n}h|GxYW3K9yY7Q8sxZ*;-vRii&GloZY`JXqAVsG?|7(GSJy z;-$s!m-H{GFWFxjhNr|j?{$7Zf6V-y3wkbK7JPDh=Iu`|G(eh4(MM|N93j9(aAZeEFjf20d8+;F%Sv0}aobd-k8w_nQwBhXIyumrnIm7vabA`mv2Inw+4nrH9?FT~}3~hGo-#K*W z3ojr_?WLu=gLW_2{pX&Ud#>!Q+k0tW)xJ;mSL}cPz}N%tygd5l!>{DL z^4hBzuO2u^AKdfW@Yi;|KIHWs|55&D+Z!owY(12G=!G|v-+bY4%Hgd?6i2onRUO^= z*08sBA4@&9?``edufCK0&Kt+`j=y!HFy3DuhY71`2RYs+lK$I z-MX0n54*VjUKiIBt?hnza{pbLCnV}gqqhYk`5a$1L+fzTBKsY3D7(xLd4&!u~ z$%2r^S~tUHs;YJf`|Ae?B`TFtm}Q)1HaZ-l0-e4_XEO*j*4jFqWd=g-Fi2NVcCoXJ zbJ^*d6iEA$^7rB;_oZz5#8?SqrB(yte=H;r+P(qv{{=_`G6Kd2SOS~@%L6tA><%~< z@L9mGf#HGu0*3_V2O0ur1TGC+7q~O;6EI6-g-kNF*Y^JcOvO!H6t>1hx^)s5LjR6sQUi z8q@nTH}9ouPuDvNm(=`$JwVt4ggrq2JP#0igX76gc(T)sMKeB|nKAS6S=223to^h5 z%$_&<>>PT|n%jumCf~MyZtUCzbI&uG%!YYE^J?b3>BOjJBt|uDQ4Qw*Yc`iU6u3=h z;$Em>HQ4pFV2z0p@~d>`d+=WY<;rP}I-KTfa$Y|4MIu5RoaPIs`NC2r|HJ%$nEwxqsSf%7AR?!W|5N@${f_wQxW90h zal25Ps5J64IR(@IvHgaZe`*g@Ir{^nRtcq*C##iGnii#Gq$@;nWrkFwOx9>b3WZdf ztW~MfQzQ~miYmp;{U=t+($m!vwN|CoUN85b)tLaAY6E<$sWa+7oimc*&DP~_?lp|UGhJR zvlr;nlRiGPmXXqy{ZH@g2?|FOK2~@Y{og2O5C3^&+5Cr#eXI%d|6%?=uUXnf7G0ga z+UkH=+5v82hd9)4OkPovLFdrrhtHl|XExa#V(~i!horcE0fA%V8jLnOIMK((Stn01 z>K*oRaXOp6+62YLaSm%;7ep+4Y>j_OoTc7ut_TmyD}rMi4RlkTqX7{yu_CELl{(sO z&%nHM_Y%~`zA0paj-dq99}PeQ$H(c-I=kJXt2K^wi$?o|yrNO{4&7w4Q44Kd3)Kdp z#L~PX_S@LJqI_5D!cjO;G%mf!GuvH)hM|~ENQz`gjxhfpT$+mTu5G97yGokQUuurW4mockiajfzn)~Fr4hBnZ^d4*(KH)^(LK} z>CW^B=ZuGZ1Y$@?AQjJXU+gke4#TfhXRbFkqB4}&#bUM9dahmtnv9@$64F6V0%0Ri z?-?NXKp&=WML54ztL*6(c3>D>4Q`c|pvVD1AytlQ*b;7VtDJ&r%3;`;^lWU1&NibF zO+kqsm9_AC2lM}Ngb3AI9Jb6tdK??L0`w;w#6uzM)z<0lb#y^NE-PEC79+cEy|hfZ z(bd(NTW`DOw|}^|2BEd=gD;Mlg2L_#6Y&o4#)f_ydQYe*GR2ec`o)yi~{SS{70XftGLRYtN%B35`v<|WB=Mut+Rm8Gk%2WU!6 zprwqHp^($sbfrR+0$lbYxlF1Osa5F`k%HDL)N-{(Eth48Buc4L>Y}n2XJ}{{Y^P=E zlJ>N;W4CdJ=s;7B&o#lLI@?ldg(oB@%?283eXXH0z|2wVL1n(LRkp$^oDl}lG1})k z>ewF;yQl9IH%W<3Z*t7=C>eTFhJY6$=OkA`UzPZ}ui8RXPHGLPsqnoTjoDOJ2hpFS z;LU=k(}qt0T@!q*tGyQ{oRpi=dup@MVqlXidCo{x3umPF^%->lgE_+*KwJII)7Jj$ z8IHW^!J48@k!v+#kyfrs7soxQt&+;M zVzKHvAFSl#O?Q=#HMKlg$&F1Fk?U^C_3(Pi zkxw+;r@rm0wof^7ebZCU*J|2%%8?tIo^rm`)!tK%eDbFBUfZV}`E)gR9s!n>Tmgof zS|duPQ@~GwcP$_=TuMtc9l;RbY@ne=O%+jFspp3vDNbiZHH$X0alf7RkV8Cpl5H64)3Q8 zdf{eVeXoZN+5$L)0F%n69o6<(gLc6EPk=?`V=e7GYS1?LWhTI&@~Nu!o;2v0o6&V` zA2jHBGn@~YQ$9VP4y-A(6~O9K$p0x=@w_H5b;~rut2L8em}%3^5Ej_1l_szhh?!8*iVQO-%EwmMXR&e;M2$hqq;b&ss0Ivt(e^x zXe6j#Doq*LAVWWJdsN%9*m7tOH>=LoqD;V4F!PR2$ldg3+Rk$UWYCfLdzfj!~{*LQuJx*DisK{J7%Qi$A|FE-V) zQqh!{lEME_Dwi5gDJc~aQmIrLHGn|qFXfqNW2PjOFsosE$DKKC^IooaPn*5ri(o|dl%okjmN3&Hdlj~ZR1qfO(h(y}b3u5RLbwl|G; zozh=FtN!#SxL!SL&Ib;>BISga7z@LJy}%(m#0 z5`{XmS?J0pWf$6vcB8GqXh`x(XZzh~SNbg?>X5$P)&S2#b|Hv25n_U3)4H6RJy+J} zSZrG1Ue^Y-vjzU=J%(TToTdK@Z-(+z}E5e2C zRn0Y7j5?dEisaf=;3%!Uaqb2cIcAvIwA&To*V`IUCGc*I`#4S6yW8aT_M8;!Ktmon z-lxIOmsAFRzB=~gz|qGjnI7Pjn@?xAY6BUw%Y@UqP`ZQ{ztH1_Ok24U+ahQZKv9IbNGRWxM>@LjPT?JL(p6Z6!5L zM4AMR^h`uzCnZJJ6c=is-A{pxO+{=fvPPq~f#WvVSYrsAie_vowwU19RD{0p20zVa zDNoJo&Wq(~dA)i4c)7fRykuS)FPbNXe+e&(mjGM3HyhL}{9;Wb6Rf=fjtPx(nbjw!4go;hh>0 zp1QkSbyKfV*UgNw7roMcCS7z8y@p-~lQ5mhVzODYFruK?V;2?AsB;@%U{QI>MwtvQ z!zdSG>0E|ckCtto2)s5SR-RooR~1HKO;?X=Wso&t!T6o<2e!voTg@ z&{-yj$!$cRpmWS9CXbD=>fX}o=4QDB*E#iSXRDWO>^9>rvSwUJYK9iKhID7 zGWGM{sky&?zRF{&dDav(`&xCfLfDfF$pRzV%7J%4Y{U|qqt+F%bQmI*0+An*xFeQE z6=kq*nGl<V^y+JZ;*vBoj`j_1Cj-wYkl3 zIxS*8P7sU}1b2I>+nFdbDn2SZ${e*c>ba;BQNKj@jHaWF(Tk!tM<0v+k>8!4#y9d8 z^SAJi^M4Tt1?f0Ju=ssR7s*J8Q?gU?t#qJNFI^>lM;0o}kj<5CmwhA034(EgV4O+| zr_%Con@S5Dz6f4$yRqPx=yEGm^bPu!DPTr3eciC;N{6s!@v-zhKS?7}&t15Z`iJ~O z51jF=Sy%(h=G1G{!_bD!s7k&AeHCY}uZ4FenFlo;d?@Y%zg za>~VXQspI2_L8r5W?}x5YDdS&C5pw$omGI2zt-Xv;BvzWe{Xn4uf}<`;|5dy-r#Ot zZD2(VZ7{S6=#8NbhBkvtgB~9ARw6f1m1s$9Ogt$H5z(Rs(UYRHNl{6;NzSBgNnhbC z!8l7W&Jw(N&6cPwOP)c`)Ian2vy+}Z@m$Vx`=3`nzxm(&{=NEzt}iU!N^G66_42mr zZD+QR+y2%L3~jE4HmM8?ZGLvm(fRHlQVtzu_(jwOR&#&q)wwHJB-ZFe?d!Sj9n*Rq_TR z5JeNgLT5Gw2x4NA-28hjWpR%o z6t)1Ntw+2t(KVsoH7m3bU`8aoAt}S=xD9)&nqwX7ZIf2H8chdk zL?JPpNb~lc5i~>;8rX-JC=I2fkubry7-j-YgejEO5c_XK)6i@* z52h$CfwyB1zzoAj(K@sdZAQFtp>LmoIP5bpt@{fIGx!1hN)UuU zyfEuZ2#DT9KVlFeC6vSnBAv)33W;&VB%+G25cR}tjF&K8!gy&=3dTzqFWCwE1p9VJ zB=Ghfs_$Qad;Qsl5e=&vewtP~?fK~u(=F2v%@~OB62?ou!b@31PAgQC3lV{p%@Kh_ zL5HYj@v-dCWx=x`BJlgIy+7{d@&0($6qo}L4cKWN>;?KqdVxGfcDw5qw1PcA-m~?v z2dMXF?kHH-upzDU&g!5sktx%Ws_D6u()1 zclkZ+x5aO--&=m4_+9b$_ZRpN@*nP>@2~TB_%HN-2zcN2_#g8>@BdRkFh(^0*ANYR z3l69m@bG}6133ee2UZVUHSowF4n{TEmocirsAm0=^}j!1dE(55!VNEPRBYV1smG?J zPja5DfAZo}+f3W>=iq6=!yJr{MbkOV`yp=^jqiC3OE5wY-*UdA-n_*){d&KED=gMf|G?A>SfQ z#FS#2)#_jf6ab#pzQE&{3~9Af2|m#ae4jFx=d+L~CQ6C1#CW2dm`KzRwS<+JO4z{* zI*ph?tRNmI4iWDWUvm680h|bqfU|%zIJX?b~lPw^x8UHRSkV*YS` zDxc<;^G$pk-@$L-Pv_6%&*$IHzk|Pszl8rU{u=&E{L}oO1snla;4cUi@C4C1O;>62*$&x@ zvX^9gWcy?XWUt5$%FfEZl3kX4D-V^&$a~0p$yM?Ud6s;n+$gun9r6bGJ@S=w8m*@D z>9O>9x}2U!Pohn94P8rH>8Z4xo=wlC=h5@&JL!Aq<@5@ACB2&7NN=W}p`W9-(L3lD z>6hqN^UM%sI4h6IbLK6`Ta>pX?_YUK^H!9NC`&8LE-Nk5ml?~d%1mW7WwmA2ve{*~ zl`&<`vIS)e%kC^&Ty~%SVf~}}4f>t>J$g1K2Nn)%*}_89xYwRf{i~rMhLT%Qz>5K; z{-65K^5^+&@Jr?Hn< zz(u6Ykfe)LO1VO=lG2)FiCCmektMtN9o6YH@IlJbHR6o+Xo%W!kg&A3R;L^^)du)h zQ)e_mI;RXYjt=y##{5Q&6ol>#deqPBG}I z_xG)y7QPrwwa!vyEH>2|?G9aST@&daz5BIKqYtbfSLqzgo@Gz1JXx)j(zFN&O@S6m znIRP^lQkM(!jejpwJKG5ibNtxQKh(P@x)45dOGmtX;oTnd*iXFg{{gn^;7Rm0!1Z( zzE#wgw`ht}1X}X@_*P3RrmB{Ct<}y%P*xG(TV>hyc1V(Hor6G?p7gD%mO+vM4-B27 zX>3qk0wy~Lg1*s&Z}sIvglG%>sA1mWIOhO=AZ44sit??ZcKB|ax#%JPKL>LEQ{cGt zgHXuo>*J)~5?+J+0bz7UJy1`G-|UTqs1Klxc!=UmLW7YQWua_{;>Y2#dL9c zg_bU+D=Na{n(B_y*`OwEFE-ZJnRO0ht9>Tq(&N$#EArvdlb=^q5guNVT?B_2mz!SU z-qL1PxF<_8WEu`|r`&>R*6djtbPip9`0VDfL2yWl>lYAsePd#czq|9UhNVXXB4T1i zQiUpYwA<`}dG79orR(-y3Yj2x{^bE^;COc@TXeO?v2M|5pU|9>Sqp7liv|F`O)Le% zdH6OquPEPjdBRaRQ8X^S$a57XXc&sw1kuGZBnLE{0#U|FqykhtlnGd8yM!>`{J(*riEF)qHnPR4jsb;TblsD5y)BWs9 z;0)=VT^HHKAELGD>uZ6#g#8_GZRLA!ZMIfin_6*)6dEhdFy4R(*|n{k_ijbiI)imu zJLN7Sm8;dbno|fzb8YJCeJD0ffUC6C>9k3r-EunF79dk=Rv()-&V2>nhKTK8RDw!j zcK=xRX0gNRLJkC%SZCA&Z41*K(jjoh!;hdiQ3xM%+!wnHmBa8W)tT#!ji?MIc3}-R z&(*77nWh>cAA*i0nrVbP%K&#&A2x?}t8UD;r(1NB%|?UkOj@Nu016hPrOHtaTfz-) zl~YhnISiX-_M1j;?weX5(TZ8`O2SZwroww)DZ?gU=*Pq}2~5~}Al(9g4Vv!q*YtP! zYX-XgH5K8J-u>E=&%4!Cb$6ZGTyJwVwKeOE>#DlAZCo2$jU)Gt`IVJ+BYPFy_wKxo zyhGmimA9PgT|y+a6oB@p~ZU{)7)zLF5;Enxz{)-RYbtBV)M4Q6$LM|%@> zA7*udzPNQ+U0UD8*i8h_c6RC1O@s*m|8WF>k|Zfmuq%@l&7Y7`tOEkT_UpQBMoa(* zQ@$|)Am)n3T+#3X4s%5t!SrG2=2%8=H(zf($PNJdl~8JdmzrJ_b=XwAg-t~;ivG<~ z3VOjD_~vGV#{__XnEex-0>J+U0pJ7{AF$a`8Ft;o-|Sht=Ec4#>$DD@ z7mMe`BA}LUnJWtescC5`!`XgtwjXv-;CZoRFhsxhAw{GTVqNpe@nj`wBX1)Ylgr6Q zax=M;JV?Gxo*^%hKU02GS4s%cuS2OUs)W*0Q>ojiyQr1a28eilnR=T#OI@b^;D&O0 za0hXRaI?8%xmDb0+=blb5Y_qu_Z9AO?s@JHetv#YehGefUTl1q^e%=j3%acBa-hp6 zUCFMoT{T_xUFUaQ*Y%aI=Og_h6C$%Cr$jD^d^+-Q8fFrm^dGU=2bquql7iJFADG z4Td%t+Q1D23r_iiQ~q$OI8!+@ISV*Il6%bYtj&&<{g@;&tUE!L&jH zZ!T{YZ!7N@@2jxDuzq25*u=1zVavmw4?7ZeDLgPdK3o&73%@OVRrrqZli^n)x<*JM z@*`>^?uytH@p{CCF8*CGwD~bUA$|-@a@-bwA%UNeoiH=u$%NDWL;I)ppW45%|2qTx z1}HJK!O+G!-TGGDpt^;1XQmFB`oPr7wj2y?*2iFI^S3~o>mdN_Hfxql4y1odCCmRO zRkGplw*dcNM?Smu`2RYu+nWEc^SZ71|JtwXPJM*={}AT0a03;Dy4VXd)j}XnPm!on zQbf`uiDyfz_10G3+WFGry=sY{Y$ouj<{k?Ygy4bsG?-9LCz3=b6r}yW=ZbDjU z7OoJ!EWF&ON1v=d^?la#Io#*hz6pIx`a1h=>H9%!P^>bxGWP!1{jrzhddH25n;rLL z+Hm!z*u|1hI(Mped>8J9DY zF%-m5ura=I`C7lV4QoGLSGw-t+1RU1u0CVZ5X8PxBb_mfC>Y zNwqsHT`V=0m#w`pUcz|kOv;&;&T7vd`nc%h_dn5p^2Is(-;0+p{~yAr#%R}H4{*V# z#tVjciC%2tHw;d0c*pkJkqG(gjF5T_c+g8t#%U%?l~7}~7))$JJE6(akt^>8ck^lk zD>i^eS5en>f1t>UBouxm5|LjXLR8maM3z4S+lXd#n;TdPQ@jxxbBm%HjA$^T!HDKM z5Dk0B{Gb&h1+DV?uBYrgI!+>)|eO}za+PF$A1!(E8Pwq z{}mwPY+VRv>%!T(aJDW~3mLg^wk``~wW@OE;hF;3ty;2O8DWGJKo7NWRk~}jna!$P zxy&xQ_R=FOPtEJji{)u~y?On3xx9fuj+VxY=1JjS!pq_%z?SZi4UNrz#vaw38I8@Y z<&_H!t_0@)YuzJ8gdE1{5Qu<~##%SSW~!=o2&H1NLP*!unT^71i#{n)s56^|u1$8K z&1g5;8jOY{)ciW4^Te*0{}1#3U4#FxUgnhDCwoBlpzI;pD%r!bM`dedYi0kIZIx}8 z?Ue13?UwD8?U%hQdsTKu_NDA=**EeKxj^1s-czoWr^_?t*>Zz?s@yKGmoJk)M5od; zokx$M$I)f<1iFH*rl-(m+CtaSHhLC)8_m#8`VM*-{Q&(S{Sdv1-atQ1Z=s*1x6<3` zo%AmHmAsm~+Ps;0bMxlq&Ck0tZ*ksTd3WbMST?*YwJfWwq-=7Tp{%m3x@=0Bxy({F zt87l$+_HIP^UH28yQ6GT*}eMJ`bYFn=y&LM>kqKERVVy^uekaDo=1%=0Dp% z+;5W~&E3x(5Bz_Nsc7;k_Yv?X?g88b|J@#_cB;Aa$P!ASRVp(Sa0ACmZwA1o$)9@XP*7CjW9r7X41gx*5YUp}+qb9FngP%= zv9;Q%0$mk8rr7L&08k04^rUZ3t7VK_O#r9>eWMBA>br^nFxHvkCIIC4RuLuu!~}p| zd~}!q5EB4m0zgav=w<%@LkIw$3nIP)654SD^#RpD45T8$R)r~eFY_jc{uDYdv}?#y zA$0KZU`udF&=W!Gzz+j!0s{jc4e0N`)4#~?0(yzK%Wt7yAMP$Rj+;$xA=5c$IWsun zu5QwUQJT+DN~8*Da6N+nZ>B*{v-o2XnOQApLm zYc7>4(%U13Ze>SNztn(^3SaAJ*M6dYMmpA-=P0x?jSBFWNCy1YBDq>di&P4!N~BiM zT3Rhusc3}+PDrYfyO`G{N`+D`Rf`pBv9!Gt^0MYRL?vh_@%`zPn(QXv`Sh?e{|c9< zCr2rjsAY03fJTX0Dw1n8T9Fd2k*J!Q3q9Jw#&oGnq17tYO0_~MQb<$Wmp3b0_##QF|ba+g(r1g+BG=3AM$`+@2=5aAm%}aP8Qj)DP}K=;OP} z3v5xp8Q@$-`+AtSHrzS>?vd`}d#Npy;{>~(4?b7Z4#7Gn&<6ch>+3Pl+4~aed-tXC z@nC5EzJ&VjCMoe|a;JX0DZ|?9*-Cvg1uhRfZ+!c6)ZP<^`u3(g#@jx0s4KN_MtWbL zQAddWrv}hgfAh4p|Bi{e?0&NP_|;ZBPgX+X`FZ#0t5vTjE0OJfLiqSxI(tG8wA%>t zvC39P7?J7u!SHFvwSEc_X*WrU_fv?_-jpHW^%NpTcz*YM+E;CV_lPXd@1Bpu2AFPDh{b2R+8FlbrCDPpw)|;lS{Rb;C-1A`dDVk~L!OHRT z+*Q8SWSZ##G@KC6gVm=RI(x8kD9?k{rz%@LSUEwSXP$3$)UlI^>`h>hLjo9l(P1!Z z(?J-55V^wS$Yv9fB!PU)-cZDrgG`~B)tWqz0o+qbQ*5}t(e^xxDL4Sm8OhrkP|`9s~%iW=(L#|Hb(XccY7w(}zBavy0b==E;Mb(0uQ! zj(duG+UqQZ-1oVs;qTN{=gVGAPwXBW*T-I48qU$|is$=_ z(U7f z@_xue&P4Gu;!EOn;*;Vp#mB{KK>C8bk9>iAiQEB%Scj01+)M5w_mHo`%eEKc+w)Mm zkKEB_B(;fKgjTr6tR7lzK{H_tSm3%_p;c_Zu(jDV8zRcd1{xpVp5?Lcf82DnE(eNLGf?;l4wKKtra5 z@&vzhuMy*p8D*nS&%3S;8%4@K!`QLIj;{ug&G7B!$4jPlIW>E(tk1F7w8FjcSVia< zN`MFLLUcz(c-Oq5QS}ZTyie4c^z2WG&NgE$Y?^`+J#00L&;uyuNwgR(L3hEJx*IJ; z%g`j~!~4+vOcFDg5i@a&gpo2brZ*#GAL; znPDJ}U;>yBSf??G72!P#yuEV{o3+MRV70sE$>tbmRD}2U-kxdG8B9itqYzd)2*Web zmMSyUH(4Cgig00jRdY=iqt524BDr=II7*E7QHop*Dss#)8~;*kK$YO?54kwgq+5D$g0HFSD=9bMou6p+Pgfm@{Q z(vm@qJyzST*ZAJijj}D-h8JbZu8b-SgjMIbYHS{`| zqv=c*lg*l>5e3B_o2+<7o!epqYtB|jy5HiJRw z*;NBv0=6QDwXSL3W3HwhMaR~lx0nnjv+syM4i&mh^yBEn#AXAXwt}~MWb&Czj{*M?`WP7-;kCtCCWpywM4zB@%qS+0>01%r zy`5&c+UII?uXeV2+2w8n@gi#=hBRJnAf~=4o4__L_4D5;hFxEV53e=F%GaoanJO_; zC1$F0-8Pu15+|pcfSD?Tii4&E%?nx)v^nUNpwmI$1qTQB4ORt@4mJfd!7GBF!Sp1U zo!G5dHA6QIy)Z0cm~q&;VV?}|J6tz>&G0iLgd--6cx=R()IO=Y)W+10 z(_+&MY3tKIqX)oL;HT)X)MB+wjnnPobi36nkFQd%+OoRG>P4%6eAw{tu}9J#+5BkF zN0&VM%VVa;-d&TqW-Cri_1{WN1&(Rp+(2$D_$9jB3Ke~WzGVuS(M(@Athv%5tXX_4 zeJ>m*_1uLkY3#Z^SaXd!Hx<^r1dY1>1?Szxd3POkLk16?Hf>sx$*51#S6~0&VQYH% zLvA>I?hWtg)l{!`++YIT8{EyS4XlXs?h^BfCB(hNN@5MMk$9HaLF^-5C*C4X5od{u z#J9vR9Fh~liRAR;#B&C7lpLCq!zt!qXfqr`8$pfW9>F%j2QgI4z?ji7(_$Wpc_rpj z_sH%;yX(6z?*1HxHW=EJmX~fU{c((T%)MjIj2%37&e%7`#f&qJ+dkfZeChc0Y`MO5kmC4zYS5LmI z*XSSAe_=>7+;6yO9B#bV_*v!f%6ls>R1L4Xuj*oTYW4E!OC}6$FtmC1WckT6?;75{ zaLRn@oA(;t`}KVWVip&F5dOjP4|{yr_|brmw*1$iO)A4eo1ekSRf2v2AK7o?A#TWK z)VsolikKeZWJP%7tXU8h1d&2>5{0u|X;>t4AV$cIhyEl2P|OCjgdiZy>uw0~vY<&2 z;5C>jfdDTF1b4+jcvtcUA`nFr!9)lVO7Ku55zdrC7}r>4JX6k0gpjTZ)_2w_vMIx4 zHaEpQHTm#}NS6<9%wP54xq_kyzH8@kH@0&R*Un`(wzJT+^Mt>)vkOfUaUG&baDc@< zqWy(+k~RMJ^`>^wEtccMhMw0=(1Ec{N0pkNK0nUKs0hBs#U(!V~QsR{Clzb~4DAh|>N#Bu$$}(hgArJ01@!6RuRrguy!-Idl%^IK+FcH*AYdp6t~aqrA~Ke=zzeOvDr z-oN<%?;ogm;PvJ5<&QoX^kDsiXIA8{*#1!5L(3leZ6!vNw=kM)!h}Quk=TB`B$0$( zBg7CdISJw=Co_qz@IyidF^q(q(LoGjDthRoyHE)+iG+$6!sr=eb4(&JoJjNbz7aIU zBpTS5L^oba$9Rcg{fd#3Yw94CK8KB!jI@D)4l>NZK#^5$8D?fc9k-mu%7$8t0qU?* ze(Mai23CF<hzp1B4QlN-4}TPBR-F4pD(lU!$`bfC90$PG_0X%5&5y zsb!}dp@G-4v|yX>M!Tjl5mAR)%36-lQiib-#3|R?g!Vce@K=h2_QFhcOFwx_7%QPL znByowy-+O7s}vzAQlOzI4W*-zC?6FAMaV>$YFZ7`a&2fDnvLec1j{AxhV22EANeR+ zhc=?k=sC0v?SjbkSJ4~jC{|6wx0jag4%)q7_n&)a z?zytJZttaiRr@~KU$OuF17i=o^YZAI55JQ0%4@G?yn5gueQ?if!(ZF=`jFRm{73np zZEvK!vGq{$p%>mve)EOHDTlWnQ5@NRRCRRcTf^SkeJu6ZzPGh+zxq!0J8vA%JO0** zk`w;}cqxm>X@zQXA*QghIi`>(=n&N`K9(K2EO-{g6n?+8_s6~3^#Wa^4)y}!sZw~V zlpB{|4^Z#V+-Tm_AA~nrbIY8iu;$oJRYLZ=rm$G3ueUX@G9Z2SgA21#Zy8jB5e-H( z7|{$e4SIOcTZ!C6RiY)aG4Z4*L_~`kL{Ey&CPgLXCOMO~C4I%-x`X2ej~{%`;Ddwz z5GRYxkaP@tfiS9>H~Z`ydd`~Lh}$OLwtsHy+y!&bGnveWc|r4P=Dq0@V^o7t&2KAy zAMpFmKXU#!{b%i;e={h!n%GScC&TCw;`DRVcM}y-Kp^&nTJ(}0pgKzF^)+SeW zX*Q29n>Mcjj#L7Y34To3tjBivZieq{HtV)~|6j{zoBDH~UyHROenog#UJ)d!G8$-` zzS`7aw7o@`h$)bT(&}Ic6aXICzGx6ihQ#Bk1fS?d3?gL22qK**B#MbrVk|M9C?_To zHAF38C8iQ~qMn#W%pg_}j}wQ8_lPe!{+s|#1V_MG!CA>!%h}A?#(9Nvi1Rk*H0MLk z8O}M*H>4jKKn9T^B##UyyO5D&6v-!J$ibw9l#$7#f>e=1$>C%wNs}5fot#L{CLe?( z&u@^Qkbh8-l!zKh6;YF@8mfVsPR*odQ+H6ys1?-1R3o*8`Zu+e+D^Sh?V8bzF}IXk%U#4>&wZKuCNGQ^ z!HeO=@)CJ!UN*0kSIe{Vrt<8(dfqhN4Bjl>9Nt{sJl=fXO5SSTBfQ6Wjl6Zd^}G$d zO}wXgn|aUhp5qVMoJGhkY1!COjlu5Z*n!XLxpaA^(2< za{gNW;eUW4W!|QQlBKy?kc*?DE^nnes)3HwB~np}Le<0)DVHcyGJsW4s}Z+Hs@Rs& zg(bANI`cqNZGdkzbw(1RbB+RyqXT`bu{AMLl`|J~Oz^Re_Skpy&K%H`6Yblx@ghem zG@5lYW;sWKmU@5RYH8u#X`c;;-u>FA(FfLlROQSDmb09mJ|^SwA_4PEqBJ z!p90*(_$Lt9W8Qd{DDez{-cw8tm*%;cP8*nRNEiFlbIx?%OqW(N!h~IvNScxq)XVE zq)8XL(v|{kp`=M@L))};VJpg5e5knLQxSJ5iwX+3Zzw3ZJyDTGTzH5g3a+?-8|wee zOw&$Eq3A#Ie7+k#bZ%zu%$>QjV);AcQ9)s)*`o z!@)A%BK<#J^WIC=x>(M>vUdVXdfHtDdXbXB6Jp!4JPobyLvuGRSKJG%Vq1VwH zFqU~AdKp3OjAVIzg1{{M% zaDvOx?8sLx?z}b#2}wz1L4D5enpiELGThrzTYILXwL2(0W|-EHY)YLhm=Z8*T=)cc zGc5|)U_r}x6dGMR+*#{rYVtbj+|z`jyJ<$JzOfDVbqyK?9$S1#UJ>_gT3%5;f5j@1 zk|>&PFY=95*Q4<$W&`BeGRO%2T@vKmrXUmedE;0Gt7OC32sV<9V*9fF*l1R@0Zl*? zQ7RY3zZd$Pr1u)!+&Bx4H06X^A6mP97mWYICU^q%}df1im^ z3-HE3H`3^-@_0MAiiBn+wIo}TuD7NeY(}HjVo9-TjV7Z(Yq2Mrw1#wpMQ70IfV>39 zZ_x8cq0^^WZ3ZSOCEb$T(@}_gC2FET4Gr)iblJZ>`$G@94Zr&XFhJY+5arq$I7)W=+x>(;1`Inq)9)6B%oAiZ#uY&gcwUy)jX^ zD0L}}NpCdjlM-z`zNGNC{byBh-gSVR5M42)aAOfu0=)h1?xqWFZ=xdLjr8CER?eZ8 zI0Jhjc3u4b&Y!)CS~4TBP4)DCg-Uf&OQr<2oldi|^!};etj>X4OE}+JL$4`U~KE2r?-R~7*hyZF2cr!iRF2rB~)E?lrdU})* zsz0Uox~h={n9N1D}&Dg^O5OARB*qXF*khU>i8(+0>Pc5gL9x$AK(5M|J{kw zaF!;Y2ZysXIa<6Ag3Fb;EI_|rneAN>)6g(;J%`VAU!Hd=54FYXw&*^GVLu0SU+DJh zRzvAC@&@uz@)`0;@+oo`(vaK9=g4j3i{xhVY54Xq%zci0vfC9}#b4LQJFduj*bCvB zb;1?vMT_{QT()8pL{(}b^ydb76E{Cs*k2DY?-f$!h%}Y0X9t zrbo~@G|ti-Ei=jVvPm)voCPi;)xqU~0_N2Q^W$W8QI09s%f9PH$R&02&oJ)V;hr_~ z;0)Emc>zrMnUYQL3Nu+_0iL>BljU_L#A_V2wHkO2THV~FX>>Qa8|S%Q38+gVsY^WLMD7!w170jX*YC23JhH zFT{5xsN=+JM9V=a=W4j#u0_{@V9qQ!@*6;uIss&DWNbmbD_S0e!(|B$R?tjRwze`m;30g zg$|d;QETzKEZ(YGcR{_!+ia*%YI>@g~!r@RZ zZfM4Xfv}m0%}m}bz-H#(#mq!#Cm81rIIHzAS{ICUY7nKTvZxfwgfx_eN~FwGHeXJK z(nQJzOU6+-GCLTPU|!1p3r$U*`SApAeoW}a{P5M@%GXZqwYES<*^XZ5SqT@tgkDCk zfJtcwCEP5|tPC$G_Ssd%3mb&=FtEsc^Kv~d-muDnY)#&<8_>0^s3VWBL`c}=7lTpg zTQv<7IU)b7zM*4XUSJp0BKNFDZ?fr~s=J(-y&t_bv(w17G&VZGzTS@xpm@j%T7upAba!@_b{{B47<92Sj&?yl4Y5)>9RSpR@v3EJ7k+>+huRc zj>t~R<#M%rjC_JTU+$1M%a_S-k>4-hCf_4JD*quU1Orj}-iGC{&PNUlOJU__<=>G1 z?}E63xdl&8mQ60e0>6u~6jt^_&p({<@TNybJaYS^k&iBajCgF}V<#T3e*Ewg)1P?r z$w^oWtGg7|P|lF@g(kj0C;YskuR-Ovpi|`+ojj{svwV+zJ8TD3eovaYX-{rVFLio# zYY;f9eUJ?45pp=28gh%$xi_SUWA~j&a5(iA&%!`^wV4GP4Oj1Xd@%3vufcotJ7rzL zIm|D?{1Wccz)HW^wF!AS=CYr%Oci9?1(rLNk$HfOpA0z zE{$9p`9kE;C|OioR94iSsH>tLhSKS5CJ zbSdQiG=i)Em-o7|vEPUw6mu`S3REDj zhE%N;kgzoi(zGsOr$CyP9#XW1Ly}hFy+j`rO@t7kL>NJ%C_>4WKr+@ewv;VrXF_6D z1s6Sw7Uw{vdunStGM75Sc0?2(wwu~(*pAOgB2;|s>E~H{0AIW8JZo$C+B15oEl3}O z97le5XnR3%T1J}Sa)D(=!hbG|HT+K7Ph6<0{q$EGdh`i=S04z&>FU(KMs!iRP&0hUQ%@BU}E_^1-}`^KP5>!~Bx@4=)H`;9an5;b`m= zZd$#$-{z~fpe-$1K7DZ3gKuG<@Y~<%6L$D@L>v*{bJin~fLhTHH`3bD+Fz zo(HD};?zL665xYV1OHyBfpAJ+!n90G%f#t{IEIG(CG0P)ziRz2_jvC)d~e~sJMT-r z@4gKKHe9z+vax03@%zi~-~E8?fhRU;vA^_{`Kw(grkyzYb>r8+eRK7<>Obl)WfIwb zUQG^U2F~ux3?vH9>eVdYlNGiiq!ls)zk6)(hl6^I0`*b{M}e?cgS{Hwsli^&)W4Tk zgFPDT(O{3}d^{TN`G*HR;mklB1;Sp<|JSP-=5s@Q;hCMKt_+ohuFQ^gcf)L&Y>RfR;# zn)|6I%J+u8v=|_VmC(OVc;bQTFRuvf;z}Y_(^~0A(qo`#@R9T#=|S-}r0+=&!oPR? zRDgZTsN9qz$NN-+IR(`&4OM|F|nTAwYj|IMfcw1c^Iw0>JG;Dnw!RE0T>RzXv> z3Y0#DZ{k+!&)O$gSvH#1)0uP}XwLTU>?KY~l{*6-n2P(^1ISD6z7x)q7nWA@f?IX) z*CDz#I25L*b8E02A`GrWZfl}z556_Qym|1y8p^`eSr6YGkdE(#x%2s}qzS&)!gtVp zJ!9?vF}bf{sXq?+x!9&vor$Gbrh(W{{f*~dn zcA}6dCQ68DL@7~D%p__+p}n4%OEeKJ#C&2Qv5Htn>>}PJzL3ZzL6UHZ8U#~rm8_9$ zk~}VXL9$D-S8`Bt2xL<}l6+0d$RIM93?*q&Nk))SAfcinW5|n0J;{)XWHMcTnxrX6g}; zQ+a}VhT29wN9~{vQ9n>WNlB?v+E+SMdXZEwWu%GHWT{CyPMRs5B+ZfLNeiTf(qd_e zv`%^@NUiLYzD6tPa5@I0l;c5CIg2i#>*#uVF5N`8(DUhqbSr%^jPbjaUP|9e-%j62 z-%YpEYw7j$z4Qk9etHwVg?L04hRadIks~%Q8s(M_tPxXQ7Q`P6HFI6X0->808{i6C!O{ht=RIOGg zs*BZg)r-^@tCy%RRWDOtr@m9YPW^!TG4(d}PW6lGm(~ALA5b4uA5tGyA60*%KCb>O zrccc17$)|e*!N-&$9@s}P3(8Er(%DO{U!FdI3g~X*}^=;JkIQ7-eBHj_A>jKFPWc> zp+?%MG)5SsjQxx%V~lYCpyw_!>Wz#s(U=VIwsFP@##G~U<7{KKagOnFcP$4khb)IJ$1R^(zOZ~{`P%ZW<+SBD zD`6$ALDq0+0LeIIc%fU|TvD*Td0P3N23V6WA90L7G)<)1i$S0dAuw zqLia;8nl!h8Q7x{QE@Un&8=-yp^X-KVB6@8Tw{6m<&UFx+;wnvTM2iB11%|VC0eX{ zttE{yz_n=CYf~6&qE?>_zYfX96q8+V&?Y6D1iX~qs82}(9F-1Wsy$tcBC?Ec2&S`b z3N$pOPhcDJ=-V6b&Jr>;D1auM7p-hy8CZTMUgK|+GIOGLrGAcwx z;DVK+8E7WBzE$8jajw>4bTPUFEkP`rhL)ns&_B=>s2#0AYtcHi9^HfPMfaf%Xd~K; zwxEa6Bj|DT6nYvxi?*Rx(Ju5FdL6w1f{vlj(C6qo^ga3k-2PvQ z2qKc`M?@1bM1Sxm1`|VxVMHupAd-k=Vmx6ZG60lVNE8uHV)m5b-j>>0-}vZI6p3O$ zc{icPy|9TJUR}>)?VC!5J8Kcde4D`82NVx_E%m9K{vs(nGaJ{qZz z8eXXOVMAcVbQnu>Bc(w%n5RW#HRaShYuv81mZs+Vx(@JIc|}pNrPy9!vlLq@DwM-J z>gGBcp{Av&*j?99>u7fSturIXGTmNSkq?ia{Jf$HrLrQc2sSf4$6g^U={7psr&bIP zh#*1H7lt`=N9l4jJMxu_JFg8wLQ+y$P@nU=CRWRZ&O6h++Z_}hGfZnpHlX-1 zE_{MJroKrb8!X^PMxoKALMMA2b?#|G(cLtoQybX^`?>~=0zWanB(I43HZ89xpFcfH zq$G-_+lzc>QIE!>m<`B)7-R&mG6^N46l4PLavZB*m25a0!A7!CY+tq?8_lXVpb2Oq zN=0Vi<5*D|vLQQ4XVq*BJCGg34r8@!AzRE=vDMtU>?a=e-f=(kLdqbs+=T?O)jM12 z+}>vHcYt525-;tvRQN@H43I+i>{=Mm@2U6l%le8}E2?(5>gV?`pXZO9*$lrsg|Ib# zQKWcN+;DwP&r(FC63w_cRMOW@e!P{<~w^8+`GJX&?Rtiz?gQp zvs`dT4dJw`{kk!$$?kPj*1BE%k@(3G07}K}t!l1@B}$jjI%z$-n7m!JiFyksOFFBvVwODdF6;(qPY)%H89Lf2VqTN?RY^{2=1XO(Bv@C*H} zBVon-*|VG6+*uUv-Am6Fo$=jM-KVLd=!|cfZyt`${0E{la1x$}|NrVZ8NPGT@veZM z>zlV#&V7|{bpY&1qCu$6+uWE@XqnDQ1;}^9FFB1uxf+~=prwFk=OJ&s7pPI)KV1@n z+_t(e?d7}FB}nLPhkEs{CTAT&gbw(73C@N_81^Ke1@lwp!)Qk+uYz(^O>towl<$W! z-LWndQQr(VJW4!H4M@^2)D$$<&-VEBe{ajVZS?x7t8H<1R04P`3T>(>;&_3hVV@Ut zu>*;Ar^8+Z^W$OuTMb<-MoCM}6pJul5_g@y7_p( zP?-PIY)^U?l%XG_14JywOc9H*O~hh+qKm~SJ>>RI;rbA^FO&Tt7UTJI(EOQn=jJl{ z*G&VnlOy3d;9O+zv6)VS9TiRKC8IvjhCiykaOry)vF!`Bo=7XCjGv4BUudXG(Y?*$?5 z5}-KQStESHc@yGr;wT}Gh~bEsFaCNq)}jX@!=gHVF~YwkUopCquXtMrU-35JD{?%= z6d){)e9M3n$r zIY2PYALdPS*_rBL@DthN$CoVSXZm%hO=Hu~&ou0@|GLk_rXM!_z`W|hcVpA<{F9!r z>31P9+X&ufW7PJA;2-`+&A&4&1&-g`&3N#=`FsXm3&pJEBOTk(bL>Pm75LYdwdgiL zMZSPu1ar*_^ulz`WV_Jp!q?CntI_Lh8fzPxif%a|yi?tS_MX8m+yjA`v#|>gpf}pN zs12LJ=CC&3Q6B_)A-wPXH#)?D8Qale^Z~#PvjfB~{P?Uxd0%77e>*z&3r^5=$3%a@Sk+-QB&`hD8iw2RZW+ell6 zZMp4rdxU+8{Z{*-^r7ih=^N8eWF%&^W^B)tW@cwzpLrl_V3srMJ}l;^tFGqg)$nP4)3r5qfo**Bb zG3E1&K1E;nc}8ENuLP>Q@V5Dzv${6GCfxReA)MnErv7R?OZuoNMzQZxg*HrTaM*Ql>oKd%0F3xijX4n9uu1^&i*Y*?)Qehp=md zU7M2flKV=&pK6=>x}T{P|DX|GO?neLhXM5(;Aq;!4h$ufJ{O=U;R6U&#CzcnLn z#)28I%#4{?JM)$rP@ z`=9PlW>1*?&)LVSCRE)}b-X&YdS&(Jo;1&`p0DR*&be#O_ci%7_tgAWJGFLmT~OVu zx+lF6-Wu=D`a$&z>fdY_)3B`J@Z7O;Z<>3eF&n!!>tnEM6L8n2C$~mm7oOrXYrcof znjgjN!UBO^7}W~n1mZOUxsWR{hAwj9X+p}A3(>FL$c2UeWGDx$um*-0z;jduGJIvwCK|5CS`bPUj>IV$bYv;+efB zco*mUmrMB<>V7*J2Ju1GdcR#=^SZXuH4l^JF-4HOE-*z9Qv`9~343SQJHy^t+dtdB zTRL^=Q4Pe_ifc{;#WaSFOD2 z^wrL*|8~dpNsx^vf`H0w^rY}|2FGwn{OX*`<1tUe~0UiJ$IV# z+;rE#yRN$Hr@K9Ozr8wR^<(X^?JL*F*34V;@!FELFRe>icOUl7K019Nyt9sY6QLnS z^qhZ4#Gx06QILN)9r6#$d=$ZW$O$C0K!x|^1acHXJ>>X-(gMSy;(a-OAiQ7_N3w{q zkmEOl%kdNZrHR;I!W2QD2NTi60l>5DX-RrhQj*q?p!Y2~|7n*GgncEesM~Oo-d`q3 z4}p%&<7g`k6@C#$0_;Zn(R+~kd=!*yPM}lhXM!N)L>TDUs6oGG1Snz}h!kEEGY6Dw zrW3P3y2lGTn2U*}n7M(O8<@FqKFkfw+rYdH%-g`cjo+21*F!YR=Py|Zo1a%>hy1*X zE;f4BS-qNG2!S2>dFLbz;waGHBnl+5&U-6jucpD_bZfL4&O;P+7WQiXGF}b#XkGxw z$WiGjnM~GC7AH%VWy+?@=Ez!QSIh2@ZI*49y(v2)J1LjT)$%d&3G#foL*6W3Cci~~ zzkHi~kNl|ohoF$4!PukuyL&X;<7;Ht$kdT@N4AgLH%c}tWmL_mJ4WpuEg79Sx_b0& zqu&@K8Iy#)8q7w=!;f%|-i3$)ok0=IC5q3bic3u4RB?%Eyee)buZrswRB?r%&J51| z3F<)%%Qp<^jHyVcwsTp>JS>KV#jvmrDrkuQK8hgLK^5t&{w@L_7Q?!bVpv!R>u)cF zbxs;!CE@Iu1{h2ziGdLR)B(A}Mx+yUkz$Ri4f8AJu)0D^}bBB35&11=|SCY}Wz z;QPdn#7`1Z5+YeHxmt3QO0+^u*( zv03q;;;HDJ(Jw~tjou%9Ao`u?kE4%8e;WP03aKP2N+nYTslru}s=lgdm0Hzbb&)Dt zH3yi1D^xeAZc^Q>x?QzS^@!?e)ehAz)qd5xs)MRSs>7-;fFAgr>QpB|aIo5}&KmL6 zh_6SSiX~%%VuNEtW5Z)3WBbNN$7&2O8eTTMW_Z_d)bNSnxZyKK!YCLGGn5(5#4;n9 z(M&v(z~~qYlg8MY3?_@oW^$Q)W-?R6)G>>g#mptlRm?Tab z>E)$YmR?nQP3d)|x0l{odUt7i=~@`qb#Lj0(uXUbsoYlia^<^~?^k{#yq@gj|G7l3 zE1_8VG0*>_?m~U;>thSr7vz!uDqkhPNcNyCOZq-s2Yp}>{@@m(m_ zz^?>GV>Pr?7Zli*&dq47;^1z50^4GDM&oQ~V@816=!wzjZgWFR+5H21G$KZ0L3O>` z>sip+=7M%wJjre;T7L&p^&a2nU2nBC^&j&fjNDUo7MW5<9~ zXImvSG$p`r&F-AW>NW?ok{{s1@#i#ljHRt^n*~i(1ek$(7D{6UH02}%dy={?kuxcc zGoii7L}1(NPHEhg)HZ{sG~PTiunnCzrEwPFI6oraW~J)_QyMn`rST#3D0%`t3AwB< zqgQ}x#Zek}qciQ5 zVgg|X|1KN+yKew!#_zZHwvZwo~1w=E*}+q+%tH>sqH{U(hSvEMR9 z?6+nS`)!km{q|88`%M<_ixiFZ5 zo3j9Yfa+kH26J0rSrrJH{f_`b&dO5D=LoC7#PR|xSwlFW?BYu3kH$)T+&gaShOG*e zHYf0OYvCU^uMYlm3_dqc!pi_aiv!L^6EN~x01VBoqxGY5i5YXfM`AD=&Pw;EhtW2A zFg=3Kp-00jVly308{og5&V<*;HoAWY`B303a%aE;XI$LR9zb>1cAh6MEUkvK)ClL! z0sp$L4G!V$>D(G@hX@0vA-A=zI<@ev3Fgg%|J>c!3=Bk$gE$YiGzCf?NE+a-k|y|G z3*UjCvdZ$ zFAyLb%h2T&%E&GZb|=Aj4O%8<7+;BQLNOcBa"Bze)b=sL6l0Yn+yfNo?H*o#0W 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%0DGKzY4yQrn?y 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

%~>4A{W+r^=Ijf_o#B_>@vQ+MAFRKqriFBB(v=X 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

m~BKE@6tCL~63tENAuU#J^yB(K% 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 z

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

cN74b{OAko>x?e}e&e;2>A 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⩔qHq3Iyk|f#wHo82DNzKh> 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 diff --git a/public/icons/docs-2.pxm b/public/icons/docs-2.pxm deleted file mode 100644 index 1d81916effc9a4e2f90794f5dfe0ebc37df39971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1343093 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±l)`0{R#SkR*xz0QLK{ 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

!de5{ZuWC^P6Fv|xN%4n5D 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

G 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
Q4w^2;Ck_^-RJ<3K648K_G-%I3Q@M{JKe| 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
c{?AwhQ`b>9e9~jtVwCeI31<3t<^; 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

23+3wF@2eK=?5^Wh7}vEESe^4>O`A9Gz>hBck6 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

S+ZH=E-t=3D-W35tNPei}o@#J$1wcbF3CmCMH% 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 BZP)++ diff --git a/public/icons/docs/bluebird/16@2x.png b/public/icons/docs/bluebird/16@2x.png index 9ffae075b3af0473e9d5861b8d015d419bb482b1..64ad5903be90861bc9a70c8296a0ce4bc22260ed 100644 GIT binary patch literal 2273 zcmZ`)c{tPy7yiwHv5dx&U1@9)8W~G2B7?D&?OLXCF_;+JWr{mf!X+dWN~BVZ3~8}t zn`Yw6jHWP3jG{u;7-WeI-}LAA$M>A)J@0wmbKd9tcTTp)2`9LOiUa@vaAz#WOUN3( z0TUJG1TuM5NKk^EyBz>L%a_~^7Wv)8W4+t~fUE-mDd_;PC6rQT0N@-70Oo=K!15LV zD8`kwd0Gh@q9LwM7-08zl+zy;3Kj7#Fi0!-!^$JdCJ9fBUFlv3TRoQPwfD^n*7G zhS#@EOWdY5-k1wt5TCixK${gVxEwM}ols)W`$I z;e1U+HLM-@=wE4mO{2OC)dBa+i&*fUS6k0|egp>1E8duIe z56%ke@agW{6r0i9Gx~WCoUwE3&-zZBB!0oAZjJsnoMV-=pttC%I7%m`ct76PiP3hn zEG@u5kpMygbgd7{j_4$+vbZvlQmfxQ4NO7Hlh&v3ZlCfd3ftnja-I9sH$VAP$1Ku| zRQ!;Yx!0p#Wsj=+p@SM~nch#7)0!mK9KofQl-_G!?%#V{eYZI(bx&T4 zeE#;f0l+*uWOHR@~!;$h8GzJ-pMQPc|nGbFCxmO~}+lhpTi5 zzw%JABSOWQIuOZW|EJt*?f|jqu{nNsKz$m_d<=)Bgz$pH{Qx9bhFZ|V>lwS0QDlbe zVM!hc0#z+$F~3`bv{EJ;0_Y8&s;@2>Fa}PjiEg#=a2cC~u{`rj6wuD}vAC^seVyW{ zSdBkS@1wD_Kp8t(b9&D0$EP!E-?N+Wd^%niDGtldO5z8cn;fV~#HG$fXJ*F>s@!zw z5g)Eb=s(4!rwV>qR!Lo0*qZjNW1(;_aT&fJ?QMfRm&7%LzdApgdEV1Odsu!I-mtaQ zNjdAFfS(wxZil^r!tAdHF?IrH-w<#&aPte-)v1395=0lL$hpmmtblC0ciR4m?|9w- z&j(gvI&j~SI^t+qk1f;1qmPQ6VPl*>=$fc;xSdkqS}4fZh^*w)dpf@-M7KD6a*#8h z*Y(Lk{E(A4qO6Fx1~#RmwmMB;J0U!JN1!}yQ@<~| z`Zgyv-b^)Q*4zA@ch~&d&mOit)D5K1Z|}~STM8}*>yxInXr>A`BbR3vd=n1nl{!^QA|F80 zDo2Yd2Q^fo-+jc?-#5J!Y`y2yzNkb-c$7W@UK{DWA{GwU5S&g<48|I;^0FmXc(7jM zMx<2&NBQ2_q=a#<7`xPOtX+X=+VomWBMo&20*Kx>?1g~k!dG1M>WVDTwXHwa?3Ve> zfoR5)jp4UH1{)`jA5_ziBQ~M#kcJEWKP($~ahkucXHviUSvPb%G!eX?oUHVzF}-(q zHN`=czNJr}fF!MUjW1_6|nVi=AmB&fMuk z`W97210Hh8EZ?%DRkr6feNq!urGf6V=b-J-O;V+rq&V#vbEKjDA%AyuW(qDmAt5v{ z751t}RDx&QXShl}?ZfIlwTJmhj&)&SJ!VF^bR1ssU_~!IbG4#r%0$H@y#y(Z1XB&& zbQ0}2n-8DI@XAZ98}W0CSaHyCXlfFJCJRE8nJ-CQ{u}J`LS!ZllcSIprEbNwoij;? z02hA{x^fWjNWu#r7u`&Cbqm1RXAMOEJ{c4)s#-h14}?5*(G3to|O& zzNa_o4G*fJ`*fz%zf_le(E_FQW2xMNsI&c1-Ry9CC3g>v?PUUIm*2np0?b$MlHBop zcZT@+r25sa$V)4FL=8;R&l+tCdPxp|>QQd0nOG~|{G2~M@2+!j)pDVbuCnc^ms;cx z%?mRm!Q`N7emeK%zjBER{EGmrJHTViGe&Uk!3Y#o;NoyF&u={&q>0o72l3KURdmG# z35^E1WO&0b%2KBd;DPMO&IcQHO@9Q@?XRXU%58P!JiZwObWBa$A<|C zID#^^Fhm_SG&b`wMq3^+w-nYWv?U5PJ|9T>A47C(Xhirw|KCv9JjE6olzwmUjtwUz m2FHg1alsKWB%_!xk_OrcWn{K}75`Z{12{XJz&t)4l=fe)a2eeI delta 1009 zcmVd$a0C+qP|6 ztM|sXZQI6jwqx72Z5wT)TsI=-wtF*b zTOBZXmy7(@AAi2AGWSiz-!T5Ln^;11oN2g(fN6-trH870`sKqHm$o{fS(}c#P2TCy zovW4ozE_c7h-d+^TS>$L#0kvmRHdUzm;u=T&9pU4At69OrmEi|vef}*+PhLJ?5C<= zc1G;WF`zBY7!Z89W3cz5t?sK&nzS*XLN`I-?1QB)~Q68U3O$?}k8Pozy z1yKwMRj3F6+YoMuya3>ftqvHu@3l-70ydtJew z-hYAO@A>C|F$do0*=Jii=VuV{CGnLpQ>X-RC?hk!1Zxh+8VCFek=2|76dUFLIbg&- zS0?~^0yKo3A4Kd15TXD2|17H-V5$%?G;6gKt$%tfgDqy55Nri%tw61?75EME!2r$# z(M%?8OU#al0T9d#ChO&@0uaOUrN^5t&b?q6YD%qakgcW}NYH(&0;0SRfLo$)B(Vb# z;)^yO`!JOap9&BF4R3rox8-Ryv%*h^d0QQ@yy{r=M{NllL|G)<7Z!8OL#QWGvJTp&Ek_W~CkdDcsxr@1FHB3mF(B)G z0yTxI+#By$K0%7Ga~>RDDzaQv??=i+w`#926IAtsc*Xl7{Q!1(fMBLCef8*NMWl>p z=T-rhQPH>20C;9z1fW={lz(WD03w=eAbk4Xo68y`0Kj(y6!7a)(jWn9_9 Date: Sun, 16 Sep 2018 23:50:44 +0200 Subject: [PATCH 0014/2822] Handle docs without custom icons properly --- lib/tasks/sprites.thor | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index ea0a8b16b5..01cbcf220e 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -13,32 +13,42 @@ class SpritesCLI < Thor desc 'generate [--verbose]', 'Generate the documentation icon spritesheets' option :verbose, type: :boolean def generate - icons = get_icons - icons_per_row = Math.sqrt(icons.length).ceil + items = get_items + items_with_icons = items.select {|item| item[:has_icons]} + items_without_icons = items.select {|item| !item[:has_icons]} + icons_per_row = Math.sqrt(items_with_icons.length).ceil bg_color = get_sidebar_background - icons.each_with_index do |icon, index| - icon[:row] = (index / icons_per_row).floor - icon[:col] = index - icon[:row] * icons_per_row + items_with_icons.each_with_index do |item, index| + if item[:has_icons] + item[:row] = (index / icons_per_row).floor + item[:col] = index - item[:row] * icons_per_row - icon[:icon_16] = get_icon(icon[:path_16], 16) - icon[:icon_32] = get_icon(icon[:path_32], 32) + item[:icon_16] = get_icon(item[:path_16], 16) + item[:icon_32] = get_icon(item[:path_32], 32) - icon[:dark_icon_fix] = needs_dark_icon_fix(icon[:icon_32], bg_color) + item[:dark_icon_fix] = needs_dark_icon_fix(item[:icon_32], bg_color) + end end - log_details(icons, icons_per_row) + generate_spritesheet(16, items_with_icons, 'assets/images/sprites/docs.png') {|item| item[:icon_16]} + generate_spritesheet(32, items_with_icons, 'assets/images/sprites/docs@2x.png') {|item| item[:icon_32]} - generate_spritesheet(16, icons, 'assets/images/sprites/docs.png') {|icon| icon[:icon_16]} - generate_spritesheet(32, icons, 'assets/images/sprites/docs@2x.png') {|icon| icon[:icon_32]} + # Add Mongoose's icon details to docs without custom icons + template_item = items_with_icons.find {|item| item[:type] == 'mongoose'} + items_without_icons.each do |item| + item[:row] = template_item[:row] + item[:col] = template_item[:col] + item[:dark_icon_fix] = template_item[:dark_icon_fix] + end - save_manifest(icons, icons_per_row, 'assets/images/sprites/docs.json') + save_manifest(items, icons_per_row, 'assets/images/sprites/docs.json') end private - def get_icons + def get_items items = Docs.all.map do |doc| base_path = "public/icons/docs/#{doc.slug}" { @@ -50,7 +60,10 @@ class SpritesCLI < Thor # Checking paths against an array of possible paths is faster than 200+ File.exist? calls files = Dir.glob('public/icons/docs/**/*.png') - items.select {|item| files.include?(item[:path_16]) && files.include?(item[:path_32])} + items.map do |item| + item[:has_icons] = files.include?(item[:path_16]) && files.include?(item[:path_32]) + item + end end def get_icon(path, max_size) From cf549316042c91442196d94dc9753eab65725caf Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 17 Sep 2018 18:35:13 +0200 Subject: [PATCH 0015/2822] Fix tests --- .gitignore | 1 - assets/images/.gitignore | 1 + public/docs/docs.json | 3568 +++++++++++++++++++++++++++++++++++++- 3 files changed, 3568 insertions(+), 2 deletions(-) create mode 100644 assets/images/.gitignore diff --git a/.gitignore b/.gitignore index bf4994e422..c257d75b6b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,3 @@ public/docs/**/* !public/docs/docs.json !public/docs/**/index.json log/ -assets/images/sprites diff --git a/assets/images/.gitignore b/assets/images/.gitignore new file mode 100644 index 0000000000..4a72ec741e --- /dev/null +++ b/assets/images/.gitignore @@ -0,0 +1 @@ +sprites/**/* diff --git a/public/docs/docs.json b/public/docs/docs.json index 0637a088a0..2ac4cd6025 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -1 +1,3567 @@ -[] \ No newline at end of file +[ + { + "name": "Angular", + "slug": "angular", + "type": "angular", + "links": { + "home": "https://angular.io/", + "code": "https://github.com/angular/angular" + }, + "version": "", + "release": "6.0.4", + "mtime": 1528681713, + "db_size": 10106727 + }, + { + "name": "Angular", + "slug": "angular~5", + "type": "angular", + "links": { + "home": "https://angular.io/", + "code": "https://github.com/angular/angular" + }, + "version": "5", + "release": "5.2.11", + "mtime": 1528681935, + "db_size": 9383106 + }, + { + "name": "Angular", + "slug": "angular~4", + "type": "angular", + "links": { + "home": "https://angular.io/", + "code": "https://github.com/angular/angular" + }, + "version": "4", + "release": "4.4.6", + "mtime": 1510333140, + "db_size": 8247972 + }, + { + "name": "Angular", + "slug": "angular~2", + "type": "angular", + "links": { + "home": "https://angular.io/", + "code": "https://github.com/angular/angular" + }, + "version": "2", + "release": "2.4.10", + "mtime": 1501435056, + "db_size": 7928892 + }, + { + "name": "Angular.js", + "slug": "angularjs~1.6", + "type": "angularjs", + "version": "1.6", + "release": "1.6.6", + "mtime": 1509291873, + "db_size": 2078695 + }, + { + "name": "Angular.js", + "slug": "angularjs~1.5", + "type": "angularjs", + "version": "1.5", + "release": "1.5.11", + "mtime": 1501418597, + "db_size": 2034320 + }, + { + "name": "Angular.js", + "slug": "angularjs~1.4", + "type": "angularjs", + "version": "1.4", + "release": "1.4.14", + "mtime": 1501418614, + "db_size": 1801860 + }, + { + "name": "Angular.js", + "slug": "angularjs~1.3", + "type": "angularjs", + "version": "1.3", + "release": "1.3.20", + "mtime": 1501418630, + "db_size": 1669877 + }, + { + "name": "Angular.js", + "slug": "angularjs~1.2", + "type": "angularjs", + "version": "1.2", + "release": "1.2.32", + "mtime": 1501418645, + "db_size": 1362341 + }, + { + "name": "Ansible", + "slug": "ansible~2.6", + "type": "sphinx", + "links": { + "home": "https://www.ansible.com/", + "code": "https://github.com/ansible/ansible" + }, + "version": "2.6", + "release": "2.6.1", + "mtime": 1531083932, + "db_size": 22024258 + }, + { + "name": "Ansible", + "slug": "ansible~2.5", + "type": "sphinx", + "links": { + "home": "https://www.ansible.com/", + "code": "https://github.com/ansible/ansible" + }, + "version": "2.5", + "release": "2.5.3", + "mtime": 1528678186, + "db_size": 19502653 + }, + { + "name": "Ansible", + "slug": "ansible~2.4", + "type": "sphinx", + "links": { + "home": "https://www.ansible.com/", + "code": "https://github.com/ansible/ansible" + }, + "version": "2.4", + "release": "2.4.3", + "mtime": 1528674845, + "db_size": 12975660 + }, + { + "name": "Apache HTTP Server", + "slug": "apache_http_server", + "type": "apache", + "links": { + "home": "https://httpd.apache.org/" + }, + "release": "2.4.34", + "mtime": 1534714926, + "db_size": 3628166 + }, + { + "name": "Apache Pig", + "slug": "apache_pig~0.17", + "type": "apache_pig", + "links": { + "home": "https://pig.apache.org/" + }, + "version": "0.17", + "release": "0.17.0", + "mtime": 1498397567, + "db_size": 731436 + }, + { + "name": "Apache Pig", + "slug": "apache_pig~0.16", + "type": "apache_pig", + "links": { + "home": "https://pig.apache.org/" + }, + "version": "0.16", + "release": "0.16.0", + "mtime": 1469311906, + "db_size": 716644 + }, + { + "name": "Apache Pig", + "slug": "apache_pig~0.15", + "type": "apache_pig", + "links": { + "home": "https://pig.apache.org/" + }, + "version": "0.15", + "release": "0.15.0", + "mtime": 1461510756, + "db_size": 703105 + }, + { + "name": "Apache Pig", + "slug": "apache_pig~0.14", + "type": "apache_pig", + "links": { + "home": "https://pig.apache.org/" + }, + "version": "0.14", + "release": "0.14.0", + "mtime": 1461510759, + "db_size": 697409 + }, + { + "name": "Apache Pig", + "slug": "apache_pig~0.13", + "type": "apache_pig", + "links": { + "home": "https://pig.apache.org/" + }, + "version": "0.13", + "release": "0.13.0", + "mtime": 1461510762, + "db_size": 671261 + }, + { + "name": "Async", + "slug": "async", + "type": "async", + "links": { + "home": "https://caolan.github.io/async/", + "code": "https://github.com/caolan/async" + }, + "release": "2.6.0", + "mtime": 1510332635, + "db_size": 207425 + }, + { + "name": "Babel", + "slug": "babel", + "type": "simple", + "links": { + "home": "https://babeljs.io/", + "code": "https://github.com/babel/babel" + }, + "release": "6.26.1", + "mtime": 1517763345, + "db_size": 371969 + }, + { + "name": "Backbone.js", + "slug": "backbone", + "type": "underscore", + "links": { + "home": "http://backbonejs.org/", + "code": "https://github.com/jashkenas/backbone" + }, + "release": "1.3.3", + "mtime": 1460208458, + "db_size": 84906 + }, + { + "name": "Bash", + "slug": "bash", + "type": "bash", + "links": { + "home": "https://www.gnu.org/software/bash/", + "code": "http://git.savannah.gnu.org/cgit/bash.git" + }, + "release": "4.4", + "mtime": 1532899814, + "db_size": 780345 + }, + { + "name": "Bluebird", + "slug": "bluebird", + "type": "simple", + "links": { + "home": "http://bluebirdjs.com/", + "code": "https://github.com/petkaantonov/bluebird/" + }, + "release": "3.5.1", + "mtime": 1511735064, + "db_size": 444684 + }, + { + "name": "Bootstrap", + "slug": "bootstrap~4", + "type": "bootstrap", + "links": { + "home": "https://getbootstrap.com/", + "code": "https://github.com/twbs/bootstrap" + }, + "version": "4", + "release": "4.1.3", + "mtime": 1534716040, + "db_size": 701850 + }, + { + "name": "Bootstrap", + "slug": "bootstrap~3", + "type": "bootstrap", + "links": { + "home": "https://getbootstrap.com/", + "code": "https://github.com/twbs/bootstrap" + }, + "version": "3", + "release": "3.3.7", + "mtime": 1511736590, + "db_size": 1692281 + }, + { + "name": "Bottle", + "slug": "bottle~0.12", + "type": "sphinx", + "links": { + "home": "https://bottlepy.org/", + "code": "https://github.com/bottlepy/bottle" + }, + "version": "0.12", + "release": "0.12.13", + "mtime": 1484519567, + "db_size": 299543 + }, + { + "name": "Bottle", + "slug": "bottle~0.11", + "type": "sphinx", + "links": { + "home": "https://bottlepy.org/", + "code": "https://github.com/bottlepy/bottle" + }, + "version": "0.11", + "release": "0.11.7", + "mtime": 1484519569, + "db_size": 274880 + }, + { + "name": "Bower", + "slug": "bower", + "type": "bower", + "links": { + "home": "https://bower.io/", + "code": "https://github.com/bower/bower" + }, + "release": "1.8.4", + "mtime": 1524923407, + "db_size": 46027 + }, + { + "name": "C", + "slug": "c", + "type": "c", + "mtime": 1521903579, + "db_size": 3831357 + }, + { + "name": "C++", + "slug": "cpp", + "type": "c", + "mtime": 1521903410, + "db_size": 21391403 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.6", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.6", + "release": "3.6.2", + "mtime": 1524923828, + "db_size": 11125017 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.5", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.5", + "release": "3.5.15", + "mtime": 1524923581, + "db_size": 10616786 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.4", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.4", + "release": "3.4.13", + "mtime": 1503758159, + "db_size": 10562123 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.3", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.3", + "release": "3.3.15", + "mtime": 1487425686, + "db_size": 8700321 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.2", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.2", + "release": "3.2.14", + "mtime": 1474125449, + "db_size": 8263596 + }, + { + "name": "CakePHP", + "slug": "cakephp~3.1", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "3.1", + "release": "3.1.13", + "mtime": 1462111394, + "db_size": 7959275 + }, + { + "name": "CakePHP", + "slug": "cakephp~2.10", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "2.10", + "release": "2.10.3", + "mtime": 1506274147, + "db_size": 6138877 + }, + { + "name": "CakePHP", + "slug": "cakephp~2.9", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "2.9", + "release": "2.9.4", + "mtime": 1484523236, + "db_size": 5552668 + }, + { + "name": "CakePHP", + "slug": "cakephp~2.8", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "2.8", + "release": "2.8.8", + "mtime": 1474125323, + "db_size": 7518979 + }, + { + "name": "CakePHP", + "slug": "cakephp~2.7", + "type": "cakephp", + "links": { + "home": "https://cakephp.org/", + "code": "https://github.com/cakephp/cakephp" + }, + "version": "2.7", + "release": "2.7.11", + "mtime": 1462111536, + "db_size": 8483870 + }, + { + "name": "Chai", + "slug": "chai", + "type": "chai", + "links": { + "home": "http://chaijs.com/", + "code": "https://github.com/chaijs/chai" + }, + "release": "4.1.0", + "mtime": 1500290759, + "db_size": 394800 + }, + { + "name": "Chef", + "slug": "chef~12", + "type": "sphinx_simple", + "links": { + "home": "https://www.chef.io/", + "code": "https://github.com/chef/chef" + }, + "version": "12", + "release": "12.13", + "mtime": 1495472987, + "db_size": 3833180 + }, + { + "name": "Chef", + "slug": "chef~11", + "type": "sphinx_simple", + "links": { + "home": "https://www.chef.io/", + "code": "https://github.com/chef/chef" + }, + "version": "11", + "release": "11.18", + "mtime": 1495473070, + "db_size": 3436869 + }, + { + "name": "Clojure", + "slug": "clojure~1.9", + "type": "clojure", + "version": "1.9", + "release": "1.9", + "mtime": 1515366982, + "db_size": 551767 + }, + { + "name": "Clojure", + "slug": "clojure~1.8", + "type": "clojure", + "version": "1.8", + "release": "1.8", + "mtime": 1453669840, + "db_size": 534449 + }, + { + "name": "Clojure", + "slug": "clojure~1.7", + "type": "clojure", + "version": "1.7", + "release": "1.7", + "mtime": 1453669823, + "db_size": 525307 + }, + { + "name": "CMake", + "slug": "cmake~3.12", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.12", + "release": "3.12.1", + "mtime": 1534717180, + "db_size": 3544400 + }, + { + "name": "CMake", + "slug": "cmake~3.11", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.11", + "release": "3.11.4", + "mtime": 1534717159, + "db_size": 3365352 + }, + { + "name": "CMake", + "slug": "cmake~3.10", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.10", + "release": "3.10.3", + "mtime": 1534717115, + "db_size": 3261032 + }, + { + "name": "CMake", + "slug": "cmake~3.9", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.9", + "release": "3.9.6", + "mtime": 1515367068, + "db_size": 3094540 + }, + { + "name": "CMake", + "slug": "cmake~3.8", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.8", + "release": "3.8.2", + "mtime": 1500742171, + "db_size": 2975592 + }, + { + "name": "CMake", + "slug": "cmake~3.7", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.7", + "release": "3.7.2", + "mtime": 1492960254, + "db_size": 2866766 + }, + { + "name": "CMake", + "slug": "cmake~3.6", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.6", + "release": "3.6.3", + "mtime": 1479055624, + "db_size": 2727425 + }, + { + "name": "CMake", + "slug": "cmake~3.5", + "type": "sphinx_simple", + "links": { + "home": "https://cmake.org/", + "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" + }, + "version": "3.5", + "release": "3.5.2", + "mtime": 1467561510, + "db_size": 2656199 + }, + { + "name": "Codeception", + "slug": "codeception", + "type": "codeception", + "links": { + "home": "https://codeception.com/", + "code": "https://github.com/codeception/codeception" + }, + "release": "2.4.0", + "mtime": 1521386083, + "db_size": 1601844 + }, + { + "name": "CodeceptJS", + "slug": "codeceptjs", + "type": "codeceptjs", + "links": { + "home": "https://codecept.io/", + "code": "https://github.com/codeception/codeceptjs" + }, + "release": "1.3.1", + "mtime": 1531082805, + "db_size": 591278 + }, + { + "name": "CodeIgniter", + "slug": "codeigniter~3", + "type": "sphinx", + "links": { + "home": "https://codeigniter.com/", + "code": "https://github.com/bcit-ci/CodeIgniter" + }, + "version": "3", + "release": "3.1.8", + "mtime": 1521915543, + "db_size": 1383667 + }, + { + "name": "CoffeeScript", + "slug": "coffeescript~2", + "type": "coffeescript", + "links": { + "home": "http://coffeescript.org", + "code": "https://github.com/jashkenas/coffeescript" + }, + "version": "2", + "release": "2.3.0", + "mtime": 1526258172, + "db_size": 108169 + }, + { + "name": "CoffeeScript", + "slug": "coffeescript~1", + "type": "coffeescript", + "links": { + "home": "http://coffeescript.org", + "code": "https://github.com/jashkenas/coffeescript" + }, + "version": "1", + "release": "1.12.6", + "mtime": 1507562899, + "db_size": 66981 + }, + { + "name": "Cordova", + "slug": "cordova~7", + "type": "cordova", + "links": { + "home": "https://cordova.apache.org/", + "code": "https://git-wip-us.apache.org/repos/asf/cordova-cli.git" + }, + "version": "7", + "release": "7.1.0", + "mtime": 1509299994, + "db_size": 2558161 + }, + { + "name": "Cordova", + "slug": "cordova~6", + "type": "cordova", + "links": { + "home": "https://cordova.apache.org/", + "code": "https://git-wip-us.apache.org/repos/asf/cordova-cli.git" + }, + "version": "6", + "release": "6.5.0", + "mtime": 1506274282, + "db_size": 2536890 + }, + { + "name": "Crystal", + "slug": "crystal", + "type": "crystal", + "links": { + "home": "https://crystal-lang.org/", + "code": "https://github.com/crystal-lang/crystal" + }, + "release": "0.26.0", + "mtime": 1534715966, + "db_size": 9855759 + }, + { + "name": "CSS", + "slug": "css", + "type": "mdn", + "mtime": 1534718228, + "db_size": 11357189 + }, + { + "name": "D", + "slug": "d", + "type": "d", + "links": { + "home": "https://dlang.org/", + "code": "https://github.com/dlang/phobos" + }, + "release": "2.081.0", + "mtime": 1531082506, + "db_size": 5861676 + }, + { + "name": "D3.js", + "slug": "d3~5", + "type": "d3", + "links": { + "home": "https://d3js.org/", + "code": "https://github.com/d3/d3" + }, + "version": "5", + "release": "5.4.0", + "mtime": 1526257705, + "db_size": 15114972 + }, + { + "name": "D3.js", + "slug": "d3~4", + "type": "d3", + "links": { + "home": "https://d3js.org/", + "code": "https://github.com/d3/d3" + }, + "version": "4", + "release": "4.12.2", + "mtime": 1515367749, + "db_size": 13601596 + }, + { + "name": "D3.js", + "slug": "d3~3", + "type": "d3", + "links": { + "home": "https://d3js.org/", + "code": "https://github.com/d3/d3" + }, + "version": "3", + "release": "3.5.17", + "mtime": 1472313914, + "db_size": 653806 + }, + { + "name": "Dart", + "slug": "dart~2", + "type": "dart", + "links": { + "home": "https://www.dartlang.org/", + "code": "https://github.com/dart-lang/sdk" + }, + "version": "2", + "release": "2.0.0", + "mtime": 1533592653, + "db_size": 30849359 + }, + { + "name": "Dart", + "slug": "dart~1", + "type": "dart", + "links": { + "home": "https://www.dartlang.org/", + "code": "https://github.com/dart-lang/sdk" + }, + "version": "1", + "release": "1.24.3", + "mtime": 1533594583, + "db_size": 31726721 + }, + { + "name": "Django", + "slug": "django~2.1", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "2.1", + "release": "2.1.0", + "mtime": 1534717304, + "db_size": 6138831 + }, + { + "name": "Django", + "slug": "django~2.0", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "2.0", + "release": "2.0.7", + "mtime": 1531082713, + "db_size": 6069505 + }, + { + "name": "Django", + "slug": "django~1.11", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "1.11", + "release": "1.11.9", + "mtime": 1515954092, + "db_size": 6145924 + }, + { + "name": "Django", + "slug": "django~1.10", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "1.10", + "release": "1.10.8", + "mtime": 1505055496, + "db_size": 6007190 + }, + { + "name": "Django", + "slug": "django~1.9", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "1.9", + "release": "1.9.13", + "mtime": 1491762860, + "db_size": 5396651 + }, + { + "name": "Django", + "slug": "django~1.8", + "type": "sphinx", + "links": { + "home": "https://www.djangoproject.com/", + "code": "https://github.com/django/django" + }, + "version": "1.8", + "release": "1.8.18", + "mtime": 1491762906, + "db_size": 5201532 + }, + { + "name": "Docker", + "slug": "docker~17", + "type": "docker", + "links": { + "home": "https://docker.com/", + "code": "https://github.com/docker/docker" + }, + "version": "17", + "release": "17.06", + "mtime": 1504541210, + "db_size": 7538709 + }, + { + "name": "Docker", + "slug": "docker~1.13", + "type": "docker", + "links": { + "home": "https://docker.com/", + "code": "https://github.com/docker/docker" + }, + "version": "1.13", + "release": "1.13", + "mtime": 1504538357, + "db_size": 6967276 + }, + { + "name": "Docker", + "slug": "docker~1.12", + "type": "docker", + "links": { + "home": "https://docker.com/", + "code": "https://github.com/docker/docker" + }, + "version": "1.12", + "release": "1.12", + "mtime": 1504538249, + "db_size": 6667872 + }, + { + "name": "Docker", + "slug": "docker~1.11", + "type": "docker", + "links": { + "home": "https://docker.com/", + "code": "https://github.com/docker/docker" + }, + "version": "1.11", + "release": "1.11", + "mtime": 1504538129, + "db_size": 5827804 + }, + { + "name": "Docker", + "slug": "docker~1.10", + "type": "docker", + "links": { + "home": "https://docker.com/", + "code": "https://github.com/docker/docker" + }, + "version": "1.10", + "release": "1.10", + "mtime": 1504538058, + "db_size": 7125854 + }, + { + "name": "Dojo", + "slug": "dojo", + "type": "dojo", + "links": { + "home": "http://dojotoolkit.org", + "code": "https://github.com/dojo/dojo" + }, + "release": "1.10", + "mtime": 1500741465, + "db_size": 2007352 + }, + { + "name": "DOM", + "slug": "dom", + "type": "mdn", + "mtime": 1534727173, + "db_size": 31158963 + }, + { + "name": "DOM Events", + "slug": "dom_events", + "type": "mdn", + "mtime": 1534719126, + "db_size": 1681862 + }, + { + "name": "Drupal", + "slug": "drupal~8", + "type": "drupal", + "links": { + "home": "https://www.drupal.org/", + "code": "http://cgit.drupalcode.org/drupal" + }, + "version": "8", + "release": "8.1.7", + "mtime": 1469287435, + "db_size": 37442060 + }, + { + "name": "Drupal", + "slug": "drupal~7", + "type": "drupal", + "links": { + "home": "https://www.drupal.org/", + "code": "http://cgit.drupalcode.org/drupal" + }, + "version": "7", + "release": "7.50", + "mtime": 1468189926, + "db_size": 17249491 + }, + { + "name": "Electron", + "slug": "electron", + "type": "electron", + "links": { + "home": "https://electronjs.org/", + "code": "https://github.com/electron/electron" + }, + "release": "2.0.2", + "mtime": 1531082744, + "db_size": 1736011 + }, + { + "name": "Elixir", + "slug": "elixir~1.7", + "type": "elixir", + "links": { + "home": "https://elixir-lang.org/", + "code": "https://github.com/elixir-lang/elixir" + }, + "version": "1.7", + "release": "1.7.2", + "mtime": 1534716723, + "db_size": 4948105 + }, + { + "name": "Elixir", + "slug": "elixir~1.6", + "type": "elixir", + "links": { + "home": "https://elixir-lang.org/", + "code": "https://github.com/elixir-lang/elixir" + }, + "version": "1.6", + "release": "1.6.5", + "mtime": 1526258250, + "db_size": 2892867 + }, + { + "name": "Elixir", + "slug": "elixir~1.5", + "type": "elixir", + "links": { + "home": "https://elixir-lang.org/", + "code": "https://github.com/elixir-lang/elixir" + }, + "version": "1.5", + "release": "1.5.3", + "mtime": 1517182992, + "db_size": 2558961 + }, + { + "name": "Elixir", + "slug": "elixir~1.4", + "type": "elixir", + "links": { + "home": "https://elixir-lang.org/", + "code": "https://github.com/elixir-lang/elixir" + }, + "version": "1.4", + "release": "1.4.5", + "mtime": 1498397999, + "db_size": 2336862 + }, + { + "name": "Elixir", + "slug": "elixir~1.3", + "type": "elixir", + "links": { + "home": "https://elixir-lang.org/", + "code": "https://github.com/elixir-lang/elixir" + }, + "version": "1.3", + "release": "1.3.4", + "mtime": 1495463739, + "db_size": 2113680 + }, + { + "name": "Ember.js", + "slug": "ember", + "type": "ember", + "links": { + "home": "https://emberjs.com/", + "code": "https://github.com/emberjs/ember.js" + }, + "release": "2.15.0", + "mtime": 1509308649, + "db_size": 5540495 + }, + { + "name": "Erlang", + "slug": "erlang~21", + "type": "erlang", + "links": { + "home": "https://www.erlang.org/", + "code": "https://github.com/erlang/otp" + }, + "version": "21", + "release": "21.0", + "mtime": 1531082610, + "db_size": 10706256 + }, + { + "name": "Erlang", + "slug": "erlang~20", + "type": "erlang", + "links": { + "home": "https://www.erlang.org/", + "code": "https://github.com/erlang/otp" + }, + "version": "20", + "release": "20.3", + "mtime": 1528680392, + "db_size": 8870168 + }, + { + "name": "Erlang", + "slug": "erlang~19", + "type": "erlang", + "links": { + "home": "https://www.erlang.org/", + "code": "https://github.com/erlang/otp" + }, + "version": "19", + "release": "19.3", + "mtime": 1495487321, + "db_size": 9477458 + }, + { + "name": "Erlang", + "slug": "erlang~18", + "type": "erlang", + "links": { + "home": "https://www.erlang.org/", + "code": "https://github.com/erlang/otp" + }, + "version": "18", + "release": "18.3", + "mtime": 1495487381, + "db_size": 8909158 + }, + { + "name": "ESLint", + "slug": "eslint", + "type": "simple", + "links": { + "home": "https://eslint.org/", + "code": "https://github.com/eslint/eslint" + }, + "release": "4.19.0", + "mtime": 1521387863, + "db_size": 2018268 + }, + { + "name": "Express", + "slug": "express", + "type": "express", + "links": { + "home": "http://expressjs.com/", + "code": "https://github.com/strongloop/express/" + }, + "release": "4.16.1", + "mtime": 1507390010, + "db_size": 322413 + }, + { + "name": "Falcon", + "slug": "falcon~1.4", + "type": "sphinx", + "links": { + "home": "https://falconframework.org/", + "code": "https://github.com/falconry/falcon" + }, + "version": "1.4", + "release": "1.4.1", + "mtime": 1519571975, + "db_size": 545288 + }, + { + "name": "Falcon", + "slug": "falcon~1.3", + "type": "sphinx", + "links": { + "home": "https://falconframework.org/", + "code": "https://github.com/falconry/falcon" + }, + "version": "1.3", + "release": "1.3.0", + "mtime": 1505055855, + "db_size": 499126 + }, + { + "name": "Falcon", + "slug": "falcon~1.2", + "type": "sphinx", + "links": { + "home": "https://falconframework.org/", + "code": "https://github.com/falconry/falcon" + }, + "version": "1.2", + "release": "1.2.0", + "mtime": 1505055858, + "db_size": 442298 + }, + { + "name": "Fish", + "slug": "fish~2.7", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.7", + "release": "2.7.1", + "mtime": 1515367841, + "db_size": 336043 + }, + { + "name": "Fish", + "slug": "fish~2.6", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.6", + "release": "2.6.0", + "mtime": 1501448153, + "db_size": 300968 + }, + { + "name": "Fish", + "slug": "fish~2.5", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.5", + "release": "2.5.0", + "mtime": 1486329214, + "db_size": 287843 + }, + { + "name": "Fish", + "slug": "fish~2.4", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.4", + "release": "2.4.0", + "mtime": 1479050136, + "db_size": 282800 + }, + { + "name": "Fish", + "slug": "fish~2.3", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.3", + "release": "2.3.1", + "mtime": 1473109691, + "db_size": 267217 + }, + { + "name": "Fish", + "slug": "fish~2.2", + "type": "fish", + "links": { + "home": "https://fishshell.com/", + "code": "https://github.com/fish-shell/fish-shell" + }, + "version": "2.2", + "release": "2.2.0", + "mtime": 1473109693, + "db_size": 233348 + }, + { + "name": "Flow", + "slug": "flow", + "type": "flow", + "links": { + "home": "https://flow.org/", + "code": "https://github.com/facebook/flow" + }, + "release": "0.79.1", + "mtime": 1534714964, + "db_size": 339892 + }, + { + "name": "GCC", + "slug": "gcc~7", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/" + }, + "version": "7", + "release": "7.3.0", + "mtime": 1519585911, + "db_size": 2942101 + }, + { + "name": "GCC", + "slug": "gcc~6", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/" + }, + "version": "6", + "release": "6.4.0", + "mtime": 1503759853, + "db_size": 2802192 + }, + { + "name": "GCC", + "slug": "gcc~5", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/" + }, + "version": "5", + "release": "5.4.0", + "mtime": 1477863857, + "db_size": 2361957 + }, + { + "name": "GCC", + "slug": "gcc~4", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/" + }, + "version": "4", + "release": "4.9.3", + "mtime": 1460317637, + "db_size": 2647145 + }, + { + "name": "Git", + "slug": "git", + "type": "git", + "links": { + "home": "https://git-scm.com/", + "code": "https://github.com/git/git" + }, + "release": "2.17.0", + "mtime": 1524924117, + "db_size": 3140923 + }, + { + "name": "GNU Fortran", + "slug": "gnu_fortran~7", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/fortran/" + }, + "version": "7", + "release": "7.3.0", + "mtime": 1519585935, + "db_size": 1250341 + }, + { + "name": "GNU Fortran", + "slug": "gnu_fortran~6", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/fortran/" + }, + "version": "6", + "release": "6.4.0", + "mtime": 1503759905, + "db_size": 1133523 + }, + { + "name": "GNU Fortran", + "slug": "gnu_fortran~5", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/fortran/" + }, + "version": "5", + "release": "5.4.0", + "mtime": 1469312374, + "db_size": 999032 + }, + { + "name": "GNU Fortran", + "slug": "gnu_fortran~4", + "type": "gnu", + "links": { + "home": "https://gcc.gnu.org/fortran/" + }, + "version": "4", + "release": "4.9.3", + "mtime": 1460316067, + "db_size": 853323 + }, + { + "name": "Go", + "slug": "go", + "type": "go", + "links": { + "home": "https://golang.org/", + "code": "https://go.googlesource.com/go" + }, + "release": "1.10.1", + "mtime": 1524924263, + "db_size": 3480702 + }, + { + "name": "Godot", + "slug": "godot~3.0", + "type": "sphinx_simple", + "links": { + "home": "https://godotengine.org/", + "code": "https://github.com/godotengine/godot" + }, + "version": "3.0", + "release": "3.0", + "mtime": 1519572520, + "db_size": 3740908 + }, + { + "name": "Godot", + "slug": "godot~2.1", + "type": "sphinx_simple", + "links": { + "home": "https://godotengine.org/", + "code": "https://github.com/godotengine/godot" + }, + "version": "2.1", + "release": "2.1", + "mtime": 1500847393, + "db_size": 4249116 + }, + { + "name": "Graphite", + "slug": "graphite", + "type": "graphite", + "links": { + "code": "https://github.com/graphite-project/graphite-web" + }, + "release": "1.1.3", + "mtime": 1532902325, + "db_size": 446680 + }, + { + "name": "Grunt", + "slug": "grunt", + "type": "grunt", + "release": "1.0.1", + "mtime": 1500740124, + "db_size": 183508 + }, + { + "name": "Haskell", + "slug": "haskell~8", + "type": "haskell", + "links": { + "home": "https://www.haskell.org/" + }, + "version": "8", + "release": "8.2.1", + "mtime": 1503760719, + "db_size": 26228623 + }, + { + "name": "Haskell", + "slug": "haskell~7", + "type": "haskell", + "links": { + "home": "https://www.haskell.org/" + }, + "version": "7", + "release": "7.10.3", + "mtime": 1503760279, + "db_size": 6610017 + }, + { + "name": "Haxe", + "slug": "haxe", + "type": "haxe", + "links": { + "home": "https://haxe.org", + "code": "https://github.com/HaxeFoundation/haxe" + }, + "version": "", + "release": "3.4.7", + "mtime": 1526520808, + "db_size": 1117484 + }, + { + "name": "Haxe", + "slug": "haxe~cpp", + "type": "haxe", + "version": "C++", + "release": "3.4.7", + "mtime": 1526520811, + "db_size": 445145 + }, + { + "name": "Haxe", + "slug": "haxe~cs", + "type": "haxe", + "version": "C#", + "release": "3.4.7", + "mtime": 1526520830, + "db_size": 3456326 + }, + { + "name": "Haxe", + "slug": "haxe~flash", + "type": "haxe", + "version": "Flash", + "release": "3.4.7", + "mtime": 1526520843, + "db_size": 1713506 + }, + { + "name": "Haxe", + "slug": "haxe~java", + "type": "haxe", + "version": "Java", + "release": "3.4.7", + "mtime": 1526520859, + "db_size": 2903032 + }, + { + "name": "Haxe", + "slug": "haxe~javascript", + "type": "haxe", + "version": "JavaScript", + "release": "3.4.7", + "mtime": 1526520906, + "db_size": 4491424 + }, + { + "name": "Haxe", + "slug": "haxe~neko", + "type": "haxe", + "version": "Neko", + "release": "3.4.7", + "mtime": 1526520909, + "db_size": 110930 + }, + { + "name": "Haxe", + "slug": "haxe~php", + "type": "haxe", + "version": "PHP", + "release": "3.4.7", + "mtime": 1526520910, + "db_size": 93339 + }, + { + "name": "Haxe", + "slug": "haxe~lua", + "type": "haxe", + "version": "Lua", + "release": "3.4.7", + "mtime": 1526520913, + "db_size": 365204 + }, + { + "name": "Haxe", + "slug": "haxe~hashlink", + "type": "haxe", + "version": "HashLink", + "release": "3.4.7", + "mtime": 1526520915, + "db_size": 233826 + }, + { + "name": "Haxe", + "slug": "haxe~sys", + "type": "haxe", + "version": "Sys", + "release": "3.4.7", + "mtime": 1526520917, + "db_size": 166803 + }, + { + "name": "Haxe", + "slug": "haxe~python", + "type": "haxe", + "version": "Python", + "release": "3.4.7", + "mtime": 1526520922, + "db_size": 612013 + }, + { + "name": "Homebrew", + "slug": "homebrew", + "type": "simple", + "links": { + "home": "https://brew.sh", + "code": "https://github.com/Homebrew/brew" + }, + "release": "1.4.2", + "mtime": 1515367956, + "db_size": 684702 + }, + { + "name": "HTML", + "slug": "html", + "type": "mdn", + "mtime": 1534717770, + "db_size": 3982830 + }, + { + "name": "HTTP", + "slug": "http", + "type": "mdn", + "mtime": 1534719222, + "db_size": 4497546 + }, + { + "name": "Immutable.js", + "slug": "immutable", + "type": "immutable", + "links": { + "home": "https://facebook.github.io/immutable-js/", + "code": "https://github.com/facebook/immutable-js" + }, + "release": "3.8.1", + "mtime": 1479652557, + "db_size": 742765 + }, + { + "name": "InfluxData", + "slug": "influxdata", + "type": "influxdata", + "links": { + "home": "https://www.influxdata.com/", + "code": "https://github.com/influxdata/influxdb" + }, + "release": "1.3", + "mtime": 1501448812, + "db_size": 3582825 + }, + { + "name": "Jasmine", + "slug": "jasmine", + "type": "jasmine", + "links": { + "home": "https://jasmine.github.io/", + "code": "https://github.com/jasmine/jasmine" + }, + "release": "3.2.1", + "mtime": 1534715399, + "db_size": 98482 + }, + { + "name": "JavaScript", + "slug": "javascript", + "type": "mdn", + "mtime": 1534718903, + "db_size": 5793848 + }, + { + "name": "Jekyll", + "slug": "jekyll", + "type": "jekyll", + "links": { + "home": "https://jekyllrb.com/", + "code": "https://github.com/jekyll/jekyll" + }, + "release": "3.7.2", + "mtime": 1517761163, + "db_size": 334606 + }, + { + "name": "Jest", + "slug": "jest", + "type": "jest", + "links": { + "home": "https://facebook.github.io/jest/", + "code": "https://github.com/facebook/jest" + }, + "release": "23.5.0", + "mtime": 1534715514, + "db_size": 520890 + }, + { + "name": "jQuery", + "slug": "jquery", + "type": "jquery", + "links": { + "home": "https://jquery.com/", + "code": "https://github.com/jquery/jquery" + }, + "release": "3.3.1", + "mtime": 1524924505, + "db_size": 2679861 + }, + { + "name": "jQuery Mobile", + "slug": "jquerymobile", + "type": "jquery", + "release": "1.4.5", + "mtime": 1500821575, + "db_size": 1120776 + }, + { + "name": "jQuery UI", + "slug": "jqueryui", + "type": "jquery", + "release": "1.12.1", + "mtime": 1500821446, + "db_size": 1099745 + }, + { + "name": "JSDoc", + "slug": "jsdoc", + "type": "simple", + "links": { + "home": "http://usejsdoc.org/", + "code": "https://github.com/jsdoc3/jsdoc" + }, + "release": "3.5.5", + "mtime": 1517758919, + "db_size": 283935 + }, + { + "name": "Julia", + "slug": "julia~1.0", + "type": "julia", + "links": { + "home": "https://julialang.org/", + "code": "https://github.com/JuliaLang/julia" + }, + "version": "1.0", + "release": "1.0.0", + "mtime": 1534716993, + "db_size": 2353339 + }, + { + "name": "Julia", + "slug": "julia~0.7", + "type": "julia", + "links": { + "home": "https://julialang.org/", + "code": "https://github.com/JuliaLang/julia" + }, + "version": "0.7", + "release": "0.7.0", + "mtime": 1534716955, + "db_size": 2352905 + }, + { + "name": "Julia", + "slug": "julia~0.6", + "type": "julia", + "links": { + "home": "https://julialang.org/", + "code": "https://github.com/JuliaLang/julia" + }, + "version": "0.6", + "release": "0.6.2", + "mtime": 1515368111, + "db_size": 2721254 + }, + { + "name": "Julia", + "slug": "julia~0.5", + "type": "sphinx_simple", + "links": { + "home": "https://julialang.org/", + "code": "https://github.com/JuliaLang/julia" + }, + "version": "0.5", + "release": "0.5.2", + "mtime": 1498401014, + "db_size": 2184173 + }, + { + "name": "Knockout.js", + "slug": "knockout", + "type": "knockout", + "release": "3.4.2", + "mtime": 1489346587, + "db_size": 417406 + }, + { + "name": "Koa", + "slug": "koa", + "type": "github", + "links": { + "home": "https://koajs.com/", + "code": "https://github.com/koajs/koa" + }, + "release": "2.5.1", + "mtime": 1531085399, + "db_size": 160314 + }, + { + "name": "Kotlin", + "slug": "kotlin", + "type": "kotlin", + "links": { + "home": "https://kotlinlang.org/", + "code": "https://github.com/JetBrains/kotlin" + }, + "release": "1.2.41", + "mtime": 1524924945, + "db_size": 11707614 + }, + { + "name": "Laravel", + "slug": "laravel~5.6", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.6", + "release": "5.6.33", + "mtime": 1534715526, + "db_size": 19686189 + }, + { + "name": "Laravel", + "slug": "laravel~5.5", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.5", + "release": "5.5.28", + "mtime": 1515368259, + "db_size": 17701623 + }, + { + "name": "Laravel", + "slug": "laravel~5.4", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.4", + "release": "5.4.30", + "mtime": 1505054925, + "db_size": 16448730 + }, + { + "name": "Laravel", + "slug": "laravel~5.3", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.3", + "release": "5.3.30", + "mtime": 1505055249, + "db_size": 14614370 + }, + { + "name": "Laravel", + "slug": "laravel~5.2", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.2", + "release": "5.2.31", + "mtime": 1505055328, + "db_size": 12870495 + }, + { + "name": "Laravel", + "slug": "laravel~5.1", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "5.1", + "release": "5.1.33", + "mtime": 1505055406, + "db_size": 11737667 + }, + { + "name": "Laravel", + "slug": "laravel~4.2", + "type": "laravel", + "links": { + "home": "https://laravel.com/", + "code": "https://github.com/laravel/laravel" + }, + "version": "4.2", + "release": "4.2.11", + "mtime": 1505055134, + "db_size": 7711773 + }, + { + "name": "Leaflet", + "slug": "leaflet~1.3", + "type": "simple", + "links": { + "home": "https://leafletjs.com/", + "code": "https://github.com/Leaflet/Leaflet" + }, + "version": "1.3", + "release": "1.3.0", + "mtime": 1531084142, + "db_size": 697420 + }, + { + "name": "Leaflet", + "slug": "leaflet~1.2", + "type": "simple", + "links": { + "home": "https://leafletjs.com/", + "code": "https://github.com/Leaflet/Leaflet" + }, + "version": "1.2", + "release": "1.2.0", + "mtime": 1531084146, + "db_size": 678833 + }, + { + "name": "Leaflet", + "slug": "leaflet~1.1", + "type": "simple", + "links": { + "home": "https://leafletjs.com/", + "code": "https://github.com/Leaflet/Leaflet" + }, + "version": "1.1", + "release": "1.1.0", + "mtime": 1531084149, + "db_size": 677510 + }, + { + "name": "Leaflet", + "slug": "leaflet~1.0", + "type": "simple", + "links": { + "home": "https://leafletjs.com/", + "code": "https://github.com/Leaflet/Leaflet" + }, + "version": "1.0", + "release": "1.0.3", + "mtime": 1531084153, + "db_size": 672447 + }, + { + "name": "Less", + "slug": "less", + "type": "less", + "links": { + "home": "http://lesscss.org/", + "code": "https://github.com/less/less.js" + }, + "release": "2.7.2", + "mtime": 1495470772, + "db_size": 150274 + }, + { + "name": "Liquid", + "slug": "liquid", + "type": "liquid", + "links": { + "home": "https://shopify.github.io/liquid/", + "code": "https://github.com/Shopify/liquid" + }, + "release": "4.0.0", + "mtime": 1498406903, + "db_size": 74772 + }, + { + "name": "lodash", + "slug": "lodash~4", + "type": "lodash", + "links": { + "home": "https://lodash.com/", + "code": "https://github.com/lodash/lodash/" + }, + "version": "4", + "release": "4.17.10", + "mtime": 1524924842, + "db_size": 335698 + }, + { + "name": "lodash", + "slug": "lodash~3", + "type": "lodash", + "links": { + "home": "https://lodash.com/", + "code": "https://github.com/lodash/lodash/" + }, + "version": "3", + "release": "3.10.1", + "mtime": 1475414357, + "db_size": 264546 + }, + { + "name": "lodash", + "slug": "lodash~2", + "type": "lodash", + "links": { + "home": "https://lodash.com/", + "code": "https://github.com/lodash/lodash/" + }, + "version": "2", + "release": "2.4.2", + "mtime": 1475414359, + "db_size": 172643 + }, + { + "name": "Lua", + "slug": "lua~5.3", + "type": "lua", + "version": "5.3", + "release": "5.3.4", + "mtime": 1500739922, + "db_size": 325966 + }, + { + "name": "Lua", + "slug": "lua~5.2", + "type": "lua", + "version": "5.2", + "release": "5.2.4", + "mtime": 1500739926, + "db_size": 304632 + }, + { + "name": "Lua", + "slug": "lua~5.1", + "type": "lua", + "version": "5.1", + "release": "5.1.5", + "mtime": 1500739929, + "db_size": 253404 + }, + { + "name": "LÖVE", + "slug": "love", + "type": "love", + "links": { + "home": "https://love2d.org/", + "code": "https://bitbucket.org/rude/love" + }, + "release": "0.10.2", + "mtime": 1480270799, + "db_size": 2655816 + }, + { + "name": "Marionette.js", + "slug": "marionette~4", + "type": "marionette", + "links": { + "home": "https://marionettejs.com/", + "code": "https://github.com/marionettejs/backbone.marionette" + }, + "version": "4", + "release": "4.0.0", + "mtime": 1534716826, + "db_size": 397364 + }, + { + "name": "Marionette.js", + "slug": "marionette~3", + "type": "marionette", + "links": { + "home": "https://marionettejs.com/", + "code": "https://github.com/marionettejs/backbone.marionette" + }, + "version": "3", + "release": "3.5.1", + "mtime": 1510332195, + "db_size": 503494 + }, + { + "name": "Marionette.js", + "slug": "marionette~2", + "type": "marionette", + "links": { + "home": "https://marionettejs.com/", + "code": "https://github.com/marionettejs/backbone.marionette" + }, + "version": "2", + "release": "2.4.7", + "mtime": 1479678843, + "db_size": 319692 + }, + { + "name": "Markdown", + "slug": "markdown", + "type": "markdown", + "mtime": 1426424874, + "db_size": 31338 + }, + { + "name": "Matplotlib", + "slug": "matplotlib~2.1", + "type": "sphinx", + "links": { + "home": "http://matplotlib.org/", + "code": "https://github.com/matplotlib/matplotlib" + }, + "version": "2.1", + "release": "2.1.0", + "mtime": 1509301001, + "db_size": 32934732 + }, + { + "name": "Matplotlib", + "slug": "matplotlib~2.0", + "type": "sphinx", + "links": { + "home": "http://matplotlib.org/", + "code": "https://github.com/matplotlib/matplotlib" + }, + "version": "2.0", + "release": "2.0.2", + "mtime": 1498401455, + "db_size": 5137554 + }, + { + "name": "Matplotlib", + "slug": "matplotlib~1.5", + "type": "sphinx", + "links": { + "home": "http://matplotlib.org/", + "code": "https://github.com/matplotlib/matplotlib" + }, + "version": "1.5", + "release": "1.5.3", + "mtime": 1483389014, + "db_size": 3803905 + }, + { + "name": "Meteor", + "slug": "meteor~1.5", + "type": "meteor", + "links": { + "home": "https://www.meteor.com/", + "code": "https://github.com/meteor/meteor/" + }, + "version": "1.5", + "release": "1.5.2", + "mtime": 1509301490, + "db_size": 2121693 + }, + { + "name": "Meteor", + "slug": "meteor~1.4", + "type": "meteor", + "links": { + "home": "https://www.meteor.com/", + "code": "https://github.com/meteor/meteor/" + }, + "version": "1.4", + "release": "1.4.4", + "mtime": 1501449312, + "db_size": 2509309 + }, + { + "name": "Meteor", + "slug": "meteor~1.3", + "type": "meteor", + "links": { + "home": "https://www.meteor.com/", + "code": "https://github.com/meteor/meteor/" + }, + "version": "1.3", + "release": "1.3.5", + "mtime": 1501449342, + "db_size": 2442819 + }, + { + "name": "Mocha", + "slug": "mocha", + "type": "mocha", + "links": { + "home": "https://mochajs.org/", + "code": "https://github.com/mochajs/mocha" + }, + "release": "5.0.1", + "mtime": 1519573130, + "db_size": 1021241 + }, + { + "name": "Modernizr", + "slug": "modernizr", + "type": "modernizr", + "release": "3.5.0", + "mtime": 1492958610, + "db_size": 78016 + }, + { + "name": "Moment.js", + "slug": "moment", + "type": "moment", + "links": { + "home": "http://momentjs.com/", + "code": "https://github.com/moment/moment/" + }, + "release": "2.22.1", + "mtime": 1524924889, + "db_size": 296058 + }, + { + "name": "Mongoose", + "slug": "mongoose", + "type": "mongoose", + "links": { + "home": "http://mongoosejs.com/", + "code": "https://github.com/Automattic/mongoose" + }, + "release": "4.13.1", + "mtime": 1510332286, + "db_size": 703709 + }, + { + "name": "nginx", + "slug": "nginx", + "type": "nginx", + "links": { + "home": "https://nginx.org/", + "code": "http://hg.nginx.org/nginx" + }, + "release": "1.15.0", + "mtime": 1528679658, + "db_size": 1459960 + }, + { + "name": "nginx / Lua Module", + "slug": "nginx_lua_module", + "type": "github", + "release": "0.10.13", + "mtime": 1524925129, + "db_size": 431075 + }, + { + "name": "Nim", + "slug": "nim", + "type": "nim", + "links": { + "home": "https://nim-lang.org/", + "code": "https://github.com/nim-lang/Nim" + }, + "release": "0.18.0", + "mtime": 1521386382, + "db_size": 2759321 + }, + { + "name": "Node.js", + "slug": "node", + "type": "node", + "links": { + "home": "https://nodejs.org/", + "code": "https://github.com/nodejs/node" + }, + "version": "", + "release": "10.9.0", + "mtime": 1534715044, + "db_size": 2700544 + }, + { + "name": "Nokogiri", + "slug": "nokogiri", + "type": "rdoc", + "release": "1.8.1", + "mtime": 1507477019, + "db_size": 500307 + }, + { + "name": "npm", + "slug": "npm", + "type": "npm", + "links": { + "home": "https://www.npmjs.com/", + "code": "https://github.com/npm/npm" + }, + "release": "6.4.0", + "mtime": 1534716051, + "db_size": 1857027 + }, + { + "name": "NumPy", + "slug": "numpy~1.14", + "type": "sphinx", + "links": { + "home": "http://www.numpy.org/", + "code": "https://github.com/numpy/numpy" + }, + "version": "1.14", + "release": "1.14.2", + "mtime": 1524925556, + "db_size": 12950488 + }, + { + "name": "NumPy", + "slug": "numpy~1.13", + "type": "sphinx", + "links": { + "home": "http://www.numpy.org/", + "code": "https://github.com/numpy/numpy" + }, + "version": "1.13", + "release": "1.13.0", + "mtime": 1498401762, + "db_size": 6106757 + }, + { + "name": "NumPy", + "slug": "numpy~1.12", + "type": "sphinx", + "links": { + "home": "http://www.numpy.org/", + "code": "https://github.com/numpy/numpy" + }, + "version": "1.12", + "release": "1.12.0", + "mtime": 1498401838, + "db_size": 5936289 + }, + { + "name": "NumPy", + "slug": "numpy~1.11", + "type": "sphinx", + "links": { + "home": "http://www.numpy.org/", + "code": "https://github.com/numpy/numpy" + }, + "version": "1.11", + "release": "1.11.0", + "mtime": 1467583174, + "db_size": 5869485 + }, + { + "name": "NumPy", + "slug": "numpy~1.10", + "type": "sphinx", + "links": { + "home": "http://www.numpy.org/", + "code": "https://github.com/numpy/numpy" + }, + "version": "1.10", + "release": "1.10.4", + "mtime": 1467583024, + "db_size": 5821391 + }, + { + "name": "OpenJDK", + "slug": "openjdk~8", + "type": "openjdk", + "version": "8", + "release": "8", + "mtime": 1493584121, + "db_size": 24834497 + }, + { + "name": "OpenTSDB", + "slug": "opentsdb", + "type": "sphinx_simple", + "links": { + "home": "http://opentsdb.net/", + "code": "https://github.com/OpenTSDB/opentsdb" + }, + "release": "2.3.0", + "mtime": 1483389649, + "db_size": 889359 + }, + { + "name": "Padrino", + "slug": "padrino", + "type": "rubydoc", + "links": { + "home": "http://padrinorb.com/", + "code": "https://github.com/padrino/padrino-framework" + }, + "release": "0.14.1", + "mtime": 1509291624, + "db_size": 868484 + }, + { + "name": "pandas", + "slug": "pandas~0.22", + "type": "sphinx", + "links": { + "home": "http://pandas.pydata.org/", + "code": "https://github.com/pydata/pandas" + }, + "version": "0.22", + "release": "0.22.0", + "mtime": 1515368658, + "db_size": 4723621 + }, + { + "name": "pandas", + "slug": "pandas~0.21", + "type": "sphinx", + "links": { + "home": "http://pandas.pydata.org/", + "code": "https://github.com/pydata/pandas" + }, + "version": "0.21", + "release": "0.21.0", + "mtime": 1509302634, + "db_size": 4704212 + }, + { + "name": "pandas", + "slug": "pandas~0.20", + "type": "sphinx", + "links": { + "home": "http://pandas.pydata.org/", + "code": "https://github.com/pydata/pandas" + }, + "version": "0.20", + "release": "0.20.3", + "mtime": 1509302472, + "db_size": 4289994 + }, + { + "name": "pandas", + "slug": "pandas~0.19", + "type": "sphinx", + "links": { + "home": "http://pandas.pydata.org/", + "code": "https://github.com/pydata/pandas" + }, + "version": "0.19", + "release": "0.19.2", + "mtime": 1498402457, + "db_size": 5574756 + }, + { + "name": "pandas", + "slug": "pandas~0.18", + "type": "sphinx", + "links": { + "home": "http://pandas.pydata.org/", + "code": "https://github.com/pydata/pandas" + }, + "version": "0.18", + "release": "0.18.1", + "mtime": 1476112392, + "db_size": 5310831 + }, + { + "name": "Perl", + "slug": "perl~5.26", + "type": "perl", + "links": { + "home": "https://www.perl.org/" + }, + "version": "5.26", + "release": "5.26.0", + "mtime": 1500742523, + "db_size": 14046450 + }, + { + "name": "Perl", + "slug": "perl~5.24", + "type": "perl", + "links": { + "home": "https://www.perl.org/" + }, + "version": "5.24", + "release": "5.24.0", + "mtime": 1500742737, + "db_size": 14166764 + }, + { + "name": "Perl", + "slug": "perl~5.22", + "type": "perl", + "links": { + "home": "https://www.perl.org/" + }, + "version": "5.22", + "release": "5.22.0", + "mtime": 1500742852, + "db_size": 14046450 + }, + { + "name": "Perl", + "slug": "perl~5.20", + "type": "perl", + "links": { + "home": "https://www.perl.org/" + }, + "version": "5.20", + "release": "5.20.2", + "mtime": 1500742940, + "db_size": 14101118 + }, + { + "name": "Phalcon", + "slug": "phalcon~3", + "type": "phalcon", + "links": { + "home": "https://phalconphp.com/", + "code": "https://github.com/phalcon/cphalcon/" + }, + "version": "3", + "release": "3.1.1", + "mtime": 1495471186, + "db_size": 3296452 + }, + { + "name": "Phalcon", + "slug": "phalcon~2", + "type": "phalcon", + "links": { + "home": "https://phalconphp.com/", + "code": "https://github.com/phalcon/cphalcon/" + }, + "version": "2", + "release": "2.0.13", + "mtime": 1475334683, + "db_size": 2714996 + }, + { + "name": "Phaser", + "slug": "phaser", + "type": "phaser", + "links": { + "home": "http://phaser.io/", + "code": "https://github.com/photonstorm/phaser" + }, + "release": "2.6.2", + "mtime": 1472404795, + "db_size": 6877092 + }, + { + "name": "Phoenix", + "slug": "phoenix", + "type": "elixir", + "links": { + "home": "http://www.phoenixframework.org", + "code": "https://github.com/phoenixframework/phoenix" + }, + "release": "1.3.2", + "mtime": 1524925642, + "db_size": 1756845 + }, + { + "name": "PHP", + "slug": "php", + "type": "php", + "links": { + "home": "https://secure.php.net/", + "code": "https://git.php.net/?p=php-src.git;a=summary" + }, + "release": "7.2.9", + "mtime": 1534715914, + "db_size": 24177350 + }, + { + "name": "PHPUnit", + "slug": "phpunit~6", + "type": "phpunit", + "links": { + "home": "https://phpunit.de/", + "code": "https://github.com/sebastianbergmann/phpunit" + }, + "version": "6", + "release": "6.5", + "mtime": 1515368674, + "db_size": 394690 + }, + { + "name": "PHPUnit", + "slug": "phpunit~5", + "type": "phpunit", + "links": { + "home": "https://phpunit.de/", + "code": "https://github.com/sebastianbergmann/phpunit" + }, + "version": "5", + "release": "5.7", + "mtime": 1483389936, + "db_size": 393964 + }, + { + "name": "PHPUnit", + "slug": "phpunit~4", + "type": "phpunit", + "links": { + "home": "https://phpunit.de/", + "code": "https://github.com/sebastianbergmann/phpunit" + }, + "version": "4", + "release": "4.8", + "mtime": 1469313483, + "db_size": 413036 + }, + { + "name": "PostgreSQL", + "slug": "postgresql~10", + "type": "postgres", + "links": { + "home": "https://www.postgresql.org/", + "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" + }, + "version": "10", + "release": "10.3", + "mtime": 1524925881, + "db_size": 6483378 + }, + { + "name": "PostgreSQL", + "slug": "postgresql~9.6", + "type": "postgres", + "links": { + "home": "https://www.postgresql.org/", + "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" + }, + "version": "9.6", + "release": "9.6.6", + "mtime": 1510331640, + "db_size": 5816975 + }, + { + "name": "PostgreSQL", + "slug": "postgresql~9.5", + "type": "postgres", + "links": { + "home": "https://www.postgresql.org/", + "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" + }, + "version": "9.5", + "release": "9.5.10", + "mtime": 1510331714, + "db_size": 5569465 + }, + { + "name": "PostgreSQL", + "slug": "postgresql~9.4", + "type": "postgres", + "links": { + "home": "https://www.postgresql.org/", + "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" + }, + "version": "9.4", + "release": "9.4.15", + "mtime": 1510331828, + "db_size": 5212360 + }, + { + "name": "Pug", + "slug": "pug", + "type": "pug", + "links": { + "home": "https://pugjs.org/", + "code": "https://github.com/pugjs/pug" + }, + "release": "2.0.3", + "mtime": 1521915454, + "db_size": 78298 + }, + { + "name": "Pygame", + "slug": "pygame", + "type": "simple", + "links": { + "home": "https://www.pygame.org/", + "code": "https://github.com/pygame/pygame" + }, + "release": "1.9.4", + "mtime": 1532898876, + "db_size": 639168 + }, + { + "name": "Python", + "slug": "python~3.7", + "type": "python", + "links": { + "home": "https://www.python.org/", + "code": "https://github.com/python/cpython" + }, + "version": "3.7", + "release": "3.7.0", + "mtime": 1531081977, + "db_size": 8368646 + }, + { + "name": "Python", + "slug": "python~3.6", + "type": "python", + "links": { + "home": "https://www.python.org/", + "code": "https://github.com/python/cpython" + }, + "version": "3.6", + "release": "3.6.4", + "mtime": 1531081883, + "db_size": 8040080 + }, + { + "name": "Python", + "slug": "python~3.5", + "type": "sphinx", + "links": { + "home": "https://www.python.org/", + "code": "https://github.com/python/cpython" + }, + "version": "3.5", + "release": "3.5.3", + "mtime": 1490460934, + "db_size": 7678626 + }, + { + "name": "Python", + "slug": "python~2.7", + "type": "sphinx", + "links": { + "home": "https://www.python.org/", + "code": "https://github.com/python/cpython" + }, + "version": "2.7", + "release": "2.7.13", + "mtime": 1490461005, + "db_size": 6466541 + }, + { + "name": "Q", + "slug": "q", + "type": "github", + "links": { + "home": "http://documentup.com/kriskowal/q/", + "code": "https://github.com/kriskowal/q" + }, + "release": "1.5.1", + "mtime": 1509302829, + "db_size": 29687 + }, + { + "name": "Qt", + "slug": "qt~5.11", + "type": "qt", + "links": { + "home": "https://www.qt.io", + "code": "https://code.qt.io/cgit/" + }, + "version": "5.11", + "release": "5.11", + "mtime": 1534110745, + "db_size": 78116282 + }, + { + "name": "Qt", + "slug": "qt~5.9", + "type": "qt", + "links": { + "home": "https://www.qt.io", + "code": "https://code.qt.io/cgit/" + }, + "version": "5.9", + "release": "5.9", + "mtime": 1534111533, + "db_size": 75280911 + }, + { + "name": "Qt", + "slug": "qt~5.6", + "type": "qt", + "links": { + "home": "https://www.qt.io", + "code": "https://code.qt.io/cgit/" + }, + "version": "5.6", + "release": "5.6", + "mtime": 1534112349, + "db_size": 65762439 + }, + { + "name": "Ramda", + "slug": "ramda", + "type": "ramda", + "links": { + "home": "http://ramdajs.com/", + "code": "https://github.com/ramda/ramda/" + }, + "release": "0.25.0", + "mtime": 1509302864, + "db_size": 271964 + }, + { + "name": "React", + "slug": "react", + "type": "simple", + "links": { + "home": "https://reactjs.org/", + "code": "https://github.com/facebook/react" + }, + "release": "16.4.0", + "mtime": 1528679925, + "db_size": 828139 + }, + { + "name": "ReactNative", + "slug": "react_native", + "type": "react_native", + "links": { + "home": "https://facebook.github.io/react-native/", + "code": "https://github.com/facebook/react-native" + }, + "release": "0.56", + "mtime": 1531082387, + "db_size": 3711481 + }, + { + "name": "Redis", + "slug": "redis", + "type": "redis", + "links": { + "home": "https://redis.io/", + "code": "https://github.com/antirez/redis" + }, + "release": "4.0.11", + "mtime": 1534716669, + "db_size": 699826 + }, + { + "name": "Redux", + "slug": "redux", + "type": "redux", + "links": { + "home": "http://redux.js.org/", + "code": "https://github.com/reactjs/redux/" + }, + "release": "3.7.2", + "mtime": 1503762495, + "db_size": 841649 + }, + { + "name": "Relay", + "slug": "relay", + "type": "simple", + "links": { + "home": "https://facebook.github.io/relay/", + "code": "https://github.com/facebook/relay" + }, + "release": "1.4.1", + "mtime": 1507560082, + "db_size": 434956 + }, + { + "name": "RequireJS", + "slug": "requirejs", + "type": "requirejs", + "links": { + "home": "http://requirejs.org/", + "code": "https://github.com/requirejs/requirejs" + }, + "release": "2.3.5", + "mtime": 1503762537, + "db_size": 189153 + }, + { + "name": "RethinkDB", + "slug": "rethinkdb~javascript", + "type": "rethinkdb", + "links": { + "home": "https://rethinkdb.com/", + "code": "https://github.com/rethinkdb/rethinkdb" + }, + "version": "JavaScript", + "release": "2.3.5", + "mtime": 1472417557, + "db_size": 1361322 + }, + { + "name": "RethinkDB", + "slug": "rethinkdb~ruby", + "type": "rethinkdb", + "links": { + "home": "https://rethinkdb.com/", + "code": "https://github.com/rethinkdb/rethinkdb" + }, + "version": "Ruby", + "release": "2.3.5", + "mtime": 1472417579, + "db_size": 1320925 + }, + { + "name": "RethinkDB", + "slug": "rethinkdb~python", + "type": "rethinkdb", + "links": { + "home": "https://rethinkdb.com/", + "code": "https://github.com/rethinkdb/rethinkdb" + }, + "version": "Python", + "release": "2.3.5", + "mtime": 1472417602, + "db_size": 1326675 + }, + { + "name": "RethinkDB", + "slug": "rethinkdb~java", + "type": "rethinkdb", + "links": { + "home": "https://rethinkdb.com/", + "code": "https://github.com/rethinkdb/rethinkdb" + }, + "version": "Java", + "release": "2.3.5", + "mtime": 1472417625, + "db_size": 1320429 + }, + { + "name": "Ruby", + "slug": "ruby~2.5", + "type": "rdoc", + "links": { + "home": "https://www.ruby-lang.org/", + "code": "https://github.com/ruby/ruby" + }, + "version": "2.5", + "release": "2.5.0", + "mtime": 1515953941, + "db_size": 7872220 + }, + { + "name": "Ruby", + "slug": "ruby~2.4", + "type": "rdoc", + "links": { + "home": "https://www.ruby-lang.org/", + "code": "https://github.com/ruby/ruby" + }, + "version": "2.4", + "release": "2.4.3", + "mtime": 1515953784, + "db_size": 7680468 + }, + { + "name": "Ruby", + "slug": "ruby~2.3", + "type": "rdoc", + "links": { + "home": "https://www.ruby-lang.org/", + "code": "https://github.com/ruby/ruby" + }, + "version": "2.3", + "release": "2.3.6", + "mtime": 1515953288, + "db_size": 7522249 + }, + { + "name": "Ruby", + "slug": "ruby~2.2", + "type": "rdoc", + "links": { + "home": "https://www.ruby-lang.org/", + "code": "https://github.com/ruby/ruby" + }, + "version": "2.2", + "release": "2.2.9", + "mtime": 1515953093, + "db_size": 7527824 + }, + { + "name": "Ruby / Minitest", + "slug": "minitest", + "type": "rdoc", + "links": { + "code": "https://github.com/seattlerb/minitest" + }, + "release": "5.10.3", + "mtime": 1507477106, + "db_size": 194631 + }, + { + "name": "Ruby on Rails", + "slug": "rails~5.2", + "type": "rdoc", + "links": { + "home": "http://rubyonrails.org/", + "code": "https://github.com/rails/rails" + }, + "version": "5.2", + "release": "5.2.0", + "mtime": 1524927355, + "db_size": 6670803 + }, + { + "name": "Ruby on Rails", + "slug": "rails~5.1", + "type": "rdoc", + "links": { + "home": "http://rubyonrails.org/", + "code": "https://github.com/rails/rails" + }, + "version": "5.1", + "release": "5.1.6", + "mtime": 1524927281, + "db_size": 6229701 + }, + { + "name": "Ruby on Rails", + "slug": "rails~5.0", + "type": "rdoc", + "links": { + "home": "http://rubyonrails.org/", + "code": "https://github.com/rails/rails" + }, + "version": "5.0", + "release": "5.0.7", + "mtime": 1524927215, + "db_size": 6152345 + }, + { + "name": "Ruby on Rails", + "slug": "rails~4.2", + "type": "rdoc", + "links": { + "home": "http://rubyonrails.org/", + "code": "https://github.com/rails/rails" + }, + "version": "4.2", + "release": "4.2.10", + "mtime": 1507476395, + "db_size": 5525311 + }, + { + "name": "Ruby on Rails", + "slug": "rails~4.1", + "type": "rdoc", + "links": { + "home": "http://rubyonrails.org/", + "code": "https://github.com/rails/rails" + }, + "version": "4.1", + "release": "4.1.16", + "mtime": 1483393875, + "db_size": 3792537 + }, + { + "name": "Rust", + "slug": "rust", + "type": "rust", + "links": { + "home": "https://www.rust-lang.org/", + "code": "https://github.com/rust-lang/rust" + }, + "release": "1.28.0", + "mtime": 1534718413, + "db_size": 62075516 + }, + { + "name": "Sass", + "slug": "sass", + "type": "yard", + "links": { + "home": "http://sass-lang.com/", + "code": "https://github.com/sass/sass" + }, + "release": "3.5.3", + "mtime": 1509303125, + "db_size": 205046 + }, + { + "name": "scikit-image", + "slug": "scikit_image", + "type": "sphinx", + "links": { + "home": "http://scikit-image.org/", + "code": "https://github.com/scikit-image/scikit-image" + }, + "release": "0.13.1", + "mtime": 1509303151, + "db_size": 2167707 + }, + { + "name": "scikit-learn", + "slug": "scikit_learn", + "type": "sphinx", + "links": { + "home": "http://scikit-learn.org/", + "code": "https://github.com/scikit-learn/scikit-learn" + }, + "release": "0.19.1", + "mtime": 1509303678, + "db_size": 47201336 + }, + { + "name": "Sinon.JS", + "slug": "sinon~6", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "6", + "release": "6.1.3", + "mtime": 1531082038, + "db_size": 114130 + }, + { + "name": "Sinon.JS", + "slug": "sinon~5", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "5", + "release": "5.1.0", + "mtime": 1528680045, + "db_size": 112874 + }, + { + "name": "Sinon.JS", + "slug": "sinon~4", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "4", + "release": "4.5.0", + "mtime": 1524927542, + "db_size": 104021 + }, + { + "name": "Sinon.JS", + "slug": "sinon~3", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "3", + "release": "3.3.0", + "mtime": 1506272828, + "db_size": 105244 + }, + { + "name": "Sinon.JS", + "slug": "sinon~2", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "2", + "release": "2.4.1", + "mtime": 1506272828, + "db_size": 96240 + }, + { + "name": "Sinon.JS", + "slug": "sinon~1", + "type": "sinon", + "links": { + "home": "http://sinonjs.org/", + "code": "https://github.com/sinonjs/sinon" + }, + "version": "1", + "release": "1.17.7", + "mtime": 1506272829, + "db_size": 83926 + }, + { + "name": "Socket.IO", + "slug": "socketio", + "type": "socketio", + "links": { + "home": "http://socket.io/", + "code": "https://github.com/socketio/socket.io" + }, + "release": "1.4.5", + "mtime": 1461429367, + "db_size": 44110 + }, + { + "name": "SQLite", + "slug": "sqlite", + "type": "sqlite", + "links": { + "home": "https://sqlite.org/", + "code": "https://www.sqlite.org/src/" + }, + "release": "3.23.1", + "mtime": 1524927687, + "db_size": 11943288 + }, + { + "name": "Statsmodels", + "slug": "statsmodels", + "type": "sphinx", + "links": { + "home": "http://www.statsmodels.org/", + "code": "https://github.com/statsmodels/statsmodels/" + }, + "release": "0.8.0", + "mtime": 1495472273, + "db_size": 13455712 + }, + { + "name": "Support Tables", + "slug": "browser_support_tables", + "type": "support_tables", + "mtime": 1534719074, + "db_size": 29022916 + }, + { + "name": "SVG", + "slug": "svg", + "type": "mdn", + "mtime": 1531081456, + "db_size": 2477035 + }, + { + "name": "Symfony", + "slug": "symfony~4.0", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "4.0", + "release": "4.0.3", + "mtime": 1515369903, + "db_size": 14182389 + }, + { + "name": "Symfony", + "slug": "symfony~3.4", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "3.4", + "release": "3.4.3", + "mtime": 1515369763, + "db_size": 14949752 + }, + { + "name": "Symfony", + "slug": "symfony~3.3", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "3.3", + "release": "3.3.15", + "mtime": 1515369628, + "db_size": 14066834 + }, + { + "name": "Symfony", + "slug": "symfony~3.2", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "3.2", + "release": "3.2.13", + "mtime": 1509304300, + "db_size": 13318281 + }, + { + "name": "Symfony", + "slug": "symfony~3.1", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "3.1", + "release": "3.1.8", + "mtime": 1509304394, + "db_size": 12851145 + }, + { + "name": "Symfony", + "slug": "symfony~3.0", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "3.0", + "release": "3.0.1", + "mtime": 1509304485, + "db_size": 12691338 + }, + { + "name": "Symfony", + "slug": "symfony~2.8", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "2.8", + "release": "2.8.28", + "mtime": 1509304582, + "db_size": 13046428 + }, + { + "name": "Symfony", + "slug": "symfony~2.7", + "type": "laravel", + "links": { + "home": "https://symfony.com/", + "code": "https://github.com/symfony/symfony" + }, + "version": "2.7", + "release": "2.7.35", + "mtime": 1509304675, + "db_size": 12438508 + }, + { + "name": "Tcl/Tk", + "slug": "tcl_tk", + "type": "tcl_tk", + "release": "8.6.6", + "mtime": 1471816808, + "db_size": 3268853 + }, + { + "name": "TensorFlow", + "slug": "tensorflow~python", + "type": "tensorflow", + "links": { + "home": "https://www.tensorflow.org/", + "code": "https://github.com/tensorflow/tensorflow" + }, + "version": "Python", + "release": "1.8", + "mtime": 1526243985, + "db_size": 16040756 + }, + { + "name": "TensorFlow", + "slug": "tensorflow~cpp", + "type": "tensorflow", + "links": { + "home": "https://www.tensorflow.org/", + "code": "https://github.com/tensorflow/tensorflow" + }, + "version": "C++", + "release": "1.8", + "mtime": 1526244330, + "db_size": 4558634 + }, + { + "name": "TensorFlow", + "slug": "tensorflow~guide", + "type": "tensorflow", + "links": { + "home": "https://www.tensorflow.org/", + "code": "https://github.com/tensorflow/tensorflow" + }, + "version": "Guide", + "release": "1.8", + "mtime": 1526244405, + "db_size": 10841303 + }, + { + "name": "Terraform", + "slug": "terraform", + "type": "terraform", + "links": { + "home": "https://www.terraform.io/", + "code": "https://github.com/hashicorp/terraform" + }, + "release": "0.11.7", + "mtime": 1531085140, + "db_size": 8289722 + }, + { + "name": "Twig", + "slug": "twig~2", + "type": "sphinx", + "links": { + "home": "https://twig.sensiolabs.org/", + "code": "https://github.com/twigphp/Twig" + }, + "version": "2", + "release": "2.4.3", + "mtime": 1498404313, + "db_size": 313095 + }, + { + "name": "Twig", + "slug": "twig~1", + "type": "sphinx", + "links": { + "home": "https://twig.sensiolabs.org/", + "code": "https://github.com/twigphp/Twig" + }, + "version": "1", + "release": "1.34.3", + "mtime": 1498404317, + "db_size": 337425 + }, + { + "name": "TypeScript", + "slug": "typescript", + "type": "typescript", + "links": { + "home": "https://www.typescriptlang.org", + "code": "https://github.com/Microsoft/TypeScript" + }, + "release": "3.0.1", + "mtime": 1534716438, + "db_size": 1346824 + }, + { + "name": "Underscore.js", + "slug": "underscore", + "type": "underscore", + "links": { + "home": "http://underscorejs.org", + "code": "https://github.com/jashkenas/underscore" + }, + "release": "1.9.0", + "mtime": 1524927817, + "db_size": 61716 + }, + { + "name": "Vagrant", + "slug": "vagrant", + "type": "vagrant", + "links": { + "home": "https://www.vagrantup.com/", + "code": "https://github.com/mitchellh/vagrant" + }, + "release": "2.1.1", + "mtime": 1526257745, + "db_size": 585392 + }, + { + "name": "Vue.js", + "slug": "vue~2", + "type": "vue", + "links": { + "home": "https://vuejs.org/", + "code": "https://github.com/vuejs/vue" + }, + "version": "2", + "release": "2.5.16", + "mtime": 1524927908, + "db_size": 834509 + }, + { + "name": "Vue.js", + "slug": "vue~1", + "type": "vue", + "links": { + "home": "https://vuejs.org/", + "code": "https://github.com/vuejs/vue" + }, + "version": "1", + "release": "1.0.28", + "mtime": 1491756620, + "db_size": 272329 + }, + { + "name": "Vulkan", + "slug": "vulkan", + "type": "vulkan", + "links": { + "home": "https://www.khronos.org/vulkan/" + }, + "release": "1.0.59", + "mtime": 1504468140, + "db_size": 1797883 + }, + { + "name": "webpack", + "slug": "webpack", + "type": "webpack", + "links": { + "home": "https://webpack.js.org/", + "code": "https://github.com/webpack/webpack" + }, + "version": "", + "release": "4.16.5", + "mtime": 1534716785, + "db_size": 3702481 + }, + { + "name": "webpack", + "slug": "webpack~1", + "type": "webpack", + "links": { + "home": "https://webpack.github.io/", + "code": "https://github.com/webpack/webpack/tree/webpack-1" + }, + "version": "1", + "release": "1.15.0", + "mtime": 1506273002, + "db_size": 848140 + }, + { + "name": "XSLT & XPath", + "slug": "xslt_xpath", + "type": "mdn", + "mtime": 1506194497, + "db_size": 212683 + }, + { + "name": "Yarn", + "slug": "yarn", + "type": "yarn", + "links": { + "home": "https://yarnpkg.com/", + "code": "https://github.com/yarnpkg/yarn" + }, + "release": "1.9.4", + "mtime": 1534716479, + "db_size": 200474 + }, + { + "name": "Yii", + "slug": "yii~2.0", + "type": "yii", + "links": { + "home": "http://www.yiiframework.com/", + "code": "https://github.com/yiisoft/yii2" + }, + "version": "2.0", + "release": "2.0.12", + "mtime": 1498404939, + "db_size": 15399034 + } +] \ No newline at end of file From c3527b6190089bd20157c4355bfdbf6fd6a34433 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 17 Sep 2018 19:25:51 +0200 Subject: [PATCH 0016/2822] Revert docs.json change --- public/docs/docs.json | 3568 +---------------------------------------- 1 file changed, 1 insertion(+), 3567 deletions(-) diff --git a/public/docs/docs.json b/public/docs/docs.json index 2ac4cd6025..0637a088a0 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -1,3567 +1 @@ -[ - { - "name": "Angular", - "slug": "angular", - "type": "angular", - "links": { - "home": "https://angular.io/", - "code": "https://github.com/angular/angular" - }, - "version": "", - "release": "6.0.4", - "mtime": 1528681713, - "db_size": 10106727 - }, - { - "name": "Angular", - "slug": "angular~5", - "type": "angular", - "links": { - "home": "https://angular.io/", - "code": "https://github.com/angular/angular" - }, - "version": "5", - "release": "5.2.11", - "mtime": 1528681935, - "db_size": 9383106 - }, - { - "name": "Angular", - "slug": "angular~4", - "type": "angular", - "links": { - "home": "https://angular.io/", - "code": "https://github.com/angular/angular" - }, - "version": "4", - "release": "4.4.6", - "mtime": 1510333140, - "db_size": 8247972 - }, - { - "name": "Angular", - "slug": "angular~2", - "type": "angular", - "links": { - "home": "https://angular.io/", - "code": "https://github.com/angular/angular" - }, - "version": "2", - "release": "2.4.10", - "mtime": 1501435056, - "db_size": 7928892 - }, - { - "name": "Angular.js", - "slug": "angularjs~1.6", - "type": "angularjs", - "version": "1.6", - "release": "1.6.6", - "mtime": 1509291873, - "db_size": 2078695 - }, - { - "name": "Angular.js", - "slug": "angularjs~1.5", - "type": "angularjs", - "version": "1.5", - "release": "1.5.11", - "mtime": 1501418597, - "db_size": 2034320 - }, - { - "name": "Angular.js", - "slug": "angularjs~1.4", - "type": "angularjs", - "version": "1.4", - "release": "1.4.14", - "mtime": 1501418614, - "db_size": 1801860 - }, - { - "name": "Angular.js", - "slug": "angularjs~1.3", - "type": "angularjs", - "version": "1.3", - "release": "1.3.20", - "mtime": 1501418630, - "db_size": 1669877 - }, - { - "name": "Angular.js", - "slug": "angularjs~1.2", - "type": "angularjs", - "version": "1.2", - "release": "1.2.32", - "mtime": 1501418645, - "db_size": 1362341 - }, - { - "name": "Ansible", - "slug": "ansible~2.6", - "type": "sphinx", - "links": { - "home": "https://www.ansible.com/", - "code": "https://github.com/ansible/ansible" - }, - "version": "2.6", - "release": "2.6.1", - "mtime": 1531083932, - "db_size": 22024258 - }, - { - "name": "Ansible", - "slug": "ansible~2.5", - "type": "sphinx", - "links": { - "home": "https://www.ansible.com/", - "code": "https://github.com/ansible/ansible" - }, - "version": "2.5", - "release": "2.5.3", - "mtime": 1528678186, - "db_size": 19502653 - }, - { - "name": "Ansible", - "slug": "ansible~2.4", - "type": "sphinx", - "links": { - "home": "https://www.ansible.com/", - "code": "https://github.com/ansible/ansible" - }, - "version": "2.4", - "release": "2.4.3", - "mtime": 1528674845, - "db_size": 12975660 - }, - { - "name": "Apache HTTP Server", - "slug": "apache_http_server", - "type": "apache", - "links": { - "home": "https://httpd.apache.org/" - }, - "release": "2.4.34", - "mtime": 1534714926, - "db_size": 3628166 - }, - { - "name": "Apache Pig", - "slug": "apache_pig~0.17", - "type": "apache_pig", - "links": { - "home": "https://pig.apache.org/" - }, - "version": "0.17", - "release": "0.17.0", - "mtime": 1498397567, - "db_size": 731436 - }, - { - "name": "Apache Pig", - "slug": "apache_pig~0.16", - "type": "apache_pig", - "links": { - "home": "https://pig.apache.org/" - }, - "version": "0.16", - "release": "0.16.0", - "mtime": 1469311906, - "db_size": 716644 - }, - { - "name": "Apache Pig", - "slug": "apache_pig~0.15", - "type": "apache_pig", - "links": { - "home": "https://pig.apache.org/" - }, - "version": "0.15", - "release": "0.15.0", - "mtime": 1461510756, - "db_size": 703105 - }, - { - "name": "Apache Pig", - "slug": "apache_pig~0.14", - "type": "apache_pig", - "links": { - "home": "https://pig.apache.org/" - }, - "version": "0.14", - "release": "0.14.0", - "mtime": 1461510759, - "db_size": 697409 - }, - { - "name": "Apache Pig", - "slug": "apache_pig~0.13", - "type": "apache_pig", - "links": { - "home": "https://pig.apache.org/" - }, - "version": "0.13", - "release": "0.13.0", - "mtime": 1461510762, - "db_size": 671261 - }, - { - "name": "Async", - "slug": "async", - "type": "async", - "links": { - "home": "https://caolan.github.io/async/", - "code": "https://github.com/caolan/async" - }, - "release": "2.6.0", - "mtime": 1510332635, - "db_size": 207425 - }, - { - "name": "Babel", - "slug": "babel", - "type": "simple", - "links": { - "home": "https://babeljs.io/", - "code": "https://github.com/babel/babel" - }, - "release": "6.26.1", - "mtime": 1517763345, - "db_size": 371969 - }, - { - "name": "Backbone.js", - "slug": "backbone", - "type": "underscore", - "links": { - "home": "http://backbonejs.org/", - "code": "https://github.com/jashkenas/backbone" - }, - "release": "1.3.3", - "mtime": 1460208458, - "db_size": 84906 - }, - { - "name": "Bash", - "slug": "bash", - "type": "bash", - "links": { - "home": "https://www.gnu.org/software/bash/", - "code": "http://git.savannah.gnu.org/cgit/bash.git" - }, - "release": "4.4", - "mtime": 1532899814, - "db_size": 780345 - }, - { - "name": "Bluebird", - "slug": "bluebird", - "type": "simple", - "links": { - "home": "http://bluebirdjs.com/", - "code": "https://github.com/petkaantonov/bluebird/" - }, - "release": "3.5.1", - "mtime": 1511735064, - "db_size": 444684 - }, - { - "name": "Bootstrap", - "slug": "bootstrap~4", - "type": "bootstrap", - "links": { - "home": "https://getbootstrap.com/", - "code": "https://github.com/twbs/bootstrap" - }, - "version": "4", - "release": "4.1.3", - "mtime": 1534716040, - "db_size": 701850 - }, - { - "name": "Bootstrap", - "slug": "bootstrap~3", - "type": "bootstrap", - "links": { - "home": "https://getbootstrap.com/", - "code": "https://github.com/twbs/bootstrap" - }, - "version": "3", - "release": "3.3.7", - "mtime": 1511736590, - "db_size": 1692281 - }, - { - "name": "Bottle", - "slug": "bottle~0.12", - "type": "sphinx", - "links": { - "home": "https://bottlepy.org/", - "code": "https://github.com/bottlepy/bottle" - }, - "version": "0.12", - "release": "0.12.13", - "mtime": 1484519567, - "db_size": 299543 - }, - { - "name": "Bottle", - "slug": "bottle~0.11", - "type": "sphinx", - "links": { - "home": "https://bottlepy.org/", - "code": "https://github.com/bottlepy/bottle" - }, - "version": "0.11", - "release": "0.11.7", - "mtime": 1484519569, - "db_size": 274880 - }, - { - "name": "Bower", - "slug": "bower", - "type": "bower", - "links": { - "home": "https://bower.io/", - "code": "https://github.com/bower/bower" - }, - "release": "1.8.4", - "mtime": 1524923407, - "db_size": 46027 - }, - { - "name": "C", - "slug": "c", - "type": "c", - "mtime": 1521903579, - "db_size": 3831357 - }, - { - "name": "C++", - "slug": "cpp", - "type": "c", - "mtime": 1521903410, - "db_size": 21391403 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.6", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.6", - "release": "3.6.2", - "mtime": 1524923828, - "db_size": 11125017 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.5", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.5", - "release": "3.5.15", - "mtime": 1524923581, - "db_size": 10616786 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.4", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.4", - "release": "3.4.13", - "mtime": 1503758159, - "db_size": 10562123 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.3", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.3", - "release": "3.3.15", - "mtime": 1487425686, - "db_size": 8700321 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.2", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.2", - "release": "3.2.14", - "mtime": 1474125449, - "db_size": 8263596 - }, - { - "name": "CakePHP", - "slug": "cakephp~3.1", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "3.1", - "release": "3.1.13", - "mtime": 1462111394, - "db_size": 7959275 - }, - { - "name": "CakePHP", - "slug": "cakephp~2.10", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "2.10", - "release": "2.10.3", - "mtime": 1506274147, - "db_size": 6138877 - }, - { - "name": "CakePHP", - "slug": "cakephp~2.9", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "2.9", - "release": "2.9.4", - "mtime": 1484523236, - "db_size": 5552668 - }, - { - "name": "CakePHP", - "slug": "cakephp~2.8", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "2.8", - "release": "2.8.8", - "mtime": 1474125323, - "db_size": 7518979 - }, - { - "name": "CakePHP", - "slug": "cakephp~2.7", - "type": "cakephp", - "links": { - "home": "https://cakephp.org/", - "code": "https://github.com/cakephp/cakephp" - }, - "version": "2.7", - "release": "2.7.11", - "mtime": 1462111536, - "db_size": 8483870 - }, - { - "name": "Chai", - "slug": "chai", - "type": "chai", - "links": { - "home": "http://chaijs.com/", - "code": "https://github.com/chaijs/chai" - }, - "release": "4.1.0", - "mtime": 1500290759, - "db_size": 394800 - }, - { - "name": "Chef", - "slug": "chef~12", - "type": "sphinx_simple", - "links": { - "home": "https://www.chef.io/", - "code": "https://github.com/chef/chef" - }, - "version": "12", - "release": "12.13", - "mtime": 1495472987, - "db_size": 3833180 - }, - { - "name": "Chef", - "slug": "chef~11", - "type": "sphinx_simple", - "links": { - "home": "https://www.chef.io/", - "code": "https://github.com/chef/chef" - }, - "version": "11", - "release": "11.18", - "mtime": 1495473070, - "db_size": 3436869 - }, - { - "name": "Clojure", - "slug": "clojure~1.9", - "type": "clojure", - "version": "1.9", - "release": "1.9", - "mtime": 1515366982, - "db_size": 551767 - }, - { - "name": "Clojure", - "slug": "clojure~1.8", - "type": "clojure", - "version": "1.8", - "release": "1.8", - "mtime": 1453669840, - "db_size": 534449 - }, - { - "name": "Clojure", - "slug": "clojure~1.7", - "type": "clojure", - "version": "1.7", - "release": "1.7", - "mtime": 1453669823, - "db_size": 525307 - }, - { - "name": "CMake", - "slug": "cmake~3.12", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.12", - "release": "3.12.1", - "mtime": 1534717180, - "db_size": 3544400 - }, - { - "name": "CMake", - "slug": "cmake~3.11", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.11", - "release": "3.11.4", - "mtime": 1534717159, - "db_size": 3365352 - }, - { - "name": "CMake", - "slug": "cmake~3.10", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.10", - "release": "3.10.3", - "mtime": 1534717115, - "db_size": 3261032 - }, - { - "name": "CMake", - "slug": "cmake~3.9", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.9", - "release": "3.9.6", - "mtime": 1515367068, - "db_size": 3094540 - }, - { - "name": "CMake", - "slug": "cmake~3.8", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.8", - "release": "3.8.2", - "mtime": 1500742171, - "db_size": 2975592 - }, - { - "name": "CMake", - "slug": "cmake~3.7", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.7", - "release": "3.7.2", - "mtime": 1492960254, - "db_size": 2866766 - }, - { - "name": "CMake", - "slug": "cmake~3.6", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.6", - "release": "3.6.3", - "mtime": 1479055624, - "db_size": 2727425 - }, - { - "name": "CMake", - "slug": "cmake~3.5", - "type": "sphinx_simple", - "links": { - "home": "https://cmake.org/", - "code": "https://cmake.org/gitweb?p=cmake.git;a=summary" - }, - "version": "3.5", - "release": "3.5.2", - "mtime": 1467561510, - "db_size": 2656199 - }, - { - "name": "Codeception", - "slug": "codeception", - "type": "codeception", - "links": { - "home": "https://codeception.com/", - "code": "https://github.com/codeception/codeception" - }, - "release": "2.4.0", - "mtime": 1521386083, - "db_size": 1601844 - }, - { - "name": "CodeceptJS", - "slug": "codeceptjs", - "type": "codeceptjs", - "links": { - "home": "https://codecept.io/", - "code": "https://github.com/codeception/codeceptjs" - }, - "release": "1.3.1", - "mtime": 1531082805, - "db_size": 591278 - }, - { - "name": "CodeIgniter", - "slug": "codeigniter~3", - "type": "sphinx", - "links": { - "home": "https://codeigniter.com/", - "code": "https://github.com/bcit-ci/CodeIgniter" - }, - "version": "3", - "release": "3.1.8", - "mtime": 1521915543, - "db_size": 1383667 - }, - { - "name": "CoffeeScript", - "slug": "coffeescript~2", - "type": "coffeescript", - "links": { - "home": "http://coffeescript.org", - "code": "https://github.com/jashkenas/coffeescript" - }, - "version": "2", - "release": "2.3.0", - "mtime": 1526258172, - "db_size": 108169 - }, - { - "name": "CoffeeScript", - "slug": "coffeescript~1", - "type": "coffeescript", - "links": { - "home": "http://coffeescript.org", - "code": "https://github.com/jashkenas/coffeescript" - }, - "version": "1", - "release": "1.12.6", - "mtime": 1507562899, - "db_size": 66981 - }, - { - "name": "Cordova", - "slug": "cordova~7", - "type": "cordova", - "links": { - "home": "https://cordova.apache.org/", - "code": "https://git-wip-us.apache.org/repos/asf/cordova-cli.git" - }, - "version": "7", - "release": "7.1.0", - "mtime": 1509299994, - "db_size": 2558161 - }, - { - "name": "Cordova", - "slug": "cordova~6", - "type": "cordova", - "links": { - "home": "https://cordova.apache.org/", - "code": "https://git-wip-us.apache.org/repos/asf/cordova-cli.git" - }, - "version": "6", - "release": "6.5.0", - "mtime": 1506274282, - "db_size": 2536890 - }, - { - "name": "Crystal", - "slug": "crystal", - "type": "crystal", - "links": { - "home": "https://crystal-lang.org/", - "code": "https://github.com/crystal-lang/crystal" - }, - "release": "0.26.0", - "mtime": 1534715966, - "db_size": 9855759 - }, - { - "name": "CSS", - "slug": "css", - "type": "mdn", - "mtime": 1534718228, - "db_size": 11357189 - }, - { - "name": "D", - "slug": "d", - "type": "d", - "links": { - "home": "https://dlang.org/", - "code": "https://github.com/dlang/phobos" - }, - "release": "2.081.0", - "mtime": 1531082506, - "db_size": 5861676 - }, - { - "name": "D3.js", - "slug": "d3~5", - "type": "d3", - "links": { - "home": "https://d3js.org/", - "code": "https://github.com/d3/d3" - }, - "version": "5", - "release": "5.4.0", - "mtime": 1526257705, - "db_size": 15114972 - }, - { - "name": "D3.js", - "slug": "d3~4", - "type": "d3", - "links": { - "home": "https://d3js.org/", - "code": "https://github.com/d3/d3" - }, - "version": "4", - "release": "4.12.2", - "mtime": 1515367749, - "db_size": 13601596 - }, - { - "name": "D3.js", - "slug": "d3~3", - "type": "d3", - "links": { - "home": "https://d3js.org/", - "code": "https://github.com/d3/d3" - }, - "version": "3", - "release": "3.5.17", - "mtime": 1472313914, - "db_size": 653806 - }, - { - "name": "Dart", - "slug": "dart~2", - "type": "dart", - "links": { - "home": "https://www.dartlang.org/", - "code": "https://github.com/dart-lang/sdk" - }, - "version": "2", - "release": "2.0.0", - "mtime": 1533592653, - "db_size": 30849359 - }, - { - "name": "Dart", - "slug": "dart~1", - "type": "dart", - "links": { - "home": "https://www.dartlang.org/", - "code": "https://github.com/dart-lang/sdk" - }, - "version": "1", - "release": "1.24.3", - "mtime": 1533594583, - "db_size": 31726721 - }, - { - "name": "Django", - "slug": "django~2.1", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "2.1", - "release": "2.1.0", - "mtime": 1534717304, - "db_size": 6138831 - }, - { - "name": "Django", - "slug": "django~2.0", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "2.0", - "release": "2.0.7", - "mtime": 1531082713, - "db_size": 6069505 - }, - { - "name": "Django", - "slug": "django~1.11", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "1.11", - "release": "1.11.9", - "mtime": 1515954092, - "db_size": 6145924 - }, - { - "name": "Django", - "slug": "django~1.10", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "1.10", - "release": "1.10.8", - "mtime": 1505055496, - "db_size": 6007190 - }, - { - "name": "Django", - "slug": "django~1.9", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "1.9", - "release": "1.9.13", - "mtime": 1491762860, - "db_size": 5396651 - }, - { - "name": "Django", - "slug": "django~1.8", - "type": "sphinx", - "links": { - "home": "https://www.djangoproject.com/", - "code": "https://github.com/django/django" - }, - "version": "1.8", - "release": "1.8.18", - "mtime": 1491762906, - "db_size": 5201532 - }, - { - "name": "Docker", - "slug": "docker~17", - "type": "docker", - "links": { - "home": "https://docker.com/", - "code": "https://github.com/docker/docker" - }, - "version": "17", - "release": "17.06", - "mtime": 1504541210, - "db_size": 7538709 - }, - { - "name": "Docker", - "slug": "docker~1.13", - "type": "docker", - "links": { - "home": "https://docker.com/", - "code": "https://github.com/docker/docker" - }, - "version": "1.13", - "release": "1.13", - "mtime": 1504538357, - "db_size": 6967276 - }, - { - "name": "Docker", - "slug": "docker~1.12", - "type": "docker", - "links": { - "home": "https://docker.com/", - "code": "https://github.com/docker/docker" - }, - "version": "1.12", - "release": "1.12", - "mtime": 1504538249, - "db_size": 6667872 - }, - { - "name": "Docker", - "slug": "docker~1.11", - "type": "docker", - "links": { - "home": "https://docker.com/", - "code": "https://github.com/docker/docker" - }, - "version": "1.11", - "release": "1.11", - "mtime": 1504538129, - "db_size": 5827804 - }, - { - "name": "Docker", - "slug": "docker~1.10", - "type": "docker", - "links": { - "home": "https://docker.com/", - "code": "https://github.com/docker/docker" - }, - "version": "1.10", - "release": "1.10", - "mtime": 1504538058, - "db_size": 7125854 - }, - { - "name": "Dojo", - "slug": "dojo", - "type": "dojo", - "links": { - "home": "http://dojotoolkit.org", - "code": "https://github.com/dojo/dojo" - }, - "release": "1.10", - "mtime": 1500741465, - "db_size": 2007352 - }, - { - "name": "DOM", - "slug": "dom", - "type": "mdn", - "mtime": 1534727173, - "db_size": 31158963 - }, - { - "name": "DOM Events", - "slug": "dom_events", - "type": "mdn", - "mtime": 1534719126, - "db_size": 1681862 - }, - { - "name": "Drupal", - "slug": "drupal~8", - "type": "drupal", - "links": { - "home": "https://www.drupal.org/", - "code": "http://cgit.drupalcode.org/drupal" - }, - "version": "8", - "release": "8.1.7", - "mtime": 1469287435, - "db_size": 37442060 - }, - { - "name": "Drupal", - "slug": "drupal~7", - "type": "drupal", - "links": { - "home": "https://www.drupal.org/", - "code": "http://cgit.drupalcode.org/drupal" - }, - "version": "7", - "release": "7.50", - "mtime": 1468189926, - "db_size": 17249491 - }, - { - "name": "Electron", - "slug": "electron", - "type": "electron", - "links": { - "home": "https://electronjs.org/", - "code": "https://github.com/electron/electron" - }, - "release": "2.0.2", - "mtime": 1531082744, - "db_size": 1736011 - }, - { - "name": "Elixir", - "slug": "elixir~1.7", - "type": "elixir", - "links": { - "home": "https://elixir-lang.org/", - "code": "https://github.com/elixir-lang/elixir" - }, - "version": "1.7", - "release": "1.7.2", - "mtime": 1534716723, - "db_size": 4948105 - }, - { - "name": "Elixir", - "slug": "elixir~1.6", - "type": "elixir", - "links": { - "home": "https://elixir-lang.org/", - "code": "https://github.com/elixir-lang/elixir" - }, - "version": "1.6", - "release": "1.6.5", - "mtime": 1526258250, - "db_size": 2892867 - }, - { - "name": "Elixir", - "slug": "elixir~1.5", - "type": "elixir", - "links": { - "home": "https://elixir-lang.org/", - "code": "https://github.com/elixir-lang/elixir" - }, - "version": "1.5", - "release": "1.5.3", - "mtime": 1517182992, - "db_size": 2558961 - }, - { - "name": "Elixir", - "slug": "elixir~1.4", - "type": "elixir", - "links": { - "home": "https://elixir-lang.org/", - "code": "https://github.com/elixir-lang/elixir" - }, - "version": "1.4", - "release": "1.4.5", - "mtime": 1498397999, - "db_size": 2336862 - }, - { - "name": "Elixir", - "slug": "elixir~1.3", - "type": "elixir", - "links": { - "home": "https://elixir-lang.org/", - "code": "https://github.com/elixir-lang/elixir" - }, - "version": "1.3", - "release": "1.3.4", - "mtime": 1495463739, - "db_size": 2113680 - }, - { - "name": "Ember.js", - "slug": "ember", - "type": "ember", - "links": { - "home": "https://emberjs.com/", - "code": "https://github.com/emberjs/ember.js" - }, - "release": "2.15.0", - "mtime": 1509308649, - "db_size": 5540495 - }, - { - "name": "Erlang", - "slug": "erlang~21", - "type": "erlang", - "links": { - "home": "https://www.erlang.org/", - "code": "https://github.com/erlang/otp" - }, - "version": "21", - "release": "21.0", - "mtime": 1531082610, - "db_size": 10706256 - }, - { - "name": "Erlang", - "slug": "erlang~20", - "type": "erlang", - "links": { - "home": "https://www.erlang.org/", - "code": "https://github.com/erlang/otp" - }, - "version": "20", - "release": "20.3", - "mtime": 1528680392, - "db_size": 8870168 - }, - { - "name": "Erlang", - "slug": "erlang~19", - "type": "erlang", - "links": { - "home": "https://www.erlang.org/", - "code": "https://github.com/erlang/otp" - }, - "version": "19", - "release": "19.3", - "mtime": 1495487321, - "db_size": 9477458 - }, - { - "name": "Erlang", - "slug": "erlang~18", - "type": "erlang", - "links": { - "home": "https://www.erlang.org/", - "code": "https://github.com/erlang/otp" - }, - "version": "18", - "release": "18.3", - "mtime": 1495487381, - "db_size": 8909158 - }, - { - "name": "ESLint", - "slug": "eslint", - "type": "simple", - "links": { - "home": "https://eslint.org/", - "code": "https://github.com/eslint/eslint" - }, - "release": "4.19.0", - "mtime": 1521387863, - "db_size": 2018268 - }, - { - "name": "Express", - "slug": "express", - "type": "express", - "links": { - "home": "http://expressjs.com/", - "code": "https://github.com/strongloop/express/" - }, - "release": "4.16.1", - "mtime": 1507390010, - "db_size": 322413 - }, - { - "name": "Falcon", - "slug": "falcon~1.4", - "type": "sphinx", - "links": { - "home": "https://falconframework.org/", - "code": "https://github.com/falconry/falcon" - }, - "version": "1.4", - "release": "1.4.1", - "mtime": 1519571975, - "db_size": 545288 - }, - { - "name": "Falcon", - "slug": "falcon~1.3", - "type": "sphinx", - "links": { - "home": "https://falconframework.org/", - "code": "https://github.com/falconry/falcon" - }, - "version": "1.3", - "release": "1.3.0", - "mtime": 1505055855, - "db_size": 499126 - }, - { - "name": "Falcon", - "slug": "falcon~1.2", - "type": "sphinx", - "links": { - "home": "https://falconframework.org/", - "code": "https://github.com/falconry/falcon" - }, - "version": "1.2", - "release": "1.2.0", - "mtime": 1505055858, - "db_size": 442298 - }, - { - "name": "Fish", - "slug": "fish~2.7", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.7", - "release": "2.7.1", - "mtime": 1515367841, - "db_size": 336043 - }, - { - "name": "Fish", - "slug": "fish~2.6", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.6", - "release": "2.6.0", - "mtime": 1501448153, - "db_size": 300968 - }, - { - "name": "Fish", - "slug": "fish~2.5", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.5", - "release": "2.5.0", - "mtime": 1486329214, - "db_size": 287843 - }, - { - "name": "Fish", - "slug": "fish~2.4", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.4", - "release": "2.4.0", - "mtime": 1479050136, - "db_size": 282800 - }, - { - "name": "Fish", - "slug": "fish~2.3", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.3", - "release": "2.3.1", - "mtime": 1473109691, - "db_size": 267217 - }, - { - "name": "Fish", - "slug": "fish~2.2", - "type": "fish", - "links": { - "home": "https://fishshell.com/", - "code": "https://github.com/fish-shell/fish-shell" - }, - "version": "2.2", - "release": "2.2.0", - "mtime": 1473109693, - "db_size": 233348 - }, - { - "name": "Flow", - "slug": "flow", - "type": "flow", - "links": { - "home": "https://flow.org/", - "code": "https://github.com/facebook/flow" - }, - "release": "0.79.1", - "mtime": 1534714964, - "db_size": 339892 - }, - { - "name": "GCC", - "slug": "gcc~7", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/" - }, - "version": "7", - "release": "7.3.0", - "mtime": 1519585911, - "db_size": 2942101 - }, - { - "name": "GCC", - "slug": "gcc~6", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/" - }, - "version": "6", - "release": "6.4.0", - "mtime": 1503759853, - "db_size": 2802192 - }, - { - "name": "GCC", - "slug": "gcc~5", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/" - }, - "version": "5", - "release": "5.4.0", - "mtime": 1477863857, - "db_size": 2361957 - }, - { - "name": "GCC", - "slug": "gcc~4", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/" - }, - "version": "4", - "release": "4.9.3", - "mtime": 1460317637, - "db_size": 2647145 - }, - { - "name": "Git", - "slug": "git", - "type": "git", - "links": { - "home": "https://git-scm.com/", - "code": "https://github.com/git/git" - }, - "release": "2.17.0", - "mtime": 1524924117, - "db_size": 3140923 - }, - { - "name": "GNU Fortran", - "slug": "gnu_fortran~7", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/fortran/" - }, - "version": "7", - "release": "7.3.0", - "mtime": 1519585935, - "db_size": 1250341 - }, - { - "name": "GNU Fortran", - "slug": "gnu_fortran~6", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/fortran/" - }, - "version": "6", - "release": "6.4.0", - "mtime": 1503759905, - "db_size": 1133523 - }, - { - "name": "GNU Fortran", - "slug": "gnu_fortran~5", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/fortran/" - }, - "version": "5", - "release": "5.4.0", - "mtime": 1469312374, - "db_size": 999032 - }, - { - "name": "GNU Fortran", - "slug": "gnu_fortran~4", - "type": "gnu", - "links": { - "home": "https://gcc.gnu.org/fortran/" - }, - "version": "4", - "release": "4.9.3", - "mtime": 1460316067, - "db_size": 853323 - }, - { - "name": "Go", - "slug": "go", - "type": "go", - "links": { - "home": "https://golang.org/", - "code": "https://go.googlesource.com/go" - }, - "release": "1.10.1", - "mtime": 1524924263, - "db_size": 3480702 - }, - { - "name": "Godot", - "slug": "godot~3.0", - "type": "sphinx_simple", - "links": { - "home": "https://godotengine.org/", - "code": "https://github.com/godotengine/godot" - }, - "version": "3.0", - "release": "3.0", - "mtime": 1519572520, - "db_size": 3740908 - }, - { - "name": "Godot", - "slug": "godot~2.1", - "type": "sphinx_simple", - "links": { - "home": "https://godotengine.org/", - "code": "https://github.com/godotengine/godot" - }, - "version": "2.1", - "release": "2.1", - "mtime": 1500847393, - "db_size": 4249116 - }, - { - "name": "Graphite", - "slug": "graphite", - "type": "graphite", - "links": { - "code": "https://github.com/graphite-project/graphite-web" - }, - "release": "1.1.3", - "mtime": 1532902325, - "db_size": 446680 - }, - { - "name": "Grunt", - "slug": "grunt", - "type": "grunt", - "release": "1.0.1", - "mtime": 1500740124, - "db_size": 183508 - }, - { - "name": "Haskell", - "slug": "haskell~8", - "type": "haskell", - "links": { - "home": "https://www.haskell.org/" - }, - "version": "8", - "release": "8.2.1", - "mtime": 1503760719, - "db_size": 26228623 - }, - { - "name": "Haskell", - "slug": "haskell~7", - "type": "haskell", - "links": { - "home": "https://www.haskell.org/" - }, - "version": "7", - "release": "7.10.3", - "mtime": 1503760279, - "db_size": 6610017 - }, - { - "name": "Haxe", - "slug": "haxe", - "type": "haxe", - "links": { - "home": "https://haxe.org", - "code": "https://github.com/HaxeFoundation/haxe" - }, - "version": "", - "release": "3.4.7", - "mtime": 1526520808, - "db_size": 1117484 - }, - { - "name": "Haxe", - "slug": "haxe~cpp", - "type": "haxe", - "version": "C++", - "release": "3.4.7", - "mtime": 1526520811, - "db_size": 445145 - }, - { - "name": "Haxe", - "slug": "haxe~cs", - "type": "haxe", - "version": "C#", - "release": "3.4.7", - "mtime": 1526520830, - "db_size": 3456326 - }, - { - "name": "Haxe", - "slug": "haxe~flash", - "type": "haxe", - "version": "Flash", - "release": "3.4.7", - "mtime": 1526520843, - "db_size": 1713506 - }, - { - "name": "Haxe", - "slug": "haxe~java", - "type": "haxe", - "version": "Java", - "release": "3.4.7", - "mtime": 1526520859, - "db_size": 2903032 - }, - { - "name": "Haxe", - "slug": "haxe~javascript", - "type": "haxe", - "version": "JavaScript", - "release": "3.4.7", - "mtime": 1526520906, - "db_size": 4491424 - }, - { - "name": "Haxe", - "slug": "haxe~neko", - "type": "haxe", - "version": "Neko", - "release": "3.4.7", - "mtime": 1526520909, - "db_size": 110930 - }, - { - "name": "Haxe", - "slug": "haxe~php", - "type": "haxe", - "version": "PHP", - "release": "3.4.7", - "mtime": 1526520910, - "db_size": 93339 - }, - { - "name": "Haxe", - "slug": "haxe~lua", - "type": "haxe", - "version": "Lua", - "release": "3.4.7", - "mtime": 1526520913, - "db_size": 365204 - }, - { - "name": "Haxe", - "slug": "haxe~hashlink", - "type": "haxe", - "version": "HashLink", - "release": "3.4.7", - "mtime": 1526520915, - "db_size": 233826 - }, - { - "name": "Haxe", - "slug": "haxe~sys", - "type": "haxe", - "version": "Sys", - "release": "3.4.7", - "mtime": 1526520917, - "db_size": 166803 - }, - { - "name": "Haxe", - "slug": "haxe~python", - "type": "haxe", - "version": "Python", - "release": "3.4.7", - "mtime": 1526520922, - "db_size": 612013 - }, - { - "name": "Homebrew", - "slug": "homebrew", - "type": "simple", - "links": { - "home": "https://brew.sh", - "code": "https://github.com/Homebrew/brew" - }, - "release": "1.4.2", - "mtime": 1515367956, - "db_size": 684702 - }, - { - "name": "HTML", - "slug": "html", - "type": "mdn", - "mtime": 1534717770, - "db_size": 3982830 - }, - { - "name": "HTTP", - "slug": "http", - "type": "mdn", - "mtime": 1534719222, - "db_size": 4497546 - }, - { - "name": "Immutable.js", - "slug": "immutable", - "type": "immutable", - "links": { - "home": "https://facebook.github.io/immutable-js/", - "code": "https://github.com/facebook/immutable-js" - }, - "release": "3.8.1", - "mtime": 1479652557, - "db_size": 742765 - }, - { - "name": "InfluxData", - "slug": "influxdata", - "type": "influxdata", - "links": { - "home": "https://www.influxdata.com/", - "code": "https://github.com/influxdata/influxdb" - }, - "release": "1.3", - "mtime": 1501448812, - "db_size": 3582825 - }, - { - "name": "Jasmine", - "slug": "jasmine", - "type": "jasmine", - "links": { - "home": "https://jasmine.github.io/", - "code": "https://github.com/jasmine/jasmine" - }, - "release": "3.2.1", - "mtime": 1534715399, - "db_size": 98482 - }, - { - "name": "JavaScript", - "slug": "javascript", - "type": "mdn", - "mtime": 1534718903, - "db_size": 5793848 - }, - { - "name": "Jekyll", - "slug": "jekyll", - "type": "jekyll", - "links": { - "home": "https://jekyllrb.com/", - "code": "https://github.com/jekyll/jekyll" - }, - "release": "3.7.2", - "mtime": 1517761163, - "db_size": 334606 - }, - { - "name": "Jest", - "slug": "jest", - "type": "jest", - "links": { - "home": "https://facebook.github.io/jest/", - "code": "https://github.com/facebook/jest" - }, - "release": "23.5.0", - "mtime": 1534715514, - "db_size": 520890 - }, - { - "name": "jQuery", - "slug": "jquery", - "type": "jquery", - "links": { - "home": "https://jquery.com/", - "code": "https://github.com/jquery/jquery" - }, - "release": "3.3.1", - "mtime": 1524924505, - "db_size": 2679861 - }, - { - "name": "jQuery Mobile", - "slug": "jquerymobile", - "type": "jquery", - "release": "1.4.5", - "mtime": 1500821575, - "db_size": 1120776 - }, - { - "name": "jQuery UI", - "slug": "jqueryui", - "type": "jquery", - "release": "1.12.1", - "mtime": 1500821446, - "db_size": 1099745 - }, - { - "name": "JSDoc", - "slug": "jsdoc", - "type": "simple", - "links": { - "home": "http://usejsdoc.org/", - "code": "https://github.com/jsdoc3/jsdoc" - }, - "release": "3.5.5", - "mtime": 1517758919, - "db_size": 283935 - }, - { - "name": "Julia", - "slug": "julia~1.0", - "type": "julia", - "links": { - "home": "https://julialang.org/", - "code": "https://github.com/JuliaLang/julia" - }, - "version": "1.0", - "release": "1.0.0", - "mtime": 1534716993, - "db_size": 2353339 - }, - { - "name": "Julia", - "slug": "julia~0.7", - "type": "julia", - "links": { - "home": "https://julialang.org/", - "code": "https://github.com/JuliaLang/julia" - }, - "version": "0.7", - "release": "0.7.0", - "mtime": 1534716955, - "db_size": 2352905 - }, - { - "name": "Julia", - "slug": "julia~0.6", - "type": "julia", - "links": { - "home": "https://julialang.org/", - "code": "https://github.com/JuliaLang/julia" - }, - "version": "0.6", - "release": "0.6.2", - "mtime": 1515368111, - "db_size": 2721254 - }, - { - "name": "Julia", - "slug": "julia~0.5", - "type": "sphinx_simple", - "links": { - "home": "https://julialang.org/", - "code": "https://github.com/JuliaLang/julia" - }, - "version": "0.5", - "release": "0.5.2", - "mtime": 1498401014, - "db_size": 2184173 - }, - { - "name": "Knockout.js", - "slug": "knockout", - "type": "knockout", - "release": "3.4.2", - "mtime": 1489346587, - "db_size": 417406 - }, - { - "name": "Koa", - "slug": "koa", - "type": "github", - "links": { - "home": "https://koajs.com/", - "code": "https://github.com/koajs/koa" - }, - "release": "2.5.1", - "mtime": 1531085399, - "db_size": 160314 - }, - { - "name": "Kotlin", - "slug": "kotlin", - "type": "kotlin", - "links": { - "home": "https://kotlinlang.org/", - "code": "https://github.com/JetBrains/kotlin" - }, - "release": "1.2.41", - "mtime": 1524924945, - "db_size": 11707614 - }, - { - "name": "Laravel", - "slug": "laravel~5.6", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.6", - "release": "5.6.33", - "mtime": 1534715526, - "db_size": 19686189 - }, - { - "name": "Laravel", - "slug": "laravel~5.5", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.5", - "release": "5.5.28", - "mtime": 1515368259, - "db_size": 17701623 - }, - { - "name": "Laravel", - "slug": "laravel~5.4", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.4", - "release": "5.4.30", - "mtime": 1505054925, - "db_size": 16448730 - }, - { - "name": "Laravel", - "slug": "laravel~5.3", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.3", - "release": "5.3.30", - "mtime": 1505055249, - "db_size": 14614370 - }, - { - "name": "Laravel", - "slug": "laravel~5.2", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.2", - "release": "5.2.31", - "mtime": 1505055328, - "db_size": 12870495 - }, - { - "name": "Laravel", - "slug": "laravel~5.1", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "5.1", - "release": "5.1.33", - "mtime": 1505055406, - "db_size": 11737667 - }, - { - "name": "Laravel", - "slug": "laravel~4.2", - "type": "laravel", - "links": { - "home": "https://laravel.com/", - "code": "https://github.com/laravel/laravel" - }, - "version": "4.2", - "release": "4.2.11", - "mtime": 1505055134, - "db_size": 7711773 - }, - { - "name": "Leaflet", - "slug": "leaflet~1.3", - "type": "simple", - "links": { - "home": "https://leafletjs.com/", - "code": "https://github.com/Leaflet/Leaflet" - }, - "version": "1.3", - "release": "1.3.0", - "mtime": 1531084142, - "db_size": 697420 - }, - { - "name": "Leaflet", - "slug": "leaflet~1.2", - "type": "simple", - "links": { - "home": "https://leafletjs.com/", - "code": "https://github.com/Leaflet/Leaflet" - }, - "version": "1.2", - "release": "1.2.0", - "mtime": 1531084146, - "db_size": 678833 - }, - { - "name": "Leaflet", - "slug": "leaflet~1.1", - "type": "simple", - "links": { - "home": "https://leafletjs.com/", - "code": "https://github.com/Leaflet/Leaflet" - }, - "version": "1.1", - "release": "1.1.0", - "mtime": 1531084149, - "db_size": 677510 - }, - { - "name": "Leaflet", - "slug": "leaflet~1.0", - "type": "simple", - "links": { - "home": "https://leafletjs.com/", - "code": "https://github.com/Leaflet/Leaflet" - }, - "version": "1.0", - "release": "1.0.3", - "mtime": 1531084153, - "db_size": 672447 - }, - { - "name": "Less", - "slug": "less", - "type": "less", - "links": { - "home": "http://lesscss.org/", - "code": "https://github.com/less/less.js" - }, - "release": "2.7.2", - "mtime": 1495470772, - "db_size": 150274 - }, - { - "name": "Liquid", - "slug": "liquid", - "type": "liquid", - "links": { - "home": "https://shopify.github.io/liquid/", - "code": "https://github.com/Shopify/liquid" - }, - "release": "4.0.0", - "mtime": 1498406903, - "db_size": 74772 - }, - { - "name": "lodash", - "slug": "lodash~4", - "type": "lodash", - "links": { - "home": "https://lodash.com/", - "code": "https://github.com/lodash/lodash/" - }, - "version": "4", - "release": "4.17.10", - "mtime": 1524924842, - "db_size": 335698 - }, - { - "name": "lodash", - "slug": "lodash~3", - "type": "lodash", - "links": { - "home": "https://lodash.com/", - "code": "https://github.com/lodash/lodash/" - }, - "version": "3", - "release": "3.10.1", - "mtime": 1475414357, - "db_size": 264546 - }, - { - "name": "lodash", - "slug": "lodash~2", - "type": "lodash", - "links": { - "home": "https://lodash.com/", - "code": "https://github.com/lodash/lodash/" - }, - "version": "2", - "release": "2.4.2", - "mtime": 1475414359, - "db_size": 172643 - }, - { - "name": "Lua", - "slug": "lua~5.3", - "type": "lua", - "version": "5.3", - "release": "5.3.4", - "mtime": 1500739922, - "db_size": 325966 - }, - { - "name": "Lua", - "slug": "lua~5.2", - "type": "lua", - "version": "5.2", - "release": "5.2.4", - "mtime": 1500739926, - "db_size": 304632 - }, - { - "name": "Lua", - "slug": "lua~5.1", - "type": "lua", - "version": "5.1", - "release": "5.1.5", - "mtime": 1500739929, - "db_size": 253404 - }, - { - "name": "LÖVE", - "slug": "love", - "type": "love", - "links": { - "home": "https://love2d.org/", - "code": "https://bitbucket.org/rude/love" - }, - "release": "0.10.2", - "mtime": 1480270799, - "db_size": 2655816 - }, - { - "name": "Marionette.js", - "slug": "marionette~4", - "type": "marionette", - "links": { - "home": "https://marionettejs.com/", - "code": "https://github.com/marionettejs/backbone.marionette" - }, - "version": "4", - "release": "4.0.0", - "mtime": 1534716826, - "db_size": 397364 - }, - { - "name": "Marionette.js", - "slug": "marionette~3", - "type": "marionette", - "links": { - "home": "https://marionettejs.com/", - "code": "https://github.com/marionettejs/backbone.marionette" - }, - "version": "3", - "release": "3.5.1", - "mtime": 1510332195, - "db_size": 503494 - }, - { - "name": "Marionette.js", - "slug": "marionette~2", - "type": "marionette", - "links": { - "home": "https://marionettejs.com/", - "code": "https://github.com/marionettejs/backbone.marionette" - }, - "version": "2", - "release": "2.4.7", - "mtime": 1479678843, - "db_size": 319692 - }, - { - "name": "Markdown", - "slug": "markdown", - "type": "markdown", - "mtime": 1426424874, - "db_size": 31338 - }, - { - "name": "Matplotlib", - "slug": "matplotlib~2.1", - "type": "sphinx", - "links": { - "home": "http://matplotlib.org/", - "code": "https://github.com/matplotlib/matplotlib" - }, - "version": "2.1", - "release": "2.1.0", - "mtime": 1509301001, - "db_size": 32934732 - }, - { - "name": "Matplotlib", - "slug": "matplotlib~2.0", - "type": "sphinx", - "links": { - "home": "http://matplotlib.org/", - "code": "https://github.com/matplotlib/matplotlib" - }, - "version": "2.0", - "release": "2.0.2", - "mtime": 1498401455, - "db_size": 5137554 - }, - { - "name": "Matplotlib", - "slug": "matplotlib~1.5", - "type": "sphinx", - "links": { - "home": "http://matplotlib.org/", - "code": "https://github.com/matplotlib/matplotlib" - }, - "version": "1.5", - "release": "1.5.3", - "mtime": 1483389014, - "db_size": 3803905 - }, - { - "name": "Meteor", - "slug": "meteor~1.5", - "type": "meteor", - "links": { - "home": "https://www.meteor.com/", - "code": "https://github.com/meteor/meteor/" - }, - "version": "1.5", - "release": "1.5.2", - "mtime": 1509301490, - "db_size": 2121693 - }, - { - "name": "Meteor", - "slug": "meteor~1.4", - "type": "meteor", - "links": { - "home": "https://www.meteor.com/", - "code": "https://github.com/meteor/meteor/" - }, - "version": "1.4", - "release": "1.4.4", - "mtime": 1501449312, - "db_size": 2509309 - }, - { - "name": "Meteor", - "slug": "meteor~1.3", - "type": "meteor", - "links": { - "home": "https://www.meteor.com/", - "code": "https://github.com/meteor/meteor/" - }, - "version": "1.3", - "release": "1.3.5", - "mtime": 1501449342, - "db_size": 2442819 - }, - { - "name": "Mocha", - "slug": "mocha", - "type": "mocha", - "links": { - "home": "https://mochajs.org/", - "code": "https://github.com/mochajs/mocha" - }, - "release": "5.0.1", - "mtime": 1519573130, - "db_size": 1021241 - }, - { - "name": "Modernizr", - "slug": "modernizr", - "type": "modernizr", - "release": "3.5.0", - "mtime": 1492958610, - "db_size": 78016 - }, - { - "name": "Moment.js", - "slug": "moment", - "type": "moment", - "links": { - "home": "http://momentjs.com/", - "code": "https://github.com/moment/moment/" - }, - "release": "2.22.1", - "mtime": 1524924889, - "db_size": 296058 - }, - { - "name": "Mongoose", - "slug": "mongoose", - "type": "mongoose", - "links": { - "home": "http://mongoosejs.com/", - "code": "https://github.com/Automattic/mongoose" - }, - "release": "4.13.1", - "mtime": 1510332286, - "db_size": 703709 - }, - { - "name": "nginx", - "slug": "nginx", - "type": "nginx", - "links": { - "home": "https://nginx.org/", - "code": "http://hg.nginx.org/nginx" - }, - "release": "1.15.0", - "mtime": 1528679658, - "db_size": 1459960 - }, - { - "name": "nginx / Lua Module", - "slug": "nginx_lua_module", - "type": "github", - "release": "0.10.13", - "mtime": 1524925129, - "db_size": 431075 - }, - { - "name": "Nim", - "slug": "nim", - "type": "nim", - "links": { - "home": "https://nim-lang.org/", - "code": "https://github.com/nim-lang/Nim" - }, - "release": "0.18.0", - "mtime": 1521386382, - "db_size": 2759321 - }, - { - "name": "Node.js", - "slug": "node", - "type": "node", - "links": { - "home": "https://nodejs.org/", - "code": "https://github.com/nodejs/node" - }, - "version": "", - "release": "10.9.0", - "mtime": 1534715044, - "db_size": 2700544 - }, - { - "name": "Nokogiri", - "slug": "nokogiri", - "type": "rdoc", - "release": "1.8.1", - "mtime": 1507477019, - "db_size": 500307 - }, - { - "name": "npm", - "slug": "npm", - "type": "npm", - "links": { - "home": "https://www.npmjs.com/", - "code": "https://github.com/npm/npm" - }, - "release": "6.4.0", - "mtime": 1534716051, - "db_size": 1857027 - }, - { - "name": "NumPy", - "slug": "numpy~1.14", - "type": "sphinx", - "links": { - "home": "http://www.numpy.org/", - "code": "https://github.com/numpy/numpy" - }, - "version": "1.14", - "release": "1.14.2", - "mtime": 1524925556, - "db_size": 12950488 - }, - { - "name": "NumPy", - "slug": "numpy~1.13", - "type": "sphinx", - "links": { - "home": "http://www.numpy.org/", - "code": "https://github.com/numpy/numpy" - }, - "version": "1.13", - "release": "1.13.0", - "mtime": 1498401762, - "db_size": 6106757 - }, - { - "name": "NumPy", - "slug": "numpy~1.12", - "type": "sphinx", - "links": { - "home": "http://www.numpy.org/", - "code": "https://github.com/numpy/numpy" - }, - "version": "1.12", - "release": "1.12.0", - "mtime": 1498401838, - "db_size": 5936289 - }, - { - "name": "NumPy", - "slug": "numpy~1.11", - "type": "sphinx", - "links": { - "home": "http://www.numpy.org/", - "code": "https://github.com/numpy/numpy" - }, - "version": "1.11", - "release": "1.11.0", - "mtime": 1467583174, - "db_size": 5869485 - }, - { - "name": "NumPy", - "slug": "numpy~1.10", - "type": "sphinx", - "links": { - "home": "http://www.numpy.org/", - "code": "https://github.com/numpy/numpy" - }, - "version": "1.10", - "release": "1.10.4", - "mtime": 1467583024, - "db_size": 5821391 - }, - { - "name": "OpenJDK", - "slug": "openjdk~8", - "type": "openjdk", - "version": "8", - "release": "8", - "mtime": 1493584121, - "db_size": 24834497 - }, - { - "name": "OpenTSDB", - "slug": "opentsdb", - "type": "sphinx_simple", - "links": { - "home": "http://opentsdb.net/", - "code": "https://github.com/OpenTSDB/opentsdb" - }, - "release": "2.3.0", - "mtime": 1483389649, - "db_size": 889359 - }, - { - "name": "Padrino", - "slug": "padrino", - "type": "rubydoc", - "links": { - "home": "http://padrinorb.com/", - "code": "https://github.com/padrino/padrino-framework" - }, - "release": "0.14.1", - "mtime": 1509291624, - "db_size": 868484 - }, - { - "name": "pandas", - "slug": "pandas~0.22", - "type": "sphinx", - "links": { - "home": "http://pandas.pydata.org/", - "code": "https://github.com/pydata/pandas" - }, - "version": "0.22", - "release": "0.22.0", - "mtime": 1515368658, - "db_size": 4723621 - }, - { - "name": "pandas", - "slug": "pandas~0.21", - "type": "sphinx", - "links": { - "home": "http://pandas.pydata.org/", - "code": "https://github.com/pydata/pandas" - }, - "version": "0.21", - "release": "0.21.0", - "mtime": 1509302634, - "db_size": 4704212 - }, - { - "name": "pandas", - "slug": "pandas~0.20", - "type": "sphinx", - "links": { - "home": "http://pandas.pydata.org/", - "code": "https://github.com/pydata/pandas" - }, - "version": "0.20", - "release": "0.20.3", - "mtime": 1509302472, - "db_size": 4289994 - }, - { - "name": "pandas", - "slug": "pandas~0.19", - "type": "sphinx", - "links": { - "home": "http://pandas.pydata.org/", - "code": "https://github.com/pydata/pandas" - }, - "version": "0.19", - "release": "0.19.2", - "mtime": 1498402457, - "db_size": 5574756 - }, - { - "name": "pandas", - "slug": "pandas~0.18", - "type": "sphinx", - "links": { - "home": "http://pandas.pydata.org/", - "code": "https://github.com/pydata/pandas" - }, - "version": "0.18", - "release": "0.18.1", - "mtime": 1476112392, - "db_size": 5310831 - }, - { - "name": "Perl", - "slug": "perl~5.26", - "type": "perl", - "links": { - "home": "https://www.perl.org/" - }, - "version": "5.26", - "release": "5.26.0", - "mtime": 1500742523, - "db_size": 14046450 - }, - { - "name": "Perl", - "slug": "perl~5.24", - "type": "perl", - "links": { - "home": "https://www.perl.org/" - }, - "version": "5.24", - "release": "5.24.0", - "mtime": 1500742737, - "db_size": 14166764 - }, - { - "name": "Perl", - "slug": "perl~5.22", - "type": "perl", - "links": { - "home": "https://www.perl.org/" - }, - "version": "5.22", - "release": "5.22.0", - "mtime": 1500742852, - "db_size": 14046450 - }, - { - "name": "Perl", - "slug": "perl~5.20", - "type": "perl", - "links": { - "home": "https://www.perl.org/" - }, - "version": "5.20", - "release": "5.20.2", - "mtime": 1500742940, - "db_size": 14101118 - }, - { - "name": "Phalcon", - "slug": "phalcon~3", - "type": "phalcon", - "links": { - "home": "https://phalconphp.com/", - "code": "https://github.com/phalcon/cphalcon/" - }, - "version": "3", - "release": "3.1.1", - "mtime": 1495471186, - "db_size": 3296452 - }, - { - "name": "Phalcon", - "slug": "phalcon~2", - "type": "phalcon", - "links": { - "home": "https://phalconphp.com/", - "code": "https://github.com/phalcon/cphalcon/" - }, - "version": "2", - "release": "2.0.13", - "mtime": 1475334683, - "db_size": 2714996 - }, - { - "name": "Phaser", - "slug": "phaser", - "type": "phaser", - "links": { - "home": "http://phaser.io/", - "code": "https://github.com/photonstorm/phaser" - }, - "release": "2.6.2", - "mtime": 1472404795, - "db_size": 6877092 - }, - { - "name": "Phoenix", - "slug": "phoenix", - "type": "elixir", - "links": { - "home": "http://www.phoenixframework.org", - "code": "https://github.com/phoenixframework/phoenix" - }, - "release": "1.3.2", - "mtime": 1524925642, - "db_size": 1756845 - }, - { - "name": "PHP", - "slug": "php", - "type": "php", - "links": { - "home": "https://secure.php.net/", - "code": "https://git.php.net/?p=php-src.git;a=summary" - }, - "release": "7.2.9", - "mtime": 1534715914, - "db_size": 24177350 - }, - { - "name": "PHPUnit", - "slug": "phpunit~6", - "type": "phpunit", - "links": { - "home": "https://phpunit.de/", - "code": "https://github.com/sebastianbergmann/phpunit" - }, - "version": "6", - "release": "6.5", - "mtime": 1515368674, - "db_size": 394690 - }, - { - "name": "PHPUnit", - "slug": "phpunit~5", - "type": "phpunit", - "links": { - "home": "https://phpunit.de/", - "code": "https://github.com/sebastianbergmann/phpunit" - }, - "version": "5", - "release": "5.7", - "mtime": 1483389936, - "db_size": 393964 - }, - { - "name": "PHPUnit", - "slug": "phpunit~4", - "type": "phpunit", - "links": { - "home": "https://phpunit.de/", - "code": "https://github.com/sebastianbergmann/phpunit" - }, - "version": "4", - "release": "4.8", - "mtime": 1469313483, - "db_size": 413036 - }, - { - "name": "PostgreSQL", - "slug": "postgresql~10", - "type": "postgres", - "links": { - "home": "https://www.postgresql.org/", - "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" - }, - "version": "10", - "release": "10.3", - "mtime": 1524925881, - "db_size": 6483378 - }, - { - "name": "PostgreSQL", - "slug": "postgresql~9.6", - "type": "postgres", - "links": { - "home": "https://www.postgresql.org/", - "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" - }, - "version": "9.6", - "release": "9.6.6", - "mtime": 1510331640, - "db_size": 5816975 - }, - { - "name": "PostgreSQL", - "slug": "postgresql~9.5", - "type": "postgres", - "links": { - "home": "https://www.postgresql.org/", - "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" - }, - "version": "9.5", - "release": "9.5.10", - "mtime": 1510331714, - "db_size": 5569465 - }, - { - "name": "PostgreSQL", - "slug": "postgresql~9.4", - "type": "postgres", - "links": { - "home": "https://www.postgresql.org/", - "code": "https://git.postgresql.org/gitweb/?p=postgresql.git" - }, - "version": "9.4", - "release": "9.4.15", - "mtime": 1510331828, - "db_size": 5212360 - }, - { - "name": "Pug", - "slug": "pug", - "type": "pug", - "links": { - "home": "https://pugjs.org/", - "code": "https://github.com/pugjs/pug" - }, - "release": "2.0.3", - "mtime": 1521915454, - "db_size": 78298 - }, - { - "name": "Pygame", - "slug": "pygame", - "type": "simple", - "links": { - "home": "https://www.pygame.org/", - "code": "https://github.com/pygame/pygame" - }, - "release": "1.9.4", - "mtime": 1532898876, - "db_size": 639168 - }, - { - "name": "Python", - "slug": "python~3.7", - "type": "python", - "links": { - "home": "https://www.python.org/", - "code": "https://github.com/python/cpython" - }, - "version": "3.7", - "release": "3.7.0", - "mtime": 1531081977, - "db_size": 8368646 - }, - { - "name": "Python", - "slug": "python~3.6", - "type": "python", - "links": { - "home": "https://www.python.org/", - "code": "https://github.com/python/cpython" - }, - "version": "3.6", - "release": "3.6.4", - "mtime": 1531081883, - "db_size": 8040080 - }, - { - "name": "Python", - "slug": "python~3.5", - "type": "sphinx", - "links": { - "home": "https://www.python.org/", - "code": "https://github.com/python/cpython" - }, - "version": "3.5", - "release": "3.5.3", - "mtime": 1490460934, - "db_size": 7678626 - }, - { - "name": "Python", - "slug": "python~2.7", - "type": "sphinx", - "links": { - "home": "https://www.python.org/", - "code": "https://github.com/python/cpython" - }, - "version": "2.7", - "release": "2.7.13", - "mtime": 1490461005, - "db_size": 6466541 - }, - { - "name": "Q", - "slug": "q", - "type": "github", - "links": { - "home": "http://documentup.com/kriskowal/q/", - "code": "https://github.com/kriskowal/q" - }, - "release": "1.5.1", - "mtime": 1509302829, - "db_size": 29687 - }, - { - "name": "Qt", - "slug": "qt~5.11", - "type": "qt", - "links": { - "home": "https://www.qt.io", - "code": "https://code.qt.io/cgit/" - }, - "version": "5.11", - "release": "5.11", - "mtime": 1534110745, - "db_size": 78116282 - }, - { - "name": "Qt", - "slug": "qt~5.9", - "type": "qt", - "links": { - "home": "https://www.qt.io", - "code": "https://code.qt.io/cgit/" - }, - "version": "5.9", - "release": "5.9", - "mtime": 1534111533, - "db_size": 75280911 - }, - { - "name": "Qt", - "slug": "qt~5.6", - "type": "qt", - "links": { - "home": "https://www.qt.io", - "code": "https://code.qt.io/cgit/" - }, - "version": "5.6", - "release": "5.6", - "mtime": 1534112349, - "db_size": 65762439 - }, - { - "name": "Ramda", - "slug": "ramda", - "type": "ramda", - "links": { - "home": "http://ramdajs.com/", - "code": "https://github.com/ramda/ramda/" - }, - "release": "0.25.0", - "mtime": 1509302864, - "db_size": 271964 - }, - { - "name": "React", - "slug": "react", - "type": "simple", - "links": { - "home": "https://reactjs.org/", - "code": "https://github.com/facebook/react" - }, - "release": "16.4.0", - "mtime": 1528679925, - "db_size": 828139 - }, - { - "name": "ReactNative", - "slug": "react_native", - "type": "react_native", - "links": { - "home": "https://facebook.github.io/react-native/", - "code": "https://github.com/facebook/react-native" - }, - "release": "0.56", - "mtime": 1531082387, - "db_size": 3711481 - }, - { - "name": "Redis", - "slug": "redis", - "type": "redis", - "links": { - "home": "https://redis.io/", - "code": "https://github.com/antirez/redis" - }, - "release": "4.0.11", - "mtime": 1534716669, - "db_size": 699826 - }, - { - "name": "Redux", - "slug": "redux", - "type": "redux", - "links": { - "home": "http://redux.js.org/", - "code": "https://github.com/reactjs/redux/" - }, - "release": "3.7.2", - "mtime": 1503762495, - "db_size": 841649 - }, - { - "name": "Relay", - "slug": "relay", - "type": "simple", - "links": { - "home": "https://facebook.github.io/relay/", - "code": "https://github.com/facebook/relay" - }, - "release": "1.4.1", - "mtime": 1507560082, - "db_size": 434956 - }, - { - "name": "RequireJS", - "slug": "requirejs", - "type": "requirejs", - "links": { - "home": "http://requirejs.org/", - "code": "https://github.com/requirejs/requirejs" - }, - "release": "2.3.5", - "mtime": 1503762537, - "db_size": 189153 - }, - { - "name": "RethinkDB", - "slug": "rethinkdb~javascript", - "type": "rethinkdb", - "links": { - "home": "https://rethinkdb.com/", - "code": "https://github.com/rethinkdb/rethinkdb" - }, - "version": "JavaScript", - "release": "2.3.5", - "mtime": 1472417557, - "db_size": 1361322 - }, - { - "name": "RethinkDB", - "slug": "rethinkdb~ruby", - "type": "rethinkdb", - "links": { - "home": "https://rethinkdb.com/", - "code": "https://github.com/rethinkdb/rethinkdb" - }, - "version": "Ruby", - "release": "2.3.5", - "mtime": 1472417579, - "db_size": 1320925 - }, - { - "name": "RethinkDB", - "slug": "rethinkdb~python", - "type": "rethinkdb", - "links": { - "home": "https://rethinkdb.com/", - "code": "https://github.com/rethinkdb/rethinkdb" - }, - "version": "Python", - "release": "2.3.5", - "mtime": 1472417602, - "db_size": 1326675 - }, - { - "name": "RethinkDB", - "slug": "rethinkdb~java", - "type": "rethinkdb", - "links": { - "home": "https://rethinkdb.com/", - "code": "https://github.com/rethinkdb/rethinkdb" - }, - "version": "Java", - "release": "2.3.5", - "mtime": 1472417625, - "db_size": 1320429 - }, - { - "name": "Ruby", - "slug": "ruby~2.5", - "type": "rdoc", - "links": { - "home": "https://www.ruby-lang.org/", - "code": "https://github.com/ruby/ruby" - }, - "version": "2.5", - "release": "2.5.0", - "mtime": 1515953941, - "db_size": 7872220 - }, - { - "name": "Ruby", - "slug": "ruby~2.4", - "type": "rdoc", - "links": { - "home": "https://www.ruby-lang.org/", - "code": "https://github.com/ruby/ruby" - }, - "version": "2.4", - "release": "2.4.3", - "mtime": 1515953784, - "db_size": 7680468 - }, - { - "name": "Ruby", - "slug": "ruby~2.3", - "type": "rdoc", - "links": { - "home": "https://www.ruby-lang.org/", - "code": "https://github.com/ruby/ruby" - }, - "version": "2.3", - "release": "2.3.6", - "mtime": 1515953288, - "db_size": 7522249 - }, - { - "name": "Ruby", - "slug": "ruby~2.2", - "type": "rdoc", - "links": { - "home": "https://www.ruby-lang.org/", - "code": "https://github.com/ruby/ruby" - }, - "version": "2.2", - "release": "2.2.9", - "mtime": 1515953093, - "db_size": 7527824 - }, - { - "name": "Ruby / Minitest", - "slug": "minitest", - "type": "rdoc", - "links": { - "code": "https://github.com/seattlerb/minitest" - }, - "release": "5.10.3", - "mtime": 1507477106, - "db_size": 194631 - }, - { - "name": "Ruby on Rails", - "slug": "rails~5.2", - "type": "rdoc", - "links": { - "home": "http://rubyonrails.org/", - "code": "https://github.com/rails/rails" - }, - "version": "5.2", - "release": "5.2.0", - "mtime": 1524927355, - "db_size": 6670803 - }, - { - "name": "Ruby on Rails", - "slug": "rails~5.1", - "type": "rdoc", - "links": { - "home": "http://rubyonrails.org/", - "code": "https://github.com/rails/rails" - }, - "version": "5.1", - "release": "5.1.6", - "mtime": 1524927281, - "db_size": 6229701 - }, - { - "name": "Ruby on Rails", - "slug": "rails~5.0", - "type": "rdoc", - "links": { - "home": "http://rubyonrails.org/", - "code": "https://github.com/rails/rails" - }, - "version": "5.0", - "release": "5.0.7", - "mtime": 1524927215, - "db_size": 6152345 - }, - { - "name": "Ruby on Rails", - "slug": "rails~4.2", - "type": "rdoc", - "links": { - "home": "http://rubyonrails.org/", - "code": "https://github.com/rails/rails" - }, - "version": "4.2", - "release": "4.2.10", - "mtime": 1507476395, - "db_size": 5525311 - }, - { - "name": "Ruby on Rails", - "slug": "rails~4.1", - "type": "rdoc", - "links": { - "home": "http://rubyonrails.org/", - "code": "https://github.com/rails/rails" - }, - "version": "4.1", - "release": "4.1.16", - "mtime": 1483393875, - "db_size": 3792537 - }, - { - "name": "Rust", - "slug": "rust", - "type": "rust", - "links": { - "home": "https://www.rust-lang.org/", - "code": "https://github.com/rust-lang/rust" - }, - "release": "1.28.0", - "mtime": 1534718413, - "db_size": 62075516 - }, - { - "name": "Sass", - "slug": "sass", - "type": "yard", - "links": { - "home": "http://sass-lang.com/", - "code": "https://github.com/sass/sass" - }, - "release": "3.5.3", - "mtime": 1509303125, - "db_size": 205046 - }, - { - "name": "scikit-image", - "slug": "scikit_image", - "type": "sphinx", - "links": { - "home": "http://scikit-image.org/", - "code": "https://github.com/scikit-image/scikit-image" - }, - "release": "0.13.1", - "mtime": 1509303151, - "db_size": 2167707 - }, - { - "name": "scikit-learn", - "slug": "scikit_learn", - "type": "sphinx", - "links": { - "home": "http://scikit-learn.org/", - "code": "https://github.com/scikit-learn/scikit-learn" - }, - "release": "0.19.1", - "mtime": 1509303678, - "db_size": 47201336 - }, - { - "name": "Sinon.JS", - "slug": "sinon~6", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "6", - "release": "6.1.3", - "mtime": 1531082038, - "db_size": 114130 - }, - { - "name": "Sinon.JS", - "slug": "sinon~5", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "5", - "release": "5.1.0", - "mtime": 1528680045, - "db_size": 112874 - }, - { - "name": "Sinon.JS", - "slug": "sinon~4", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "4", - "release": "4.5.0", - "mtime": 1524927542, - "db_size": 104021 - }, - { - "name": "Sinon.JS", - "slug": "sinon~3", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "3", - "release": "3.3.0", - "mtime": 1506272828, - "db_size": 105244 - }, - { - "name": "Sinon.JS", - "slug": "sinon~2", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "2", - "release": "2.4.1", - "mtime": 1506272828, - "db_size": 96240 - }, - { - "name": "Sinon.JS", - "slug": "sinon~1", - "type": "sinon", - "links": { - "home": "http://sinonjs.org/", - "code": "https://github.com/sinonjs/sinon" - }, - "version": "1", - "release": "1.17.7", - "mtime": 1506272829, - "db_size": 83926 - }, - { - "name": "Socket.IO", - "slug": "socketio", - "type": "socketio", - "links": { - "home": "http://socket.io/", - "code": "https://github.com/socketio/socket.io" - }, - "release": "1.4.5", - "mtime": 1461429367, - "db_size": 44110 - }, - { - "name": "SQLite", - "slug": "sqlite", - "type": "sqlite", - "links": { - "home": "https://sqlite.org/", - "code": "https://www.sqlite.org/src/" - }, - "release": "3.23.1", - "mtime": 1524927687, - "db_size": 11943288 - }, - { - "name": "Statsmodels", - "slug": "statsmodels", - "type": "sphinx", - "links": { - "home": "http://www.statsmodels.org/", - "code": "https://github.com/statsmodels/statsmodels/" - }, - "release": "0.8.0", - "mtime": 1495472273, - "db_size": 13455712 - }, - { - "name": "Support Tables", - "slug": "browser_support_tables", - "type": "support_tables", - "mtime": 1534719074, - "db_size": 29022916 - }, - { - "name": "SVG", - "slug": "svg", - "type": "mdn", - "mtime": 1531081456, - "db_size": 2477035 - }, - { - "name": "Symfony", - "slug": "symfony~4.0", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "4.0", - "release": "4.0.3", - "mtime": 1515369903, - "db_size": 14182389 - }, - { - "name": "Symfony", - "slug": "symfony~3.4", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "3.4", - "release": "3.4.3", - "mtime": 1515369763, - "db_size": 14949752 - }, - { - "name": "Symfony", - "slug": "symfony~3.3", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "3.3", - "release": "3.3.15", - "mtime": 1515369628, - "db_size": 14066834 - }, - { - "name": "Symfony", - "slug": "symfony~3.2", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "3.2", - "release": "3.2.13", - "mtime": 1509304300, - "db_size": 13318281 - }, - { - "name": "Symfony", - "slug": "symfony~3.1", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "3.1", - "release": "3.1.8", - "mtime": 1509304394, - "db_size": 12851145 - }, - { - "name": "Symfony", - "slug": "symfony~3.0", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "3.0", - "release": "3.0.1", - "mtime": 1509304485, - "db_size": 12691338 - }, - { - "name": "Symfony", - "slug": "symfony~2.8", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "2.8", - "release": "2.8.28", - "mtime": 1509304582, - "db_size": 13046428 - }, - { - "name": "Symfony", - "slug": "symfony~2.7", - "type": "laravel", - "links": { - "home": "https://symfony.com/", - "code": "https://github.com/symfony/symfony" - }, - "version": "2.7", - "release": "2.7.35", - "mtime": 1509304675, - "db_size": 12438508 - }, - { - "name": "Tcl/Tk", - "slug": "tcl_tk", - "type": "tcl_tk", - "release": "8.6.6", - "mtime": 1471816808, - "db_size": 3268853 - }, - { - "name": "TensorFlow", - "slug": "tensorflow~python", - "type": "tensorflow", - "links": { - "home": "https://www.tensorflow.org/", - "code": "https://github.com/tensorflow/tensorflow" - }, - "version": "Python", - "release": "1.8", - "mtime": 1526243985, - "db_size": 16040756 - }, - { - "name": "TensorFlow", - "slug": "tensorflow~cpp", - "type": "tensorflow", - "links": { - "home": "https://www.tensorflow.org/", - "code": "https://github.com/tensorflow/tensorflow" - }, - "version": "C++", - "release": "1.8", - "mtime": 1526244330, - "db_size": 4558634 - }, - { - "name": "TensorFlow", - "slug": "tensorflow~guide", - "type": "tensorflow", - "links": { - "home": "https://www.tensorflow.org/", - "code": "https://github.com/tensorflow/tensorflow" - }, - "version": "Guide", - "release": "1.8", - "mtime": 1526244405, - "db_size": 10841303 - }, - { - "name": "Terraform", - "slug": "terraform", - "type": "terraform", - "links": { - "home": "https://www.terraform.io/", - "code": "https://github.com/hashicorp/terraform" - }, - "release": "0.11.7", - "mtime": 1531085140, - "db_size": 8289722 - }, - { - "name": "Twig", - "slug": "twig~2", - "type": "sphinx", - "links": { - "home": "https://twig.sensiolabs.org/", - "code": "https://github.com/twigphp/Twig" - }, - "version": "2", - "release": "2.4.3", - "mtime": 1498404313, - "db_size": 313095 - }, - { - "name": "Twig", - "slug": "twig~1", - "type": "sphinx", - "links": { - "home": "https://twig.sensiolabs.org/", - "code": "https://github.com/twigphp/Twig" - }, - "version": "1", - "release": "1.34.3", - "mtime": 1498404317, - "db_size": 337425 - }, - { - "name": "TypeScript", - "slug": "typescript", - "type": "typescript", - "links": { - "home": "https://www.typescriptlang.org", - "code": "https://github.com/Microsoft/TypeScript" - }, - "release": "3.0.1", - "mtime": 1534716438, - "db_size": 1346824 - }, - { - "name": "Underscore.js", - "slug": "underscore", - "type": "underscore", - "links": { - "home": "http://underscorejs.org", - "code": "https://github.com/jashkenas/underscore" - }, - "release": "1.9.0", - "mtime": 1524927817, - "db_size": 61716 - }, - { - "name": "Vagrant", - "slug": "vagrant", - "type": "vagrant", - "links": { - "home": "https://www.vagrantup.com/", - "code": "https://github.com/mitchellh/vagrant" - }, - "release": "2.1.1", - "mtime": 1526257745, - "db_size": 585392 - }, - { - "name": "Vue.js", - "slug": "vue~2", - "type": "vue", - "links": { - "home": "https://vuejs.org/", - "code": "https://github.com/vuejs/vue" - }, - "version": "2", - "release": "2.5.16", - "mtime": 1524927908, - "db_size": 834509 - }, - { - "name": "Vue.js", - "slug": "vue~1", - "type": "vue", - "links": { - "home": "https://vuejs.org/", - "code": "https://github.com/vuejs/vue" - }, - "version": "1", - "release": "1.0.28", - "mtime": 1491756620, - "db_size": 272329 - }, - { - "name": "Vulkan", - "slug": "vulkan", - "type": "vulkan", - "links": { - "home": "https://www.khronos.org/vulkan/" - }, - "release": "1.0.59", - "mtime": 1504468140, - "db_size": 1797883 - }, - { - "name": "webpack", - "slug": "webpack", - "type": "webpack", - "links": { - "home": "https://webpack.js.org/", - "code": "https://github.com/webpack/webpack" - }, - "version": "", - "release": "4.16.5", - "mtime": 1534716785, - "db_size": 3702481 - }, - { - "name": "webpack", - "slug": "webpack~1", - "type": "webpack", - "links": { - "home": "https://webpack.github.io/", - "code": "https://github.com/webpack/webpack/tree/webpack-1" - }, - "version": "1", - "release": "1.15.0", - "mtime": 1506273002, - "db_size": 848140 - }, - { - "name": "XSLT & XPath", - "slug": "xslt_xpath", - "type": "mdn", - "mtime": 1506194497, - "db_size": 212683 - }, - { - "name": "Yarn", - "slug": "yarn", - "type": "yarn", - "links": { - "home": "https://yarnpkg.com/", - "code": "https://github.com/yarnpkg/yarn" - }, - "release": "1.9.4", - "mtime": 1534716479, - "db_size": 200474 - }, - { - "name": "Yii", - "slug": "yii~2.0", - "type": "yii", - "links": { - "home": "http://www.yiiframework.com/", - "code": "https://github.com/yiisoft/yii2" - }, - "version": "2.0", - "release": "2.0.12", - "mtime": 1498404939, - "db_size": 15399034 - } -] \ No newline at end of file +[] \ No newline at end of file From 2a5f1a00466807e883ca2c01d244748f07d9636e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 17 Sep 2018 19:42:04 +0200 Subject: [PATCH 0017/2822] Refactoring --- assets/stylesheets/global/_icons.scss.erb | 8 +-- lib/tasks/sprites.thor | 84 +++++++++++------------ 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/assets/stylesheets/global/_icons.scss.erb b/assets/stylesheets/global/_icons.scss.erb index 555b526ad0..bfc852f481 100644 --- a/assets/stylesheets/global/_icons.scss.erb +++ b/assets/stylesheets/global/_icons.scss.erb @@ -32,11 +32,11 @@ <%= items = [] - manifest['icons'].each do |icon| + manifest['items'].each do |item| rules = [] - rules << "background-position: -#{icon['col']}rem -#{icon['row']}rem;" - rules << "@extend %darkIconFix !optional;" if icon['dark_icon_fix'] - items << "._icon-#{icon['type']}:before { #{rules.join(' ')} }" + rules << "background-position: -#{item['col']}rem -#{item['row']}rem;" + rules << "@extend %darkIconFix !optional;" if item['dark_icon_fix'] + items << "._icon-#{item['type']}:before { #{rules.join(' ')} }" end items.join('') diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index 01cbcf220e..251a932702 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -21,26 +21,26 @@ class SpritesCLI < Thor bg_color = get_sidebar_background items_with_icons.each_with_index do |item, index| - if item[:has_icons] - item[:row] = (index / icons_per_row).floor - item[:col] = index - item[:row] * icons_per_row + item[:row] = (index / icons_per_row).floor + item[:col] = index - item[:row] * icons_per_row - item[:icon_16] = get_icon(item[:path_16], 16) - item[:icon_32] = get_icon(item[:path_32], 32) + item[:icon_16] = get_icon(item[:path_16], 16) + item[:icon_32] = get_icon(item[:path_32], 32) - item[:dark_icon_fix] = needs_dark_icon_fix(item[:icon_32], bg_color) - end + item[:dark_icon_fix] = needs_dark_icon_fix(item[:icon_32], bg_color) end + log_details(items_with_icons, icons_per_row) + generate_spritesheet(16, items_with_icons, 'assets/images/sprites/docs.png') {|item| item[:icon_16]} generate_spritesheet(32, items_with_icons, 'assets/images/sprites/docs@2x.png') {|item| item[:icon_32]} # Add Mongoose's icon details to docs without custom icons - template_item = items_with_icons.find {|item| item[:type] == 'mongoose'} + default_item = items_with_icons.find {|item| item[:type] == 'mongoose'} items_without_icons.each do |item| - item[:row] = template_item[:row] - item[:col] = template_item[:col] - item[:dark_icon_fix] = template_item[:dark_icon_fix] + item[:row] = default_item[:row] + item[:col] = default_item[:col] + item[:dark_icon_fix] = default_item[:dark_icon_fix] end save_manifest(items, icons_per_row, 'assets/images/sprites/docs.json') @@ -60,9 +60,9 @@ class SpritesCLI < Thor # Checking paths against an array of possible paths is faster than 200+ File.exist? calls files = Dir.glob('public/icons/docs/**/*.png') - items.map do |item| + + items.each do |item| item[:has_icons] = files.include?(item[:path_16]) && files.include?(item[:path_32]) - item end end @@ -111,79 +111,79 @@ class SpritesCLI < Thor end def get_luminance(color) - rgba = [ + rgb = [ ChunkyPNG::Color.r(color).to_f, ChunkyPNG::Color.g(color).to_f, - ChunkyPNG::Color.b(color).to_f, - ChunkyPNG::Color.a(color).to_f + ChunkyPNG::Color.b(color).to_f ] - rgba.map! do |rgb| - rgb /= 255 - rgb < 0.03928 ? rgb / 12.92 : ((rgb + 0.055) / 1.055) ** 2.4 + rgb.map! do |value| + value /= 255 + value < 0.03928 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4 end - 0.2126 * rgba[0] + 0.7152 * rgba[1] + 0.0722 * rgba[2] + 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2] end - def generate_spritesheet(size, icons, output_path, &icon_to_img) + def generate_spritesheet(size, items_with_icons, output_path, &item_to_icon) logger.info("Generating spritesheet #{output_path} with icons of size #{size} x #{size}") - icons_per_row = Math.sqrt(icons.length).ceil + icons_per_row = Math.sqrt(items_with_icons.length).ceil spritesheet = ChunkyPNG::Image.new(size * icons_per_row, size * icons_per_row) - icons.each do |icon| - img = icon_to_img.call(icon) + items_with_icons.each do |item| + icon = item_to_icon.call(item) # Calculate the base coordinates - base_x = icon[:col] * size - base_y = icon[:row] * size + base_x = item[:col] * size + base_y = item[:row] * size # Center the icon if it's not a perfect rectangle - x = base_x + ((size - img.width) / 2).floor - y = base_y + ((size - img.height) / 2).floor + x = base_x + ((size - icon.width) / 2).floor + y = base_y + ((size - icon.height) / 2).floor - spritesheet.compose!(img, x, y) + spritesheet.compose!(icon, x, y) end FileUtils.mkdir_p(File.dirname(output_path)) spritesheet.save(output_path) end - def save_manifest(icons, icons_per_row, path) + def save_manifest(items, icons_per_row, path) logger.info("Saving spritesheet details to #{path}") FileUtils.mkdir_p(File.dirname(path)) # Only save the details that the scss file needs - manifest_icons = icons.map do |icon| + manifest_items = items.map do |item| { - :type => icon[:type], - :row => icon[:row], - :col => icon[:col], - :dark_icon_fix => icon[:dark_icon_fix] + :type => item[:type], + :row => item[:row], + :col => item[:col], + :dark_icon_fix => item[:dark_icon_fix] } end - manifest = {:icons_per_row => icons_per_row, :icons => manifest_icons} + manifest = {:icons_per_row => icons_per_row, :items => manifest_items} File.open(path, 'w') do |f| f.write(JSON.generate(manifest)) end end - def log_details(icons, icons_per_row) - logger.debug("Amount of icons: #{icons.length}") + def log_details(items_with_icons, icons_per_row) + logger.debug("Amount of icons: #{items_with_icons.length}") logger.debug("Icons per row: #{icons_per_row}") - max_type_length = icons.map { |icon| icon[:type].length }.max + max_type_length = items_with_icons.map {|item| item[:type].length}.max border = "+#{'-' * (max_type_length + 2)}+#{'-' * 5}+#{'-' * 8}+#{'-' * 15}+" + logger.debug(border) logger.debug("| #{'Type'.ljust(max_type_length)} | Row | Column | Dark icon fix |") logger.debug(border) - icons.each do |icon| - logger.debug("| #{icon[:type].ljust(max_type_length)} | #{icon[:row].to_s.ljust(3)} | #{icon[:col].to_s.ljust(6)} | #{(icon[:dark_icon_fix] ? 'Yes' : 'No').ljust(13)} |") + items_with_icons.each do |item| + logger.debug("| #{item[:type].ljust(max_type_length)} | #{item[:row].to_s.ljust(3)} | #{item[:col].to_s.ljust(6)} | #{(item[:dark_icon_fix] ? 'Yes' : 'No').ljust(13)} |") end logger.debug(border) @@ -192,7 +192,7 @@ class SpritesCLI < Thor def logger @logger ||= Logger.new($stdout).tap do |logger| logger.level = options[:verbose] ? Logger::DEBUG : Logger::INFO - logger.formatter = proc { |severity, datetime, progname, msg| "#{msg}\n" } + logger.formatter = proc {|severity, datetime, progname, msg| "#{msg}\n"} end end end From 9551fbc29e5e0a6d0bd9e47441036c227cbc38e6 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 17 Sep 2018 20:05:47 +0200 Subject: [PATCH 0018/2822] Improve dark icon fix detection --- lib/tasks/sprites.thor | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index 251a932702..64dd82b46b 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -95,12 +95,13 @@ class SpritesCLI < Thor def needs_dark_icon_fix(icon, bg_color) # Determine whether the icon needs to be grayscaled if the user has enabled the dark theme - # The logic comes from https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast - contrast = icon.pixels.map do |pixel| + # The logic is roughly based on https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast + contrast = icon.pixels.select {|pixel| ChunkyPNG::Color.a(pixel) > 0}.map do |pixel| get_contrast(bg_color, pixel) end - contrast.max < 7 + avg = contrast.reduce(:+) / contrast.size.to_f + avg < 3.5 end def get_contrast(base, other) @@ -173,7 +174,8 @@ class SpritesCLI < Thor def log_details(items_with_icons, icons_per_row) logger.debug("Amount of icons: #{items_with_icons.length}") - logger.debug("Icons per row: #{icons_per_row}") + logger.debug("Amount of icons needing the dark icon fix: #{items_with_icons.count {|item| item[:dark_icon_fix]}}") + logger.debug("Amount of icons per row: #{icons_per_row}") max_type_length = items_with_icons.map {|item| item[:type].length}.max border = "+#{'-' * (max_type_length + 2)}+#{'-' * 5}+#{'-' * 8}+#{'-' * 15}+" From 9d60cc80f5cf0cc67b5153fe2a28dd217c47c43e Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Tue, 25 Sep 2018 22:29:26 -0400 Subject: [PATCH 0019/2822] Add basic scraper and friends that doesn't blow up --- lib/docs/filters/salt_stack/clean_html.rb | 9 +++++++++ lib/docs/filters/salt_stack/entries.rb | 13 +++++++++++++ lib/docs/scrapers/salt_stack.rb | 14 ++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 lib/docs/filters/salt_stack/clean_html.rb create mode 100644 lib/docs/filters/salt_stack/entries.rb create mode 100644 lib/docs/scrapers/salt_stack.rb diff --git a/lib/docs/filters/salt_stack/clean_html.rb b/lib/docs/filters/salt_stack/clean_html.rb new file mode 100644 index 0000000000..ac53a94cb5 --- /dev/null +++ b/lib/docs/filters/salt_stack/clean_html.rb @@ -0,0 +1,9 @@ +module Docs + class SaltStack + class CleanHtmlFilter < Filter + def call + doc + end + end + end +end diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb new file mode 100644 index 0000000000..dda9871dc2 --- /dev/null +++ b/lib/docs/filters/salt_stack/entries.rb @@ -0,0 +1,13 @@ +module Docs + class SaltStack + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').content + end + + def get_type + 'TODO' + end + end + end +end diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb new file mode 100644 index 0000000000..3196a18aff --- /dev/null +++ b/lib/docs/scrapers/salt_stack.rb @@ -0,0 +1,14 @@ +module Docs + class SaltStack < UrlScraper + self.release = '2018.3.2' + self.base_url = 'https://docs.saltstack.com/en/latest/ref/' + + html_filters.push 'salt_stack/entries', 'salt_stack/clean_html' + + options[:container] = '.body-content' + + options[:attribution] = <<-HTML + © 2018 SaltStack. All Rights Reserved, SaltStack Inc. + HTML + end +end From b7075dd51ac8c3c21046fbf293b744e75a19aa60 Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Tue, 25 Sep 2018 23:46:15 -0400 Subject: [PATCH 0020/2822] Implement working crawling and section building for salt --- lib/docs/filters/salt_stack/clean_html.rb | 2 ++ lib/docs/filters/salt_stack/entries.rb | 19 +++++++++++++++++-- lib/docs/scrapers/salt_stack.rb | 7 ++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/lib/docs/filters/salt_stack/clean_html.rb b/lib/docs/filters/salt_stack/clean_html.rb index ac53a94cb5..0f084519ef 100644 --- a/lib/docs/filters/salt_stack/clean_html.rb +++ b/lib/docs/filters/salt_stack/clean_html.rb @@ -2,6 +2,8 @@ module Docs class SaltStack class CleanHtmlFilter < Filter def call + css('.headerlink').remove + doc end end diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb index dda9871dc2..51bf17d2c2 100644 --- a/lib/docs/filters/salt_stack/entries.rb +++ b/lib/docs/filters/salt_stack/entries.rb @@ -1,12 +1,27 @@ module Docs class SaltStack class EntriesFilter < Docs::EntriesFilter + SALT_REF_RGX = /salt\.([^\.]+)\.([^\s]+)/ + def get_name - at_css('h1').content + header = at_css('h1').content + + ref_match = SALT_REF_RGX.match(header) + if ref_match + ns, mod = ref_match.captures + "#{ns}.#{mod}" + else + header + end end def get_type - 'TODO' + type, _ = slug.split('/', 2) + type + end + + def include_default_entry? + !subpath.end_with?('index.html') end end end diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index 3196a18aff..a4c974b25d 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -1,9 +1,14 @@ module Docs class SaltStack < UrlScraper + self.type = 'salt_stack' self.release = '2018.3.2' self.base_url = 'https://docs.saltstack.com/en/latest/ref/' - html_filters.push 'salt_stack/entries', 'salt_stack/clean_html' + html_filters.push 'salt_stack/clean_html', 'salt_stack/entries' + + options[:only_patterns] = [ + %r{[^/]+/all/} + ] options[:container] = '.body-content' From e69e15e04a0491e6ce3619d5a1af57a38e516581 Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Wed, 26 Sep 2018 00:02:35 -0400 Subject: [PATCH 0021/2822] Add salt links --- lib/docs/scrapers/salt_stack.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index a4c974b25d..90df1767ef 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -3,6 +3,10 @@ class SaltStack < UrlScraper self.type = 'salt_stack' self.release = '2018.3.2' self.base_url = 'https://docs.saltstack.com/en/latest/ref/' + self.links = { + home: 'https://www.saltstack.com/', + code: 'https://github.com/saltstack/salt' + } html_filters.push 'salt_stack/clean_html', 'salt_stack/entries' From 55023390c1b771730080f1cab0e8ed592d87f7cf Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Wed, 26 Sep 2018 00:20:43 -0400 Subject: [PATCH 0022/2822] Include indexes in docs --- lib/docs/filters/salt_stack/entries.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb index 51bf17d2c2..ff49a8f7cc 100644 --- a/lib/docs/filters/salt_stack/entries.rb +++ b/lib/docs/filters/salt_stack/entries.rb @@ -19,10 +19,6 @@ def get_type type, _ = slug.split('/', 2) type end - - def include_default_entry? - !subpath.end_with?('index.html') - end end end end From 63b3ef9a419a6a3cc2fe8004ae127df9e5062e75 Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Wed, 26 Sep 2018 20:12:50 -0400 Subject: [PATCH 0023/2822] Remove the index pages for refs --- lib/docs/filters/salt_stack/entries.rb | 7 +++++-- lib/docs/scrapers/salt_stack.rb | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb index ff49a8f7cc..23b8f46fa9 100644 --- a/lib/docs/filters/salt_stack/entries.rb +++ b/lib/docs/filters/salt_stack/entries.rb @@ -16,8 +16,11 @@ def get_name end def get_type - type, _ = slug.split('/', 2) - type + slug.split('/', 2).first + end + + def include_default_entry? + slug.split('/').last.start_with? 'salt' end end end diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index 90df1767ef..ee83a476b4 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -11,7 +11,7 @@ class SaltStack < UrlScraper html_filters.push 'salt_stack/clean_html', 'salt_stack/entries' options[:only_patterns] = [ - %r{[^/]+/all/} + %r{^[^/]+/all/} ] options[:container] = '.body-content' From 925f458985bb2a659d59d09d22a00672b9acd73f Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Wed, 26 Sep 2018 20:14:56 -0400 Subject: [PATCH 0024/2822] Add apache2 license to attribution --- lib/docs/scrapers/salt_stack.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index ee83a476b4..ae4e47f3a7 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -17,7 +17,8 @@ class SaltStack < UrlScraper options[:container] = '.body-content' options[:attribution] = <<-HTML - © 2018 SaltStack. All Rights Reserved, SaltStack Inc. + © 2018 SaltStack.
+ Licensed under the Apache License, Version 2.0. HTML end end From c5f382b0adff61454e9afbc576c8d5a11760f34b Mon Sep 17 00:00:00 2001 From: Boris Bera Date: Wed, 26 Sep 2018 20:27:51 -0400 Subject: [PATCH 0025/2822] Add salt logo --- public/icons/docs/salt_stack/16.png | Bin 0 -> 726 bytes public/icons/docs/salt_stack/16@2x.png | Bin 0 -> 1432 bytes public/icons/docs/salt_stack/SOURCE | 1 + 3 files changed, 1 insertion(+) create mode 100644 public/icons/docs/salt_stack/16.png create mode 100644 public/icons/docs/salt_stack/16@2x.png create mode 100644 public/icons/docs/salt_stack/SOURCE diff --git a/public/icons/docs/salt_stack/16.png b/public/icons/docs/salt_stack/16.png new file mode 100644 index 0000000000000000000000000000000000000000..ee2631f845b18128b013d30d8070ccdfcbb3b142 GIT binary patch literal 726 zcmV;{0xA88P)@~8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10#ivuK~y-6jgvoU6hRop-#2@=w|ma)%$%_>hBU?qHj+Y6EL0Fd zEky(c8$}36ENo2tgJmF!DE?{e1WOwYXm4Yoq!I)rCWaunc(>VIlkDB?eikO@c^dRJ z!#w8wzBdfx;4kXygD->{@m+UlHEm1*$dyt%%YJFpE4fEKzp${n+WZOt)RiS0$WtI1 zVsaj4S>_2rmjpNgc)GrnJO+>%qs}tZK(X0+&`wr@V6O?}or+TXI*CTBDXry+?v}>L zLq@C5jT&%-FWLd?glmRGH{8UW_!=a)0) zr#Zy7teIZxY^ap#0rG)DhnI#?bWcjTr9jzbt<@Ycc|ab3oH0i0z923$$TdMQ0^|Wu zxY!8*03=CL1#rU#!5IQ(Yf*KWucZA2q+)5s*!RyZ`_I07*qo IM6N<$f_+6d-2eap literal 0 HcmV?d00001 diff --git a/public/icons/docs/salt_stack/16@2x.png b/public/icons/docs/salt_stack/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe90907409a82e389bf23d66322249968a32229 GIT binary patch literal 1432 zcmV;J1!ww+P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11rEBYZJL=%lyi$;{IRj&_K+S0T3qt&?Qtm&h! z)Vb%Lo?A6O_Znx6G1pmZ?zw@3K+1f6=G;l$INtjcRCu)rf1EL&HyJOPim`~yQsGsW zV0o)XYef9B%sjY1M^#llFG|Qh0O5ngXh}@4Ld367)ngATz|hc;Q}rW+_z8$cLtdUl zR2xoUWi7#GRX;K`G~`5hA!2Kk2(H<(Q$i>gHHzYuke73aunyMxOw}#Uvds5dbUhV! ziz;tRg`aoM9o|mx-p>}{O)9)sgx{R$-0);#gZ=$Ss_+Zy`DYQnvFiqS?=M%+U!~&S zPE&XCWIR<~uEHVn{)%3!QXM!=g}+nrpHutdOy`E1HChDVxWwq*Mp3-kRZMszfWrU; zinymymLGQGGxMAp;YkqY0+_S^!l0^OD#E{{-ro+O-a|1Y!kf}`V7`dEUWI>1#jg~R z+j4Q(;R0^oj7oS`8b?tS?5K(kP0h0Gi#LMdU2?yq18u0FdX^ z%8-|Hjqo8Mu2*%7(=?TF{RH+U5zW|lIE$wNi~&Ghg}(+sG15gvQGDA=)vA68EZ$0> zy9}1@xAtcU#bW2&ioO~>Y-ny$;R=S$EyE>cQGPQ)O@*V1+n~a0MdZvL0)Uxks=8-X z_*WGUX*w{!^Dgnd>iNaVbjJSzguFV(U`q+{wN(7dP7Py!lx6vQ2-Tgfhzkkyj>Tk^ zh`X+xmzeD_qCMTT#_yr!d9|v4fagWn23Tu-D*X81;2<9$$d*Q4TyKcC5$FLGUZXm2 zYPa7^761USZQHgzd0sw|)S71*;i%@=pQEaNK|8Mbk~b3Y3xMC6&A!9BIji#3Dm)5cb=SLI z6vd|iE=W_p$|7D=<*&_>yYoE%9soq-3_^SgW(=~MLa5fN@D>0Q8r(kP{?lQ#r(h-^ z+#EvnUN6lCjYjzffOkarE<*e`6<%hBAs}7~!h<1HF9C=EU_h%zacP#hd+hH{GC0_O zRCBEMC=6GEa9;@3vT;7Ca141_AAfKlIOh(pC-j<;{WN|0z{2g@x9|RUl{^Z=TOiy3 z!|wp512_VJGhlO`m;ZWMO=%tgfU2r?Ah9pVl6CFo*tZ3dlDLehK1{$z0A>T&4WfrS z=}kF64~PH=XkKWrD?nJ@ikMex##cL$dpZMCgSE_(6)@~J)UM4#{uuzw>@Z9GPXUr$ z6yxiSqIw=ZoU20~z;SWa)~)!XSNKF1v@wCd>Sk&xN#trop2;-7QQ z4IOIZ@lhT|PZHt&2>}{K_1v^+(@!A6j(UwYsrnJ@Yaagz9Y*&j4(eiu>m8w_wMfegGt@e!-1Tr z>XxYYceFnj8MsV^zfke-PBtY?1tj9GQ{f-mr=<1(%zR=heq}1Wxzl9S4c)Hc0jDJI zeU=J8o+NlL!ZtMWa( Date: Mon, 1 Oct 2018 18:34:36 +0200 Subject: [PATCH 0026/2822] Add Composer --- .../templates/pages/about_tmpl.coffee | 5 +++ assets/stylesheets/pages/_simple.scss | 1 + lib/docs/filters/composer/clean_html.rb | 25 +++++++++++ lib/docs/filters/composer/entries.rb | 39 ++++++++++++++++++ lib/docs/scrapers/composer.rb | 27 ++++++++++++ public/icons/docs/composer/16.png | Bin 0 -> 1464 bytes public/icons/docs/composer/16@2x.png | Bin 0 -> 3607 bytes public/icons/docs/composer/SOURCE | 1 + 8 files changed, 98 insertions(+) create mode 100644 lib/docs/filters/composer/clean_html.rb create mode 100644 lib/docs/filters/composer/entries.rb create mode 100644 lib/docs/scrapers/composer.rb create mode 100644 public/icons/docs/composer/16.png create mode 100644 public/icons/docs/composer/16@2x.png create mode 100644 public/icons/docs/composer/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 26ca8e7e72..7e5f7505e3 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -190,6 +190,11 @@ credits = [ '2009-2018 Jeremy Ashkenas', 'MIT', 'https://raw.githubusercontent.com/jashkenas/coffeescript/master/LICENSE' + ], [ + 'Composer', + '2012-2018 Nils Adermann, Jordi Boggiano', + 'MIT', + 'https://github.com/composer/composer/blob/master/LICENSE' ], [ 'Cordova', '2012-2017 The Apache Software Foundation', diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index fe36579d37..8293bed0c8 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -21,6 +21,7 @@ ._bower, ._chai, ._codeceptjs, +._composer, ._docker, ._electron, ._fish, diff --git a/lib/docs/filters/composer/clean_html.rb b/lib/docs/filters/composer/clean_html.rb new file mode 100644 index 0000000000..b4abce4916 --- /dev/null +++ b/lib/docs/filters/composer/clean_html.rb @@ -0,0 +1,25 @@ +module Docs + class Composer + class CleanHtmlFilter < Filter + def call + # Remove unneeded elements + css('#searchbar, .toc, .fork-and-edit, .anchor').remove + + # Code blocks + css('pre').each do |node| + code = node.at_css('code[class]') + + unless code.nil? + node['data-language'] = 'javascript' if code['class'].include?('javascript') + node['data-language'] = 'php' if code['class'].include?('php') + end + + node.content = node.content.strip + node.remove_attribute('class') + end + + doc + end + end + end +end diff --git a/lib/docs/filters/composer/entries.rb b/lib/docs/filters/composer/entries.rb new file mode 100644 index 0000000000..7547dd385f --- /dev/null +++ b/lib/docs/filters/composer/entries.rb @@ -0,0 +1,39 @@ +module Docs + class Composer + class EntriesFilter < Docs::EntriesFilter + def get_name + title = at_css('h1').content + + title = "#{Integer(subpath[1]) + 1}. #{title}" if type == 'Book' + + title + end + + def get_type + return 'Articles' if subpath.start_with?('articles/') + + 'Book' + end + + def additional_entries + entries = [] + + if subpath == '04-schema.md' # JSON Schema + css('h3').each do |node| + name = node.content.strip + name.remove!(' (root-only)') + entries << [name, node['id'], 'JSON Schema'] + end + end + + if subpath == '06-config.md' # Composer config + css('h2').each do |node| + entries << [node.content.strip, node['id'], 'Configuration Options'] + end + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/composer.rb b/lib/docs/scrapers/composer.rb new file mode 100644 index 0000000000..e62aab43f0 --- /dev/null +++ b/lib/docs/scrapers/composer.rb @@ -0,0 +1,27 @@ +module Docs + class Composer < UrlScraper + self.name = 'Composer' + self.type = 'composer' + + self.links = { + home: 'https://getcomposer.org', + code: 'https://github.com/composer/composer' + } + + html_filters.push 'composer/clean_html', 'composer/entries' + + self.release = '1.7.2' + self.base_url = 'https://getcomposer.org/doc/' + + options[:container] = '#main' + + options[:skip_patterns] = [ + /^faqs/ + ] + + options[:attribution] = <<-HTML + © Nils Adermann, Jordi Boggiano
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/composer/16.png b/public/icons/docs/composer/16.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbdb4d9185dd22aeda1e5b70846b203b1b40cf8 GIT binary patch literal 1464 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 literal 0 HcmV?d00001 diff --git a/public/icons/docs/composer/SOURCE b/public/icons/docs/composer/SOURCE new file mode 100644 index 0000000000..ea9acaa72b --- /dev/null +++ b/public/icons/docs/composer/SOURCE @@ -0,0 +1 @@ +https://github.com/composer/getcomposer.org/blob/master/web/img/logo-composer-transparent.png From 8e06630bf010db49ac3eda194918f323183179d9 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Mon, 1 Oct 2018 21:31:13 +0200 Subject: [PATCH 0027/2822] Improve Composer title page --- lib/docs/filters/composer/clean_html.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/docs/filters/composer/clean_html.rb b/lib/docs/filters/composer/clean_html.rb index b4abce4916..54ce7a26c0 100644 --- a/lib/docs/filters/composer/clean_html.rb +++ b/lib/docs/filters/composer/clean_html.rb @@ -5,6 +5,16 @@ def call # Remove unneeded elements css('#searchbar, .toc, .fork-and-edit, .anchor').remove + # Fix the home page titles + if subpath == '' + css('h1').each do |node| + node.name = 'h2' + end + + # Add a main title before the first subtitle + at_css('h2').before('

Composer

') + end + # Code blocks css('pre').each do |node| code = node.at_css('code[class]') From 92388055064a68fd4dabb854007b6a3d094f11d9 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Tue, 2 Oct 2018 18:01:07 +0200 Subject: [PATCH 0028/2822] Switch Composer to 'simple' style --- assets/stylesheets/pages/_simple.scss | 1 - lib/docs/scrapers/composer.rb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/stylesheets/pages/_simple.scss b/assets/stylesheets/pages/_simple.scss index 8293bed0c8..fe36579d37 100644 --- a/assets/stylesheets/pages/_simple.scss +++ b/assets/stylesheets/pages/_simple.scss @@ -21,7 +21,6 @@ ._bower, ._chai, ._codeceptjs, -._composer, ._docker, ._electron, ._fish, diff --git a/lib/docs/scrapers/composer.rb b/lib/docs/scrapers/composer.rb index e62aab43f0..beade9cb5c 100644 --- a/lib/docs/scrapers/composer.rb +++ b/lib/docs/scrapers/composer.rb @@ -1,7 +1,7 @@ module Docs class Composer < UrlScraper self.name = 'Composer' - self.type = 'composer' + self.type = 'simple' self.links = { home: 'https://getcomposer.org', From 2d6c1be335d64dd32bcbfdacd295019f5fd2b621 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Wed, 3 Oct 2018 21:50:22 +0200 Subject: [PATCH 0029/2822] Add Vue Router reference --- .../templates/pages/about_tmpl.coffee | 5 ++ lib/docs/filters/vue_router/clean_html.rb | 14 ++++ lib/docs/filters/vue_router/entries.rb | 73 ++++++++++++++++++ lib/docs/scrapers/vue_router.rb | 27 +++++++ public/icons/docs/vue_router/16.png | Bin 0 -> 1211 bytes public/icons/docs/vue_router/16@2x.png | Bin 0 -> 2020 bytes public/icons/docs/vue_router/SOURCE | 2 + 7 files changed, 121 insertions(+) create mode 100644 lib/docs/filters/vue_router/clean_html.rb create mode 100644 lib/docs/filters/vue_router/entries.rb create mode 100644 lib/docs/scrapers/vue_router.rb create mode 100644 public/icons/docs/vue_router/16.png create mode 100644 public/icons/docs/vue_router/16@2x.png create mode 100644 public/icons/docs/vue_router/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fef9a0246d..56dfadd102 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -680,6 +680,11 @@ credits = [ '2013-2018 Evan You, Vue.js contributors', 'MIT', 'https://raw.githubusercontent.com/vuejs/vue/master/LICENSE' + ], [ + 'Vue Router', + '2013-2018 Evan You, Vue.js contributors', + 'MIT', + 'https://github.com/vuejs/vue-router/blob/dev/LICENSE' ], [ 'Vulkan', '2014-2017 Khronos Group Inc.
Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.', diff --git a/lib/docs/filters/vue_router/clean_html.rb b/lib/docs/filters/vue_router/clean_html.rb new file mode 100644 index 0000000000..6377b0d402 --- /dev/null +++ b/lib/docs/filters/vue_router/clean_html.rb @@ -0,0 +1,14 @@ +module Docs + class VueRouter + class CleanHtmlFilter < Filter + def call + @doc = at_css('.content') + + # Remove unneeded elements + css('.bit-sponsor, .header-anchor').remove + + doc + end + end + end +end \ No newline at end of file diff --git a/lib/docs/filters/vue_router/entries.rb b/lib/docs/filters/vue_router/entries.rb new file mode 100644 index 0000000000..c00c99f283 --- /dev/null +++ b/lib/docs/filters/vue_router/entries.rb @@ -0,0 +1,73 @@ +module Docs + class VueRouter + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content + + name.remove! '# ' + + name + end + + def get_type + return 'Other Guides' if subpath.start_with?('guide/advanced') + return 'Basic Guides' if subpath.start_with?('guide') || subpath.start_with?('installation') + + 'API Reference' + end + + def include_default_entry? + name != 'API Reference' + end + + def additional_entries + return [] unless subpath.start_with?('api') + + entries = [ + ['', 'router-link', 'API Reference'], + ['', 'router-view', 'API Reference'], + ['$route', 'the-route-object', 'API Reference'], + ['Component Injections', 'component-injections', 'API Reference'] + ] + + css('h3').each do |node| + entryName = node.content.strip + + # Get the previous h2 title + title = node + title = title.previous_element until title.name == 'h2' + title = title.content.strip + title.remove! '# ' + + entryName.remove! '# ' + + unless entryName.start_with?('router.') + if title == "Router Construction Options" + entryName = "RouterOptions.#{entryName}" + elsif title == " Props" + entryName = " `#{entryName}` prop" + elsif title == " Props" + entryName = " `#{entryName}` prop" + else + entryName = "> #{entryName} (in: #{title})" + end + end + + unless title == "Component Injections" || node['id'] == 'applying-active-class-to-outer-element' || node['id'] == 'route-object-properties' + entries << [entryName, node['id'], 'API Reference'] + end + end + + css('#route-object-properties + ul > li > p:first-child > strong').each do |node| + entryName = node.content.strip + id = "route-object-#{entryName.remove('$route.')}" + + node['id'] = id + entries << [entryName, node['id'], 'API Reference'] + end + + entries + end + end + end +end \ No newline at end of file diff --git a/lib/docs/scrapers/vue_router.rb b/lib/docs/scrapers/vue_router.rb new file mode 100644 index 0000000000..e19efa118c --- /dev/null +++ b/lib/docs/scrapers/vue_router.rb @@ -0,0 +1,27 @@ +module Docs + class VueRouter < UrlScraper + self.slug = 'vue_router' + self.name = 'Vue Router' + self.type = 'simple' + + self.links = { + home: 'https://router.vuejs.org', + code: 'https://github.com/vuejs/vue-router' + } + + html_filters.push 'vue_router/entries', 'vue_router/clean_html' + + self.release = '3.0.1' + self.base_url = 'https://router.vuejs.org/' + + options[:skip_patterns] = [ + # Other languages + /^(zh|ja|ru|kr)\//, + ] + + options[:attribution] = <<-HTML + © 2013–2018 Evan You, Vue.js contributors
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/vue_router/16.png b/public/icons/docs/vue_router/16.png new file mode 100644 index 0000000000000000000000000000000000000000..64eb9b345a929493b14931f7a58b07abd91835b8 GIT binary patch literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5m^l63xP0W`us~k z8yK%Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?nt zNLXJ<0j#7X+g2&UH$cHTzbI9~RL?}uK*^3vK|#T$C?(A*$i)q+9mum)$|xx*u+rBr zFE7_CH`dE9O4m2Ew6xSWFw!?N(gmu}Ew0QfNvzP#D^`XW0yD=YwK%ybv!En1KTiQ< zZemh?X^E|p638MrfVeXy8E#KOX;BW?mXu`u)ST4Z)Vz{neM3D%eQf$lGSd()%qxZl z2QXmtK{7yX2KsO}0j;!2Nwz93P0C75E&+QN?h3HKof6aak%VpZv8uKKnQY}>lnHcL zBFJxchBjc^P{g2qw9yB794R0mp$rxU2D2TPjXpfe?6?Gv@0iTMz!c!=;uvBfSQ}{D zEfpwIo1Z2V{-;S-r)jE=W{awlSeJJ8Ouf0S8(NRuh;;Fo?ECPLQo znWB}NQ@!SkhB!#T!Qzj*~`1HEjPxZPfVJY$5)bz@#8>^1`L|hSHfBiShX4?a~33;g| zQjw>hPO5ivTO7zdgIo5F&+^OZ7bLF~v8=xSdgY02j?aqq*tho_O*-`av!_(;v9cSM zJFf&}zgL)kT9QNSY0*#RTYnd1&XVF`+kT^U!Nv3*3CkxzhtHYT&1sKaaQ66&SbICW zZO0E^GV$4>_Uy@}?bZvL*Qoh8x8_&uJN$mqimVGS9`8|g9=1?OhzVRW#MRk3I_A8ufSQ^Eaj6W#4p&X;0|r64#sVec{4C*5o4s+mGK;|MC2+ z7R#)&&v<+P*}2`X{1>IknP&gnik&FW z{iDJk?eBPn{ht7#;JbTy0wf^Ba{&MeSzGK$XS~#dtTUGsT~%5;UUQGBrVU`^GPG5@ zNWW_Twm`x<#tk1!@YZ&tnUk+uIJB>r~jvoWa1DS zKGHv0d-vI;(*tsE&UshKZu^IG@3>do|XK_Q{tU z7HmDNtlUS$Ks?jPZJBz-(4yjEyL7b5)VQd}<#+>L8F#No^v-BEt>)MIG;PEO89 zHFZcmlJM%Ni^=}M&C7UY6Ef&*sdzD?aj0md7C~HZ*GRWJlhXLn0L-|Mf%6&jsk3?x6X1rne75 zp~|(EA@#Dq5Iw3`f{SM`d^bXf7R1+ub45c#1Fo}dY!nz>alm(eSiTBa-uYpFUs3eT zOaT4>uw~<$0)*4-jyS2WRui?!)5rKHMbuv8G@$Pto%+e$(E zv=}*8M~b-z-w^s(p<-|{xz?Fax+Se~)IYlRi#q?hUPBr%Qo1j(6*3kVI`;f}?(J7z zX8*48O_u=WV~NE39u>Z~Qj9W&RQDq(y0NmlFO4Vu(&Z2oc$n_IRtV-_q3#jOxfaKf zNOtUfoojf+HRp_s42O;h2eGlnT ze{XecXn$W{{hd3ilGB_=DfvV~NtL{OVrFJ0&>ri1cy=;wPv=R<8%Jsb?9V7Y+}kcu zEiJ|Md9iW_zJCjEn;HOq?RFV_=ISy?^x4C*vYOz^LP7DZvKf3Pkn{K&iC-Tw`{HcQ z(d@cDE7bHHHYny3;upAtW*f1iNogJ+(L_Zep8;2-6;rP{H`-fjIvi&$RPwi*#SI}= zikA%W1SK^@j*C4)N9;%wa~hX@sJ^g&rh+|U6~IM*b1qsns2yco3{bQ zdFU#SW6+YTVWTmJ7D&^DcVZyYqXV<6YTR7 z(T?ISg%Np^GCz%cpP!$HdnXOA2YXQrdqj#28ugt${nnzdH!e2I_C?Bkfg+=mxn2j& zLcyT`otM2Ou83q?&lMlxn?#?zYw;LFJ-6?Yd&|d^2)EV+4f^qq=39bjje{SeoDbyO zFYb9i+12_eL(Z$iI$@y0z?~`j7ryv~Ma+urnx|aJ8mG#J4H~g*U3fNV$OZ>37vPdp zg&9WW^=Fa;1%i=hSGU6Xg^e;xzbBq%0S?>zu67H9c`uh;gp1GdzX5dAmn^^Bwd literal 0 HcmV?d00001 diff --git a/public/icons/docs/vue_router/SOURCE b/public/icons/docs/vue_router/SOURCE new file mode 100644 index 0000000000..474e2fcaf4 --- /dev/null +++ b/public/icons/docs/vue_router/SOURCE @@ -0,0 +1,2 @@ +http://vuejs.org/ +(Edited from the original logo to distinguish Vue Router from Vue) From 552b526509945c8a5722907d2bab49b1fb0e5dae Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Oct 2018 15:25:47 +0200 Subject: [PATCH 0030/2822] Add Enzyme documentation --- .../templates/pages/about_tmpl.coffee | 5 +++ lib/docs/filters/enzyme/clean_html.rb | 34 +++++++++++++++++++ lib/docs/filters/enzyme/entries.rb | 33 ++++++++++++++++++ lib/docs/scrapers/enzyme.rb | 20 +++++++++++ 4 files changed, 92 insertions(+) create mode 100644 lib/docs/filters/enzyme/clean_html.rb create mode 100644 lib/docs/filters/enzyme/entries.rb create mode 100644 lib/docs/scrapers/enzyme.rb diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 629682fb3e..6de041597f 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -255,6 +255,11 @@ credits = [ '2017 Yehuda Katz, Tom Dale and Ember.js contributors', 'MIT', 'https://raw.githubusercontent.com/emberjs/ember.js/master/LICENSE' + ], [ + 'Enzyme', + '2015 Airbnb, Inc.', + 'MIT', + 'https://raw.githubusercontent.com/airbnb/enzyme/master/LICENSE.md' ], [ 'Erlang', '2010-2017 Ericsson AB', diff --git a/lib/docs/filters/enzyme/clean_html.rb b/lib/docs/filters/enzyme/clean_html.rb new file mode 100644 index 0000000000..8a42ad0df1 --- /dev/null +++ b/lib/docs/filters/enzyme/clean_html.rb @@ -0,0 +1,34 @@ +module Docs + class Enzyme + class CleanHtmlFilter < Filter + def call + @doc = at_css('.page-inner > section') + + # Clean headers + css('h1').each do |node| + node.content = node.content + end + + # Make headers on reference pages bigger + if subpath.include?('ReactWrapper') || subpath.include?('ShallowWrapper') + css('h4').each do |node| + node.name = 'h2' + end + end + + # Make code blocks detectable by Prism + css('pre').each do |node| + cls = node.at_css('code')['class'] + + unless cls.nil? + node['data-language'] = cls.split('-')[1] + end + + node.content = node.content + end + + doc + end + end + end +end diff --git a/lib/docs/filters/enzyme/entries.rb b/lib/docs/filters/enzyme/entries.rb new file mode 100644 index 0000000000..aa28bccad9 --- /dev/null +++ b/lib/docs/filters/enzyme/entries.rb @@ -0,0 +1,33 @@ +module Docs + class Enzyme + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('.page-inner h1').content + + if name.include?('(') + until_parenthesis = name[0..name.index('(')] + + if until_parenthesis.include?(' ') + until_parenthesis[0..-3] + else + until_parenthesis + ')' + end + else + name + end + end + + def get_type + active_level = at_css('.chapter.active')['data-level'] + + # It's a parent level if it contains only one dot + if active_level.count('.') == 1 + at_css('.chapter.active > a').content + else + parent_level = active_level[0..active_level.rindex('.') - 1] + at_css(".chapter[data-level=\"#{parent_level}\"] > a").content + end + end + end + end +end diff --git a/lib/docs/scrapers/enzyme.rb b/lib/docs/scrapers/enzyme.rb new file mode 100644 index 0000000000..7c225bdc4d --- /dev/null +++ b/lib/docs/scrapers/enzyme.rb @@ -0,0 +1,20 @@ +module Docs + class Enzyme < UrlScraper + self.type = 'simple' + self.release = '3.6.0' + self.base_url = 'https://airbnb.io/enzyme/' + self.root_path = 'index.html' + self.links = { + code: 'https://github.com/airbnb/enzyme' + } + + html_filters.push 'enzyme/entries', 'enzyme/clean_html' + + options[:skip] = %w(CHANGELOG.html docs/future.html CONTRIBUTING.html) + + options[:attribution] = <<-HTML + © 2015 Airbnb, Inc.
+ Licensed under the MIT License. + HTML + end +end From 85f57fe5d03698c37883c9797ca0f9676b049329 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Oct 2018 22:05:15 +0200 Subject: [PATCH 0031/2822] Add option to automatically download documentation --- assets/javascripts/app/app.coffee | 5 ++++- assets/javascripts/app/settings.coffee | 1 + assets/javascripts/models/doc.coffee | 4 +++- assets/javascripts/templates/pages/settings_tmpl.coffee | 4 ++++ assets/javascripts/views/content/settings_page.coffee | 1 + 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 979ea35362..eb92b5952a 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -138,7 +138,10 @@ @docs.sort() @initDoc(doc) @saveDocs() - _onSuccess() + if app.settings.get('autoInstall') + doc.install(_onSuccess, onError) + else + _onSuccess() return doc.load onSuccess, onError, writeCache: true diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 8d309c4174..ab5d128c24 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -10,6 +10,7 @@ class app.Settings 'layout' 'size' 'tips' + 'autoInstall' ] INTERNAL_KEYS = [ diff --git a/assets/javascripts/models/doc.coffee b/assets/javascripts/models/doc.coffee index 2d5f7e4ac7..c51e13fae4 100644 --- a/assets/javascripts/models/doc.coffee +++ b/assets/javascripts/models/doc.coffee @@ -142,4 +142,6 @@ class app.models.Doc extends app.Model return isOutdated: (status) -> - status and status.installed and @mtime isnt status.mtime + return false if not status + isInstalled = status.installed or app.settings.get('autoInstall') + isInstalled and @mtime isnt status.mtime diff --git a/assets/javascripts/templates/pages/settings_tmpl.coffee b/assets/javascripts/templates/pages/settings_tmpl.coffee index 1d439edb5e..d410874986 100644 --- a/assets/javascripts/templates/pages/settings_tmpl.coffee +++ b/assets/javascripts/templates/pages/settings_tmpl.coffee @@ -15,6 +15,10 @@ app.templates.settingsPage = (settings) -> """ Automatically hide and show the sidebar Tip: drag the edge of the sidebar to resize it. + diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index d72e3eb300..c0fc59d15a 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -17,6 +17,7 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') + settings.autoInstall = app.settings.get('autoInstall') settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS settings From 5c48bc238476c3f12fed45dcb9758fc66bae7d72 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Thu, 11 Oct 2018 19:33:24 +0200 Subject: [PATCH 0032/2822] Vue Router: ignore French documentation A French translation was recently added to the Vue Router documentation, so we need to ignore it as well as the other translations. --- lib/docs/scrapers/vue_router.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/vue_router.rb b/lib/docs/scrapers/vue_router.rb index e19efa118c..a029466bfb 100644 --- a/lib/docs/scrapers/vue_router.rb +++ b/lib/docs/scrapers/vue_router.rb @@ -16,7 +16,7 @@ class VueRouter < UrlScraper options[:skip_patterns] = [ # Other languages - /^(zh|ja|ru|kr)\//, + /^(zh|ja|ru|kr|fr)\//, ] options[:attribution] = <<-HTML From 274e6318303a532652a3f3ca1fe4714f5cb5247f Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Sun, 14 Oct 2018 21:12:15 +0200 Subject: [PATCH 0033/2822] Vue Router : add parentheses after method names --- lib/docs/filters/vue_router/entries.rb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/docs/filters/vue_router/entries.rb b/lib/docs/filters/vue_router/entries.rb index c00c99f283..e8eb227922 100644 --- a/lib/docs/filters/vue_router/entries.rb +++ b/lib/docs/filters/vue_router/entries.rb @@ -41,16 +41,14 @@ def additional_entries entryName.remove! '# ' - unless entryName.start_with?('router.') - if title == "Router Construction Options" - entryName = "RouterOptions.#{entryName}" - elsif title == " Props" - entryName = " `#{entryName}` prop" - elsif title == " Props" - entryName = " `#{entryName}` prop" - else - entryName = "> #{entryName} (in: #{title})" - end + if title == "Router Construction Options" + entryName = "RouterOptions.#{entryName}" + elsif title == " Props" + entryName = " `#{entryName}` prop" + elsif title == " Props" + entryName = " `#{entryName}` prop" + elsif title == "Router Instance Methods" + entryName = "#{entryName}()" end unless title == "Component Injections" || node['id'] == 'applying-active-class-to-outer-element' || node['id'] == 'route-object-properties' From 54064a92aa91874c736b30ba8d90c7f1e0f61704 Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Sun, 14 Oct 2018 21:12:54 +0200 Subject: [PATCH 0034/2822] Vue Router : use the official Vue icon --- public/icons/docs/vue_router/16.png | Bin 1211 -> 534 bytes public/icons/docs/vue_router/16@2x.png | Bin 2020 -> 1244 bytes public/icons/docs/vue_router/SOURCE | 1 - 3 files changed, 1 deletion(-) diff --git a/public/icons/docs/vue_router/16.png b/public/icons/docs/vue_router/16.png index 64eb9b345a929493b14931f7a58b07abd91835b8..153c58cdefe476e6738e7123d9c35a56d482a1ef 100644 GIT binary patch delta 509 zcmV*H1M-xUw)lk~@0;(R zckjKZ%G3U_T6BNH-SSH(m0NOKtx~PFGNB4U!y`kM4qc_=?tf!%Blx06;rq(kwU3kb zr4M#}>9al8YEcAmG(0k7>Cja(ao|*6^`*Mq7aeuwbYoej&tDdMAurV1M;SO89vQN9 z=qlhP-3PPV1JN&g-<^lo$5y%VqkN$)Q}fM`furG(AxlRA;KbnxZ=>@~Z}u?8(<@gp ztJ09E`qG$zqkrLPGI8fC9R>0SIn0{hXLa`VJ@GcfpJ$%j$Sij;v*((^z|p)>FC|0v zPgmpsKR~|oTkhtK!nAzzs#s1Vvz)~pI2s-qvcPmFAGMFL>gaa8x^-9di*P(Myp`GW z&CFhCW^gn-GNuEHySYhs`1?WA%3w8P;An0V3{AF(i+1blhgi=>y;J!yQ~f*??^&?J zz|rtbwurxvm4E5Zxi@S4BPjz%Gnw7si+_-{7Wv1$r1L4iw=i%tlQG!q6mhW3t21!p z?F&)nfppS&#}vH%U>=DLG-I^?g3n!x{9pV6knB79sjXWo00000NkvXXu0mjfsCESw literal 1211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5m^l63xP0W`us~k z8yK%Q&?x097+E*i={nnYpPYi3%0DIeEoa6}C!X6;?nt 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 diff --git a/public/icons/docs/vue_router/SOURCE b/public/icons/docs/vue_router/SOURCE index 474e2fcaf4..97bd9e0369 100644 --- a/public/icons/docs/vue_router/SOURCE +++ b/public/icons/docs/vue_router/SOURCE @@ -1,2 +1 @@ http://vuejs.org/ -(Edited from the original logo to distinguish Vue Router from Vue) From d3196c53ed3948d42223053a042ef180f79db2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Gonz=C3=A1lez?= Date: Tue, 25 Sep 2018 17:51:35 +0200 Subject: [PATCH 0035/2822] Add documentation for cypress.io --- assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_cypress.scss | 21 ++++++++++++ lib/docs/filters/cypress/clean_html.rb | 17 ++++++++++ lib/docs/filters/cypress/entries.rb | 41 ++++++++++++++++++++++++ lib/docs/scrapers/cypress.rb | 33 +++++++++++++++++++ public/icons/docs/cypress/16.png | Bin 0 -> 1183 bytes public/icons/docs/cypress/16@2x.png | Bin 0 -> 1858 bytes public/icons/docs/cypress/SOURCE.ico | Bin 0 -> 32038 bytes 8 files changed, 113 insertions(+) create mode 100644 assets/stylesheets/pages/_cypress.scss create mode 100644 lib/docs/filters/cypress/clean_html.rb create mode 100644 lib/docs/filters/cypress/entries.rb create mode 100644 lib/docs/scrapers/cypress.rb create mode 100644 public/icons/docs/cypress/16.png create mode 100644 public/icons/docs/cypress/16@2x.png create mode 100644 public/icons/docs/cypress/SOURCE.ico diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index fd6ffffd71..72feda6ab1 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -46,6 +46,7 @@ 'pages/coffeescript', 'pages/cordova', 'pages/crystal', + 'pages/cypress', 'pages/d', 'pages/d3', 'pages/dart', diff --git a/assets/stylesheets/pages/_cypress.scss b/assets/stylesheets/pages/_cypress.scss new file mode 100644 index 0000000000..aa1108d2ba --- /dev/null +++ b/assets/stylesheets/pages/_cypress.scss @@ -0,0 +1,21 @@ +._cypress { + @extend %simple; + + .note { + h1 { + margin-left: inherit + } + + &.danger { + @extend %note-red + } + + &.info { + @extend %note-blue + } + + &.success { + @extend %note-green + } + } +} diff --git a/lib/docs/filters/cypress/clean_html.rb b/lib/docs/filters/cypress/clean_html.rb new file mode 100644 index 0000000000..6a36d24c75 --- /dev/null +++ b/lib/docs/filters/cypress/clean_html.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Docs + class Cypress + class CleanHtmlFilter < Filter + def call + css('.article-edit-link').remove + css('#sidebar').remove + css('article footer').remove + css('#article-toc').remove + css('.article-footer-updated').remove + + doc + end + end + end +end diff --git a/lib/docs/filters/cypress/entries.rb b/lib/docs/filters/cypress/entries.rb new file mode 100644 index 0000000000..a854acd7b6 --- /dev/null +++ b/lib/docs/filters/cypress/entries.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Docs + class Cypress + class EntriesFilter < Docs::EntriesFilter + SECTIONS = %w[ + commands + core-concepts + cypress-api + events + examples + getting-started + guides + overview + plugins + references + utilities + ].freeze + + def get_name + at_css('h1.article-title').content.strip + end + + def get_type + path = context[:url].path + + SECTIONS.each do |section| + if path.match?("/#{section}/") + return section.split('-').map(&:capitalize).join(' ') + end + end + end + + def additional_entries + css('.sidebar-li > a').map do |node| + [node['href']] + end + end + end + end +end diff --git a/lib/docs/scrapers/cypress.rb b/lib/docs/scrapers/cypress.rb new file mode 100644 index 0000000000..d6db296a3b --- /dev/null +++ b/lib/docs/scrapers/cypress.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Docs + class Cypress < UrlScraper + # Follow the instructions on https://github.com/cypress-io/cypress-documentation/blob/develop/CONTRIBUTING.md + # to run the cypress documentation server locally in the following URL: + # self.base_url = 'http://localhost:2222' + self.base_url = 'https://docs.cypress.io' + + self.name = 'Cypress' + self.type = 'cypress' + self.root_path = '/api/introduction/api.html' + + html_filters.push 'cypress/clean_html', 'cypress/entries' + + options[:root_title] = 'Cypress' + options[:container] = '#content' + + options[:include_default_entry] = true + + options[:skip_link] = lambda do |link| + href = link.attr(:href) + + EntriesFilter::SECTIONS.none? { |section| href.match?("/#{section}/") } + end + + options[:attribution] = <<-HTML + © 2018
Cypress.io + - Licensed under the + MIT License. + HTML + end +end diff --git a/public/icons/docs/cypress/16.png b/public/icons/docs/cypress/16.png new file mode 100644 index 0000000000000000000000000000000000000000..4da1b40009eda8dc16fe2867a00ad480d972f342 GIT binary patch literal 1183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$Ysfq{uTGbExU!q>+tIX_n~ zF(p4KRj(qq0H}k3!KT6r$jnVGNmQuF&B-gas<2f8tFQvHLBje<3ScEA*|tg%z5xo( z`9-M;rg|oN21<5Z3JMA~MJZ`kK`w4k?LeNbQbtKhft9{~d3m{Bxv^e;QM$gNrKP35 zfswwEkuFe$ZgFK^Nn(X=Ua>O75STeGsl~}fnFS@8`FRQ;a}$&DOG|8(lt3220mPjp znP~`{@`|C}0(wv%B%^PrXP^%^8>rO=Bx)6uTAZI#3Nk)4FSEqX$Ofz!T^L~-M3-}Z zZb4CMaWPPvogq{UvKYF0|Dw!Pp#MPDz||v*p{ozb$S=tUhILV9vS(gNY7x*fsBV}8 zajSruWup%YE~Mat#0^*!7&&%aHu~_0w&UV=)tU@U7Q&t`jv*F;OM}m^ei$fXf8YH~ z+olbIOQ$$FNrbJpxw1Je*?#ZVwNvX8r&P_nC!gTD(V+ExQ}2u~Q{<(WXdLZ3yX4_H z%k-MBbI)GM_PhIj=kwxoKWon0evk3wP;B(Fk?WV=DBd!!;AZ|h)2zrzOY$$j{PMSL z<0KKL*=N6<%rL2Q{moq^cg1nlUs2C{eaDmYHsAcCGKW*+W`aSD`|m)}KkIY9msr^f zbN=uA_op#Mscz5Hh9_manIpdOv&e6W(mj%7xFKroh6tSm8#(4*iTm##&f2=jWt*Yo zufPBFZO)|^?2K8zqvig4@x>QCV%CQjTF4xES|r%&(L8NMjK=FM1O~N zFS(L?BE?96gJnU4j?>PVXIk5C>#9ulS*Xl-+a@yjpJHM z;9(D;PL}NU!;Cjn@*boZH5OQ$S$#Ke^Z##=!i_#|OM@DJ*6{6&;bUuNyz;u#V`-3# z`|&Qf#R*0;9YXDXKH0x+qLgU=@qT((;_+{4{z;Yyy&%x#7L z?hDi$)NW4O?0IhYj~crZX`An~2dz9ZYmUjKDW`px+;m%0eLg7n(n}MIxqc^}e-2oE tRmA`Mw9n6V1%Ac%doEP{d-3@n>3hexf5k7BSPCi|JYD@<);T3K0RYQJ$%X&` literal 0 HcmV?d00001 diff --git a/public/icons/docs/cypress/16@2x.png b/public/icons/docs/cypress/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a327f375e2bd8d79903a04704031e94ecf0d93c0 GIT binary patch literal 1858 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL`2bFmY#wM3hAM z`dB6B=jtV<RtPXT0ZVp4u-iLH_n z$Rap^xU(cP4PjGWG1OZ?59)(t^bPe4^xy%qvMP z0$K*u4RauF6;QKm^g+Re6nv1l0gD17$BxTJA0E+mT>P$DlNlITo_e}ChD2~44Ug9N z8YvS0e8)G*=_j5kdu4&^6lH$v$Ild?#kbNn0ZWev$UVT|LX1Ax9iX8 zv?^7wv$Om3?c2BVFayirUre_qb$6fUKYjZ2?7m(6G9A6WzB_jB{yq8quWa{+|C>IC zzL)NG`+VxusrXlRR_q_n=jY`ui@&`iO~7x*u3c%X)Dy4F*ikI=`+urT*#`5R1JlyN ztrGZmT;ElkTc5uAWS;kjBceBg-zo?1Gr2WavZ|}?O^0*Wu3JkdJm>HE{qtv_rzdA> zdU~*j2S;Jeg=^QuzJC86?C;O7s-hAQ7BH6WrkMrG1T-7u+JEf$hPu{;DuVMXf&HDAhv9YpSw{Q0j3k?-5 zEid<$VUS)jXO4{H?K^jt{P|PUTVGdMDVbDKUjDyN)9P_zV&auMcXWC;Ki{%(qod5; zBVI|(8#fxxnmv2*;ls|k&R%|g(+n8=ti3!vCvG`-(2>*l!@0|sjqguY7Ty|be(Ln; zPG;8&1#gxvU20-zs8}E`FR!JgwWzO;uPJ%);>AqtmoGBb*>illRZzh2>-|Jl&RGm$ z66emIow}s4kug)|$mGewS=rgj``i_cZESQ>1=SB8JScShZ+3Eedb`C7laOfN0tKhT z8)o^aJxWsaG&VLCDr0M?udCCGe5JX9&*ES8ZYLI*50h{4toYCHrMa1T>R*O^yLK%) zdD7GKy3B)H{v0W}JiNS_3wHfFzVSJr3=K$mCQx2X|$1G5v!CKOrt&Y9!QT?CUr&6RAt|^*0Ddmnb6W_|V`kR+7 zDXp5LCLkiBGKb;)qeo3UPH=?f=j(@tg=Hn}nwsj}qw}Y6<^0bbf={wtU0e0`GBGo2 znwW%09M?I{!R&tZO1z3+6sr0X)5PcFx+4x30%57j>Gy{E5m g`f&ou2c^GTcy&o=gR+GcBxc;->y>WB7b4A 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 literal 0 HcmV?d00001 From 013ce522a2d942cd2cf3387edabdae8c91dbcd62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Gonz=C3=A1lez?= Date: Wed, 17 Oct 2018 13:09:13 +0200 Subject: [PATCH 0036/2822] Update base url after recent changes to cypress documentation --- lib/docs/scrapers/cypress.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/cypress.rb b/lib/docs/scrapers/cypress.rb index d6db296a3b..e5433b22af 100644 --- a/lib/docs/scrapers/cypress.rb +++ b/lib/docs/scrapers/cypress.rb @@ -9,7 +9,7 @@ class Cypress < UrlScraper self.name = 'Cypress' self.type = 'cypress' - self.root_path = '/api/introduction/api.html' + self.root_path = '/api/api/table-of-contents.html' html_filters.push 'cypress/clean_html', 'cypress/entries' From 57232ce130a64eceded02b89fb38e64523e4db3a Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Wed, 17 Oct 2018 21:21:21 +0200 Subject: [PATCH 0037/2822] Add Vuex reference --- .../templates/pages/about_tmpl.coffee | 5 ++ lib/docs/filters/vuex/clean_html.rb | 14 ++++ lib/docs/filters/vuex/entries.rb | 68 ++++++++++++++++++ lib/docs/scrapers/vuex.rb | 26 +++++++ public/icons/docs/vuex/16.png | Bin 0 -> 534 bytes public/icons/docs/vuex/16@2x.png | Bin 0 -> 1244 bytes public/icons/docs/vuex/SOURCE | 1 + 7 files changed, 114 insertions(+) create mode 100644 lib/docs/filters/vuex/clean_html.rb create mode 100644 lib/docs/filters/vuex/entries.rb create mode 100644 lib/docs/scrapers/vuex.rb create mode 100644 public/icons/docs/vuex/16.png create mode 100644 public/icons/docs/vuex/16@2x.png create mode 100644 public/icons/docs/vuex/SOURCE diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index fef9a0246d..72fb74cd48 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -680,6 +680,11 @@ credits = [ '2013-2018 Evan You, Vue.js contributors', 'MIT', 'https://raw.githubusercontent.com/vuejs/vue/master/LICENSE' + ], [ + 'Vuex', + '2015-2018 Evan You, Vue.js contributors', + 'MIT', + 'https://raw.githubusercontent.com/vuejs/vuex/master/LICENSE' ], [ 'Vulkan', '2014-2017 Khronos Group Inc.
Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.', diff --git a/lib/docs/filters/vuex/clean_html.rb b/lib/docs/filters/vuex/clean_html.rb new file mode 100644 index 0000000000..f62870cce5 --- /dev/null +++ b/lib/docs/filters/vuex/clean_html.rb @@ -0,0 +1,14 @@ +module Docs + class Vuex + class CleanHtmlFilter < Filter + def call + @doc = at_css('.content') + + # Remove unneeded elements + css('.header-anchor').remove + + doc + end + end + end +end \ No newline at end of file diff --git a/lib/docs/filters/vuex/entries.rb b/lib/docs/filters/vuex/entries.rb new file mode 100644 index 0000000000..72c8486e1d --- /dev/null +++ b/lib/docs/filters/vuex/entries.rb @@ -0,0 +1,68 @@ +module Docs + class Vuex + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content + + name.remove! '# ' + + # Add index on guides + unless subpath.start_with?('api') + sidebarLink = at_css('.sidebar-link.active') + allLinks = css('.sidebar-link:not([href="/"]):not([href="../index"])') + + index = allLinks.index(sidebarLink) + + name.prepend "#{index + 1}. " if index + end + + name + end + + def get_type + 'Guide' + end + + def include_default_entry? + name != 'API Reference' + end + + def additional_entries + return [] unless subpath.start_with?('api') + + entries = [ + ['Component Binding Helpers', 'component-binding-helpers', 'API Reference'], + ['Store', 'vuex-store', 'API Reference'], + ] + + css('h3').each do |node| + entryName = node.content.strip + + # Get the previous h2 title + title = node + title = title.previous_element until title.name == 'h2' + title = title.content.strip + title.remove! '# ' + + entryName.remove! '# ' + + unless entryName.start_with?('router.') + if title == "Vuex.Store Constructor Options" + entryName = "StoreOptions.#{entryName}" + elsif title == "Vuex.Store Instance Properties" + entryName = "Vuex.Store.#{entryName}" + elsif title == "Vuex.Store Instance Methods" + entryName = "Vuex.Store.#{entryName}()" + elsif title == "Component Binding Helpers" + entryName = "#{entryName}()" + end + end + + entries << [entryName, node['id'], 'API Reference'] + end + + entries + end + end + end +end \ No newline at end of file diff --git a/lib/docs/scrapers/vuex.rb b/lib/docs/scrapers/vuex.rb new file mode 100644 index 0000000000..774e989fcf --- /dev/null +++ b/lib/docs/scrapers/vuex.rb @@ -0,0 +1,26 @@ +module Docs + class Vuex < UrlScraper + self.name = 'Vuex' + self.type = 'simple' + + self.links = { + home: 'https://vuex.vuejs.org', + code: 'https://github.com/vuejs/vuex' + } + + html_filters.push 'vuex/entries', 'vuex/clean_html' + + self.release = '3.0.1' + self.base_url = 'https://vuex.vuejs.org/' + + options[:skip_patterns] = [ + # Other languages + /^(zh|ja|ru|kr|fr|ptbr)\//, + ] + + options[:attribution] = <<-HTML + © 2015–2018 Evan You, Vue.js contributors
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/vuex/16.png b/public/icons/docs/vuex/16.png new file mode 100644 index 0000000000000000000000000000000000000000..153c58cdefe476e6738e7123d9c35a56d482a1ef GIT binary patch literal 534 zcmV+x0_pvUP)*H1M-xUw)lk~@0;(RckjKZ%G3U_T6BNH-SSH(m0NOKtx~PF zGNB4U!y`kM4qc_=?qhEw_@YPQ`^wt2kCXPL4|aX&vpv^pQ3P-_JTheI&{Z>W;8b7r zrMlf09d+e&V_BxpUlw~IFVx#d88{jq8M1WfD&QsE2eaD)(Jy=7orl-QR=M$`e4#B< z^UaWfqv4SuOGg3V#Ni2Vqw`H~_AtiND_1hB(vYe8(wKpx;b}5)=PMlr@&`H0n%`%2 z_VqpSHp8E1p4`YRcQLc)n!>=*yiqSDL-tQsxWp+M!i${F;o3K6z^HE!@$w-Oty%>kClJv&bc>h{39s?M>Cn-;ER8d zwHEouy`=Lgzqc@OG?Ovd>lAUY%&RkSP!N>M_w{Ifz&K=Wd>0{;Yv*xpw2ZdX@IH6y{x445yCHs4yy>o2 zn*(2*Y+Bi3Gd*5vS|d|8t!FXz_x8az;8U3+zD!^O^;58*#0710VmvO zpoJ#dJ#ORFNdDS6J$(6NJ$&g*_%Q`gK zg4h}f{0;)?u~N-!8!pBeIclf{0~QXr;Dj3uw9qu0=Pr4VOY$#wrNSh(CDsDa&Z@8b z=HJq(Y*AZ>OUinFS_%1fW_(tsCuX0E@WhOfqlQ{AVBvrZPPjz_@juZF_wQ0U*gx5m z_j8-)Bn{6+;VWmu3DkF1VZ~SWlBY5=b1G#|Dr+pnDV$KTYcgULz6#U)3L0vihBAs3u(z4DCF zYGWoLpwIF@oCowz*u6Uq`OOE)%1v<^qK3qY86!tcPzxr&3I|+p?kbKIYT>0abg}ZN z0Dg1VssQgsr-G*H_udX0GCYSaj-|P#v+ult z6PpW%8fw9SHC+3(hNgWg}uiL&k)IF>(@LO<+5;Lzu*mnE6TK%8mY6Ye@!GCTV6fpoCPII>tE_~77nhhx z{7$Y*6G(1_-SFn4&o`Wyu`Voq`}YKYDCEh19$G)Gabm_yP4~>a(fE9Ok*>#yW4W$d z^w*7sye^l{_1Kf+-8a*aOAAlqoituY*L1u1f1gCB;{O6E4`2-|#LHj+0000 Date: Sun, 21 Oct 2018 17:58:50 +0200 Subject: [PATCH 0038/2822] Fix images --- lib/docs/filters/mariadb/clean_html.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/filters/mariadb/clean_html.rb b/lib/docs/filters/mariadb/clean_html.rb index ffbbb160f2..88ab4fc50b 100644 --- a/lib/docs/filters/mariadb/clean_html.rb +++ b/lib/docs/filters/mariadb/clean_html.rb @@ -34,6 +34,11 @@ def call end end + # Fix images + css('img').each do |node| + node['src'] = node['src'].sub('http:', 'https:') + end + # Remove navigation items containing only numbers css('.node_comments').each do |node| if node.content.scan(/\D/).empty? From cdd86a8fbe87c73ab29383e6eec79043843e3cea Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 21 Oct 2018 18:52:26 +0200 Subject: [PATCH 0039/2822] Add comments to magic values --- lib/tasks/sprites.thor | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index 64dd82b46b..bd2ff7812f 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -105,6 +105,8 @@ class SpritesCLI < Thor end def get_contrast(base, other) + # Calculating the contrast ratio as described in the WCAG 2.0: + # https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef l1 = get_luminance(base) + 0.05 l2 = get_luminance(other) + 0.05 ratio = l1 / l2 @@ -118,6 +120,9 @@ class SpritesCLI < Thor ChunkyPNG::Color.b(color).to_f ] + # Calculating the relative luminance as described in the WCAG 2.0: + # https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + rgb.map! do |value| value /= 255 value < 0.03928 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4 From 14aa61a798799e33d7cc1fe8ba391ce7af3f43dd Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Nov 2018 21:17:18 +0100 Subject: [PATCH 0040/2822] Add GnuCOBOL documentation --- .../templates/pages/about_tmpl.coffee | 5 ++ lib/docs/filters/gnu_cobol/clean_html.rb | 56 +++++++++++++++++++ lib/docs/filters/gnu_cobol/entries.rb | 50 +++++++++++++++++ lib/docs/scrapers/gnu_cobol.rb | 20 +++++++ 4 files changed, 131 insertions(+) create mode 100644 lib/docs/filters/gnu_cobol/clean_html.rb create mode 100644 lib/docs/filters/gnu_cobol/entries.rb create mode 100644 lib/docs/scrapers/gnu_cobol.rb diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index c7e5a41486..e0ef245f6a 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -290,6 +290,11 @@ credits = [ '2005-2018 Linus Torvalds and others', 'GPLv2', 'https://raw.githubusercontent.com/git/git/master/COPYING' + ], [ + 'GnuCOBOL', + 'Free Software Foundation', + 'GFDL', + 'https://www.gnu.org/licenses/fdl-1.3.en.html' ], [ 'Go', 'Google, Inc.', diff --git a/lib/docs/filters/gnu_cobol/clean_html.rb b/lib/docs/filters/gnu_cobol/clean_html.rb new file mode 100644 index 0000000000..4e0d9ef229 --- /dev/null +++ b/lib/docs/filters/gnu_cobol/clean_html.rb @@ -0,0 +1,56 @@ +module Docs + class GnuCobol + class CleanHtmlFilter < Filter + def call + # Replace the title + at_css('.settitle').content = 'GnuCOBOL' + + # Remove the Table of Contents + # It's huge and the DevDocs sidebar is basically a direct copy + css('.contents, .contents-heading').remove + + # Remove the changelog + at_css('p').remove + at_css('ol').remove + + # Remove everything after Appendix B + # This includes the license text, the document changelog, the compiler changelog and the footnote + start_element = at_css('a[name="Appendix-C-_002d-GNU-Free-Documentation-License"]').previous_element + next_element = start_element.next_element + until start_element.nil? + start_element.remove + start_element = next_element + next_element = start_element.nil? ? nil : start_element.next_element + end + + # Make headers bigger + css('h4').each {|node| node.name = 'h3'} + + # Remove the newlines + # All paragraphs are inside

tags already anyways + css('br').remove + + # The original document contains sub-headers surrounded by equal signs + # Convert that to actual header elements + css('div[align="center"]').each do |node| + if node.content.include?('=' * 50) + node.replace('


') + else + node.remove_attribute('align') + node.name = 'h4' + end + end + + # Remove all hr's after h4's + css('h4').each do |node| + next_element = node.next_element + if !next_element.nil? && next_element.name == 'hr' + next_element.remove + end + end + + doc + end + end + end +end diff --git a/lib/docs/filters/gnu_cobol/entries.rb b/lib/docs/filters/gnu_cobol/entries.rb new file mode 100644 index 0000000000..a11e2edd22 --- /dev/null +++ b/lib/docs/filters/gnu_cobol/entries.rb @@ -0,0 +1,50 @@ +module Docs + class GnuCobol + class EntriesFilter < Docs::EntriesFilter + # The entire reference is one big page, so get_name and get_type are not necessary + + def additional_entries + entries = [] + + css('.contents > ul > li:not(:last-child)').each do |node| + parent = node.at_css('a') + + entries << create_entry(parent, parent) + + node.css('ul a').each do |link| + entries << create_entry(parent, link) + end + end + + entries.compact + end + + def create_entry(parent_link, current_link) + name = current_link.content + id = current_link['href'][1..-1] + type = parent_link.content + + # The navigation link don't actually navigate to the correct header + # Instead, it references an `a` tag above it + # The `a` tag it is referencing is removed by a filter further down the pipeline + # This adds the id to the correct header element + target_node = at_css("a[name='#{id}']") + target_node.next_element.next_element['id'] = id + + if name.start_with?('Appendix') + type = 'Appendices' + end + + # Everything after Appendix B is removed by the clean_html filter + ignored_names = [ + 'Appendix C - GNU Free Documentation License', + 'Appendix D - Summary of Document Changes', + 'Appendix E - Summary of Compiler Changes since 2009 and version v1-1', + 'Index' + ] + + ignored_names.include?(name) ? nil : [name, id, type] + end + end + end +end diff --git a/lib/docs/scrapers/gnu_cobol.rb b/lib/docs/scrapers/gnu_cobol.rb new file mode 100644 index 0000000000..75d939a947 --- /dev/null +++ b/lib/docs/scrapers/gnu_cobol.rb @@ -0,0 +1,20 @@ +module Docs + class GnuCobol < UrlScraper + self.name = 'GnuCOBOL' + self.slug = 'gnu_cobol' + self.type = 'simple' + self.release = '2.2' + self.base_url = 'https://open-cobol.sourceforge.io/HTML/gnucobpg.html' + self.links = { + home: 'https://sourceforge.net/projects/open-cobol/', + code: 'https://sourceforge.net/p/open-cobol/code/HEAD/tree/trunk/' + } + + html_filters.push 'gnu_cobol/entries', 'gnu_cobol/clean_html' + + options[:attribution] = <<-HTML + Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ Licensed under the GNU Free Documentation License. + HTML + end +end From ad53c656abcfeff3f321397be4c1094199acee28 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 7 Nov 2018 19:04:12 +0100 Subject: [PATCH 0041/2822] Force Travis build From 504f95e4f4d0aaf16c2d4c49c50c477910cd3c6b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 25 Nov 2018 00:28:36 +0100 Subject: [PATCH 0042/2822] Fix single documentation search on Android --- assets/javascripts/views/search/search_scope.coffee | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/assets/javascripts/views/search/search_scope.coffee b/assets/javascripts/views/search/search_scope.coffee index 24de57ce9a..9be90dd2d0 100644 --- a/assets/javascripts/views/search/search_scope.coffee +++ b/assets/javascripts/views/search/search_scope.coffee @@ -7,6 +7,7 @@ class app.views.SearchScope extends app.View @events: keydown: 'onKeydown' + textInput: 'onTextInput' @routes: after: 'afterRoute' @@ -100,6 +101,12 @@ class app.views.SearchScope extends app.View $.stopEvent(event) if @doc return + onTextInput: (event) => + if event.data == ' ' and app.isMobile() + @search @input.value[0...@input.selectionStart] + $.stopEvent(event) if @doc + return + extractHashValue: -> if value = @getHashValue() newHash = $.urlDecode(location.hash).replace "##{SEARCH_PARAM}=#{value} ", "##{SEARCH_PARAM}=" From 8039610888592c57d5ed4d694c0633120154bace Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 25 Nov 2018 01:22:15 +0100 Subject: [PATCH 0043/2822] Remove scope by clicking on it or by backspacing into it --- assets/javascripts/views/search/search.coffee | 7 +++++++ assets/javascripts/views/search/search_scope.coffee | 13 +++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/views/search/search.coffee b/assets/javascripts/views/search/search.coffee index 8fab885cd4..ad5b6a0c67 100644 --- a/assets/javascripts/views/search/search.coffee +++ b/assets/javascripts/views/search/search.coffee @@ -30,6 +30,9 @@ class app.views.Search extends app.View .on 'results', @onResults .on 'end', @onEnd + @scope + .on 'change', @onScopeChange + app.on 'ready', @onReady $.on window, 'hashchange', @searchUrl $.on window, 'focus', @onWindowFocus @@ -138,6 +141,10 @@ class app.views.Search extends app.View $.stopEvent(event) return + onScopeChange: => + @value = '' + return + afterRoute: (name, context) => return if app.shortcuts.eventInProgress?.name is 'escape' @reset(true) if not context.init and app.router.isIndex() diff --git a/assets/javascripts/views/search/search_scope.coffee b/assets/javascripts/views/search/search_scope.coffee index 24de57ce9a..8ad033ecd2 100644 --- a/assets/javascripts/views/search/search_scope.coffee +++ b/assets/javascripts/views/search/search_scope.coffee @@ -6,6 +6,7 @@ class app.views.SearchScope extends app.View tag: '._search-tag' @events: + click: 'onClick' keydown: 'onKeydown' @routes: @@ -87,11 +88,19 @@ class app.views.SearchScope extends app.View @trigger 'change', null, previousDoc return + onClick: (event) => + if event.target is @tag + @reset() + $.trigger @input, 'input' + $.stopEvent(event) + return + onKeydown: (event) => if event.which is 8 # backspace - if @doc and not @input.value - $.stopEvent(event) + if @doc and @input.selectionEnd is 0 @reset() + $.trigger @input, 'input' + $.stopEvent(event) else if not @doc and @input.value return if event.ctrlKey or event.metaKey or event.altKey or event.shiftKey if event.which is 9 or # tab From c27868debc9d7baf48f97b8ecc9bb555d8083467 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 3 Dec 2018 23:00:06 +0100 Subject: [PATCH 0044/2822] Simplify re-triggering search after scope change --- assets/javascripts/views/search/search.coffee | 1 + assets/javascripts/views/search/search_scope.coffee | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/javascripts/views/search/search.coffee b/assets/javascripts/views/search/search.coffee index ad5b6a0c67..7d05f0a06a 100644 --- a/assets/javascripts/views/search/search.coffee +++ b/assets/javascripts/views/search/search.coffee @@ -143,6 +143,7 @@ class app.views.Search extends app.View onScopeChange: => @value = '' + @onInput() return afterRoute: (name, context) => diff --git a/assets/javascripts/views/search/search_scope.coffee b/assets/javascripts/views/search/search_scope.coffee index 8ad033ecd2..4a43f6414d 100644 --- a/assets/javascripts/views/search/search_scope.coffee +++ b/assets/javascripts/views/search/search_scope.coffee @@ -91,7 +91,6 @@ class app.views.SearchScope extends app.View onClick: (event) => if event.target is @tag @reset() - $.trigger @input, 'input' $.stopEvent(event) return @@ -99,7 +98,6 @@ class app.views.SearchScope extends app.View if event.which is 8 # backspace if @doc and @input.selectionEnd is 0 @reset() - $.trigger @input, 'input' $.stopEvent(event) else if not @doc and @input.value return if event.ctrlKey or event.metaKey or event.altKey or event.shiftKey From c6f0f1693fdcc952d47a9ed8035f4194e7f3cfee Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 4 Dec 2018 00:10:28 +0100 Subject: [PATCH 0045/2822] Limit new event listener to Chrome for Android --- assets/javascripts/lib/util.coffee | 4 ++++ .../javascripts/views/search/search_scope.coffee | 16 ++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/lib/util.coffee b/assets/javascripts/lib/util.coffee index 058106fdff..001b13dee7 100644 --- a/assets/javascripts/lib/util.coffee +++ b/assets/javascripts/lib/util.coffee @@ -352,6 +352,10 @@ isIE = null $.isIE = -> isIE ?= navigator.userAgent?.indexOf('MSIE') >= 0 || navigator.userAgent?.indexOf('rv:11.0') >= 0 +isChromeForAndroid = null +$.isChromeForAndroid = -> + isChromeForAndroid ?= navigator.userAgent?.indexOf('Android') >= 0 && /Chrome\/([.0-9])+ Mobile/.test(navigator.userAgent) + isAndroid = null $.isAndroid = -> isAndroid ?= navigator.userAgent?.indexOf('Android') >= 0 diff --git a/assets/javascripts/views/search/search_scope.coffee b/assets/javascripts/views/search/search_scope.coffee index 9be90dd2d0..8b104011c9 100644 --- a/assets/javascripts/views/search/search_scope.coffee +++ b/assets/javascripts/views/search/search_scope.coffee @@ -88,23 +88,27 @@ class app.views.SearchScope extends app.View @trigger 'change', null, previousDoc return + doScopeSearch: (event) => + @search @input.value[0...@input.selectionStart] + $.stopEvent(event) if @doc + return + onKeydown: (event) => if event.which is 8 # backspace if @doc and not @input.value $.stopEvent(event) @reset() - else if not @doc and @input.value + else if not @doc and @input.value and not $.isChromeForAndroid() return if event.ctrlKey or event.metaKey or event.altKey or event.shiftKey if event.which is 9 or # tab (event.which is 32 and app.isMobile()) # space - @search @input.value[0...@input.selectionStart] - $.stopEvent(event) if @doc + @doScopeSearch(event) return onTextInput: (event) => - if event.data == ' ' and app.isMobile() - @search @input.value[0...@input.selectionStart] - $.stopEvent(event) if @doc + return unless $.isChromeForAndroid() + if not @doc and @input.value and event.data == ' ' + @doScopeSearch(event) return extractHashValue: -> From 4d4a8f92002d3d7643ab34fa6edb900fd251fdf2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 4 Dec 2018 00:12:27 +0100 Subject: [PATCH 0046/2822] Change cursor on search tag --- assets/stylesheets/components/_header.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/stylesheets/components/_header.scss b/assets/stylesheets/components/_header.scss index 5bae8901d8..e74830aa65 100644 --- a/assets/stylesheets/components/_header.scss +++ b/assets/stylesheets/components/_header.scss @@ -215,5 +215,6 @@ color: var(--textColorLight); background: var(--searchTagBackground); border-radius: 2px; + cursor: pointer; @extend %truncate-text; } From f948577584325299ad0b568f5f5312d6b1237a78 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Tue, 11 Dec 2018 19:41:52 +0100 Subject: [PATCH 0047/2822] Add Pony filters/scraper --- lib/docs/filters/pony/clean_html.rb | 10 ++++++++++ lib/docs/filters/pony/container.rb | 9 +++++++++ lib/docs/filters/pony/entries.rb | 14 ++++++++++++++ lib/docs/scrapers/pony.rb | 12 ++++++++++++ 4 files changed, 45 insertions(+) create mode 100644 lib/docs/filters/pony/clean_html.rb create mode 100644 lib/docs/filters/pony/container.rb create mode 100644 lib/docs/filters/pony/entries.rb create mode 100644 lib/docs/scrapers/pony.rb diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb new file mode 100644 index 0000000000..0aac0f7ab1 --- /dev/null +++ b/lib/docs/filters/pony/clean_html.rb @@ -0,0 +1,10 @@ +module Docs + class Pony + class CleanHtmlFilter < Filter + def call + css('.headerlink').remove + doc + end + end + end +end diff --git a/lib/docs/filters/pony/container.rb b/lib/docs/filters/pony/container.rb new file mode 100644 index 0000000000..f29db7d492 --- /dev/null +++ b/lib/docs/filters/pony/container.rb @@ -0,0 +1,9 @@ +module Docs + class Pony + class ContainerFilter < Filter + def call + css('article') + end + end + end +end diff --git a/lib/docs/filters/pony/entries.rb b/lib/docs/filters/pony/entries.rb new file mode 100644 index 0000000000..09ffe59571 --- /dev/null +++ b/lib/docs/filters/pony/entries.rb @@ -0,0 +1,14 @@ +module Docs + class Pony + class EntriesFilter < Docs::EntriesFilter + def get_name + binding.pry + context[:html_title].sub(/ - .*/, '') + end + + def get_type + subpath.split('-')[0][1..-1] + end + end + end +end diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb new file mode 100644 index 0000000000..9863ed76a0 --- /dev/null +++ b/lib/docs/scrapers/pony.rb @@ -0,0 +1,12 @@ +module Docs + class Pony < UrlScraper + self.type = 'pony' + self.release = '0.25.0' + self.base_url = 'http://localhost:2015' + #self.base_url = 'https://stdlib.ponylang.io/' + + html_filters.push 'pony/container', 'pony/entries', 'pony/clean_html' + options[:attribution] = "Me" + options[:follow_links] = ->(filter) { filter.subpath !~ /src/ } + end +end From 04ccf963961ede13401bf888d73fb6900ceecc56 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:24:03 +0100 Subject: [PATCH 0048/2822] Remove header handling This is already taken care of in the container filter. --- lib/docs/filters/pony/clean_html.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb index 0aac0f7ab1..248c3de7da 100644 --- a/lib/docs/filters/pony/clean_html.rb +++ b/lib/docs/filters/pony/clean_html.rb @@ -2,7 +2,6 @@ module Docs class Pony class CleanHtmlFilter < Filter def call - css('.headerlink').remove doc end end From dea577a1a3e36b4052cb4c82ec0cbbd7e7398f80 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:24:34 +0100 Subject: [PATCH 0049/2822] Fix type naming and remove debug statement --- lib/docs/filters/pony/entries.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/docs/filters/pony/entries.rb b/lib/docs/filters/pony/entries.rb index 09ffe59571..0dbc81c8e4 100644 --- a/lib/docs/filters/pony/entries.rb +++ b/lib/docs/filters/pony/entries.rb @@ -2,12 +2,11 @@ module Docs class Pony class EntriesFilter < Docs::EntriesFilter def get_name - binding.pry context[:html_title].sub(/ - .*/, '') end def get_type - subpath.split('-')[0][1..-1] + subpath.split('-')[0][0..-1] end end end From 56c6fe95afe686dc78a70b16c684cefef7aec156 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:25:07 +0100 Subject: [PATCH 0050/2822] Use live URL --- lib/docs/scrapers/pony.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 9863ed76a0..6fb1dd566c 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -2,8 +2,7 @@ module Docs class Pony < UrlScraper self.type = 'pony' self.release = '0.25.0' - self.base_url = 'http://localhost:2015' - #self.base_url = 'https://stdlib.ponylang.io/' + self.base_url = 'https://stdlib.ponylang.io/' html_filters.push 'pony/container', 'pony/entries', 'pony/clean_html' options[:attribution] = "Me" From 6a8a80d190f4791009fde522ea37c00abfdb7c6e Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:25:23 +0100 Subject: [PATCH 0051/2822] Fix ordering of filters --- lib/docs/scrapers/pony.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 6fb1dd566c..a9cbd6c31a 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -4,7 +4,7 @@ class Pony < UrlScraper self.release = '0.25.0' self.base_url = 'https://stdlib.ponylang.io/' - html_filters.push 'pony/container', 'pony/entries', 'pony/clean_html' + html_filters.push 'pony/container', 'pony/clean_html', 'pony/entries' options[:attribution] = "Me" options[:follow_links] = ->(filter) { filter.subpath !~ /src/ } end From 21aca67a5330088eff9768c962bee5b3344b20de Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:25:36 +0100 Subject: [PATCH 0052/2822] Deal with trailing slash and 'src' URLs --- lib/docs/scrapers/pony.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index a9cbd6c31a..0201ed1876 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -6,6 +6,7 @@ class Pony < UrlScraper html_filters.push 'pony/container', 'pony/clean_html', 'pony/entries' options[:attribution] = "Me" - options[:follow_links] = ->(filter) { filter.subpath !~ /src/ } + options[:trailing_slash] = false + options[:skip_patterns] = [/src/] end end From 81efc885ec2256fd6688da1c247346591d143c63 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Thu, 13 Dec 2018 22:33:17 +0100 Subject: [PATCH 0053/2822] Add logos --- public/icons/docs/pony/16.png | Bin 0 -> 1979 bytes public/icons/docs/pony/16@2x.png | Bin 0 -> 1979 bytes public/icons/docs/pony/SOURCE | 1 + 3 files changed, 1 insertion(+) create mode 100644 public/icons/docs/pony/16.png create mode 100644 public/icons/docs/pony/16@2x.png create mode 100644 public/icons/docs/pony/SOURCE diff --git a/public/icons/docs/pony/16.png b/public/icons/docs/pony/16.png new file mode 100644 index 0000000000000000000000000000000000000000..daed6509fb0efbcee6aceaa42047dd39ed731f03 GIT binary patch literal 1979 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 Date: Fri, 14 Dec 2018 10:13:51 +0100 Subject: [PATCH 0054/2822] Remove unnecessary clean html filter --- lib/docs/filters/pony/clean_html.rb | 9 --------- lib/docs/scrapers/pony.rb | 3 ++- 2 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 lib/docs/filters/pony/clean_html.rb diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb deleted file mode 100644 index 248c3de7da..0000000000 --- a/lib/docs/filters/pony/clean_html.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Docs - class Pony - class CleanHtmlFilter < Filter - def call - doc - end - end - end -end diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 0201ed1876..091c22fe81 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -4,8 +4,9 @@ class Pony < UrlScraper self.release = '0.25.0' self.base_url = 'https://stdlib.ponylang.io/' - html_filters.push 'pony/container', 'pony/clean_html', 'pony/entries' + html_filters.push 'pony/container', 'pony/entries' options[:attribution] = "Me" + options[:trailing_slash] = false options[:skip_patterns] = [/src/] end From d27c1c47a256099814310bed5672796928dc5d67 Mon Sep 17 00:00:00 2001 From: Harm Aarts Date: Fri, 14 Dec 2018 10:14:10 +0100 Subject: [PATCH 0055/2822] Fix attribution --- lib/docs/scrapers/pony.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 091c22fe81..702bc1ef31 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -5,7 +5,10 @@ class Pony < UrlScraper self.base_url = 'https://stdlib.ponylang.io/' html_filters.push 'pony/container', 'pony/entries' - options[:attribution] = "Me" + + options[:attribution] = <<-HTML + © 2018 Pony Developers + HTML options[:trailing_slash] = false options[:skip_patterns] = [/src/] From 46819a3e87be6ce783be0169c2b76afb4ccacd52 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 17 Dec 2018 14:11:25 +0100 Subject: [PATCH 0056/2822] Update Qt docs * Added Qt 5.12 docs (latest LTS release) * Use a stable URL for Qt 5.11 docs --- lib/docs/scrapers/qt.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb index 412eca6d69..a1c4e09b9a 100644 --- a/lib/docs/scrapers/qt.rb +++ b/lib/docs/scrapers/qt.rb @@ -103,9 +103,14 @@ class Qt < UrlScraper Licensed under the GNU Free Documentation License, Version 1.3. HTML + version '5.12' do + self.release = '5.12' + self.base_url = 'https://doc.qt.io/qt-5.12/' + end + version '5.11' do self.release = '5.11' - self.base_url = 'https://doc.qt.io/qt-5/' + self.base_url = 'https://doc.qt.io/qt-5.11/' end version '5.9' do From 5da021471720c5c02fe30762a178d6148acb84e7 Mon Sep 17 00:00:00 2001 From: Filipe Silva Date: Sat, 15 Dec 2018 17:41:49 +0000 Subject: [PATCH 0057/2822] Add RxJS The current RxJS documentation site is https://rxjs.dev/. It is very similar to Angular documentation site (https://angular.io/) so I reused most code. Images on the documentation site seem to be broken and so the scrapper cannot download them. You can see an example of a broken image at https://rxjs.dev/api/operators/buffer. Related to https://github.com/freeCodeCamp/devdocs/issues/939 --- assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_rxjs.scss | 24 ++++++ lib/docs/filters/rxjs/clean_html.rb | 101 ++++++++++++++++++++++++ lib/docs/filters/rxjs/entries.rb | 23 ++++++ lib/docs/scrapers/rxjs.rb | 94 ++++++++++++++++++++++ public/icons/docs/rxjs/16.png | Bin 0 -> 5356 bytes public/icons/docs/rxjs/16@2x.png | Bin 0 -> 5084 bytes public/icons/docs/rxjs/SOURCE | 1 + 8 files changed, 244 insertions(+) create mode 100644 assets/stylesheets/pages/_rxjs.scss create mode 100644 lib/docs/filters/rxjs/clean_html.rb create mode 100644 lib/docs/filters/rxjs/entries.rb create mode 100644 lib/docs/scrapers/rxjs.rb create mode 100644 public/icons/docs/rxjs/16.png create mode 100644 public/icons/docs/rxjs/16@2x.png create mode 100644 public/icons/docs/rxjs/SOURCE diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index fd6ffffd71..bcd8a7f20d 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -94,6 +94,7 @@ 'pages/rfc', 'pages/rubydoc', 'pages/rust', + 'pages/rxjs', 'pages/sinon', 'pages/socketio', 'pages/sphinx', diff --git a/assets/stylesheets/pages/_rxjs.scss b/assets/stylesheets/pages/_rxjs.scss new file mode 100644 index 0000000000..15e1252b6a --- /dev/null +++ b/assets/stylesheets/pages/_rxjs.scss @@ -0,0 +1,24 @@ +._rxjs { + @extend %simple; + + .pre-title { @extend %pre-heading; } + + .breadcrumbs { @extend %note; } + .banner { @extend %note-green; } + code.stable { @extend %label-green; } + code.experimental { @extend %label-orange; } + code.deprecated { @extend %label-red; } + .alert.is-important { @extend %note-red; } + .alert.is-helpful, .breadcrumbs { @extend %note-blue; } + + .breadcrumbs { padding-left: 2em; } + + img { margin: 1em 0; } + + .location-badge { + font-style: italic; + text-align: right; + } + + td h3 { margin: 0 !important; } +} diff --git a/lib/docs/filters/rxjs/clean_html.rb b/lib/docs/filters/rxjs/clean_html.rb new file mode 100644 index 0000000000..1056b1a602 --- /dev/null +++ b/lib/docs/filters/rxjs/clean_html.rb @@ -0,0 +1,101 @@ +module Docs + class Rxjs + class CleanHtmlFilter < Filter + def call + if root_page? + css('.card-container').remove + at_css('h1').content = 'RxJS Documentation' + end + + css('br', 'hr', '.material-icons', '.header-link', '.breadcrumb').remove + + css('.content', 'article', '.api-header', 'section', '.instance-member').each do |node| + node.before(node.children).remove + end + + css('label', 'h2 > em', 'h3 > em').each do |node| + node.name = 'code' + end + + css('h1 + code').each do |node| + node.before('

') + while node.next_element.name == 'code' + node.previous_element << ' ' + node.previous_element << node.next_element + end + node.previous_element.prepend_child(node) + end + + css('td h3', '.l-sub-section > h3', '.alert h3', '.row-margin > h3', '.api-heading ~ h3', '.api-heading + h2', '.metadata-member h3').each do |node| + node.name = 'h4' + end + + css('.l-sub-section', '.alert', '.banner').each do |node| + node.name = 'blockquote' + end + + css('.file').each do |node| + node.content = node.content.strip + end + + css('.filetree .children').each do |node| + node.css('.file').each do |n| + n.content = " #{n.content}" + end + end + + css('.filetree').each do |node| + node.content = node.css('.file').map(&:inner_html).join("\n") + node.name = 'pre' + node.remove_attribute('class') + end + + css('pre').each do |node| + node.content = node.content.strip + + node['data-language'] = 'typescript' if node['path'].try(:ends_with?, '.ts') + node['data-language'] = 'html' if node['path'].try(:ends_with?, '.html') + node['data-language'] = 'css' if node['path'].try(:ends_with?, '.css') + node['data-language'] = 'js' if node['path'].try(:ends_with?, '.js') + node['data-language'] = 'json' if node['path'].try(:ends_with?, '.json') + node['data-language'] = node['language'].sub(/\Ats/, 'typescript').strip if node['language'] + node['data-language'] ||= 'typescript' if node.content.start_with?('@') + + node.before(%(
#{node['title']}
)) if node['title'] + + if node['class'] && node['class'].include?('api-heading') + node.name = 'h3' + node.inner_html = "#{node.inner_html}" + end + + node.remove_attribute('path') + node.remove_attribute('region') + node.remove_attribute('linenums') + node.remove_attribute('title') + node.remove_attribute('language') + node.remove_attribute('hidecopy') + node.remove_attribute('class') + end + + css('h1[class]').remove_attr('class') + css('table[class]').remove_attr('class') + css('table[width]').remove_attr('width') + css('tr[style]').remove_attr('style') + + if at_css('.api-type-label.module') + at_css('h1').content = subpath.remove('api/') + end + + css('th h3').each do |node| + node.name = 'span' + end + + css('code code').each do |node| + node.before(node.children).remove + end + + doc + end + end + end +end diff --git a/lib/docs/filters/rxjs/entries.rb b/lib/docs/filters/rxjs/entries.rb new file mode 100644 index 0000000000..020ce1eb68 --- /dev/null +++ b/lib/docs/filters/rxjs/entries.rb @@ -0,0 +1,23 @@ +module Docs + class Rxjs + class EntriesFilter < Docs::EntriesFilter + def get_name + name = at_css('h1').content + name.prepend "#{$1}. " if subpath =~ /\-pt(\d+)/ + name + end + + def get_type + if slug.start_with?('guide') + 'Guide' + elsif at_css('.api-type-label.module') + name.split('/').first + elsif slug.start_with?('api/') + slug.split('/').second + else + 'Miscellaneous' + end + end + end + end +end diff --git a/lib/docs/scrapers/rxjs.rb b/lib/docs/scrapers/rxjs.rb new file mode 100644 index 0000000000..1825fc80df --- /dev/null +++ b/lib/docs/scrapers/rxjs.rb @@ -0,0 +1,94 @@ +require 'yajl/json_gem' + +module Docs + class Rxjs < UrlScraper + self.name = 'RxJS' + self.type = 'rxjs' + self.links = { + home: 'https://rxjs.dev/', + code: 'https://github.com/ReactiveX/rxjs' + } + + options[:max_image_size] = 256_000 + + options[:attribution] = <<-HTML + © 2015–2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
+ Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0. + HTML + + module Common + private + + def initial_urls + initial_urls = [] + + Request.run "#{self.class.base_url}generated/navigation.json" do |response| + data = JSON.parse(response.body) + dig = ->(entry) do + initial_urls << url_for("generated/docs/#{entry['url']}.json") if entry['url'] && entry['url'] != 'api' + entry['children'].each(&dig) if entry['children'] + end + data['SideNav'].each(&dig) + end + + Request.run "#{self.class.base_url}generated/docs/api/api-list.json" do |response| + data = JSON.parse(response.body) + dig = ->(entry) do + initial_urls << url_for("generated/docs/#{entry['path']}.json") if entry['path'] + initial_urls << url_for("generated/docs/api/#{entry['name']}.json") if entry['name'] && !entry['path'] + entry['items'].each(&dig) if entry['items'] + end + data.each(&dig) + end + + initial_urls + end + + def handle_response(response) + if response.mime_type.include?('json') + begin + response.options[:response_body] = JSON.parse(response.body)['contents'] + rescue JSON::ParserError + response.options[:response_body] = '' + end + response.headers['Content-Type'] = 'text/html' + response.url.path = response.url.path.sub('/generated/docs/', '/').remove('.json') + response.effective_url.path = response.effective_url.path.sub('/generated/docs/', '/').remove('.json') + end + super + end + end + + version do + self.release = '6.3.3' + self.base_url = 'https://rxjs.dev/' + self.root_path = 'guide/overview' + + html_filters.push 'rxjs/clean_html', 'rxjs/entries' + + options[:follow_links] = false + options[:only_patterns] = [/\Aguide/, /\Aapi/] + options[:fix_urls_before_parse] = ->(url) do + url.sub! %r{\Aguide/}, '/guide/' + url.sub! %r{\Aapi/}, '/api/' + url.sub! %r{\Agenerated/}, '/generated/' + url + end + + include Docs::Rxjs::Common + end + + private + + def parse(response) + response.body.gsub! '', 'live example' + response.body.gsub! ' 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 KMNUMnLSTX!`8aC; literal 0 HcmV?d00001 diff --git a/public/icons/docs/rxjs/16@2x.png b/public/icons/docs/rxjs/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a45cd5cb84184a412b136a825e6303f6d4fbcd0b GIT binary patch literal 5084 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 Date: Tue, 18 Dec 2018 16:37:30 -0500 Subject: [PATCH 0058/2822] Add license info --- lib/docs/scrapers/pony.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 702bc1ef31..5f1bbc046f 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -7,7 +7,9 @@ class Pony < UrlScraper html_filters.push 'pony/container', 'pony/entries' options[:attribution] = <<-HTML - © 2018 Pony Developers + © 2016-2018, The Pony Developers
+ © 2014-2015, Causality Ltd.
+ Licensed under the BSD 2-Clause License HTML options[:trailing_slash] = false From d0cf5d745ca35b46aaf8c4361f88e489c6943cec Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 26 Jan 2019 23:09:27 +0100 Subject: [PATCH 0059/2822] Add ReactiveX documentation --- .../templates/pages/about_tmpl.coffee | 5 ++ assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_reactivex.scss | 11 +++ lib/docs/filters/reactivex/clean_html.rb | 65 ++++++++++++++++++ lib/docs/filters/reactivex/entries.rb | 14 ++++ lib/docs/scrapers/reactivex.rb | 23 +++++++ public/icons/docs/reactivex/SOURCE | 1 + public/icons/docs/reactivex/logo.png | Bin 0 -> 1521 bytes public/icons/docs/reactivex/logo@2x.png | Bin 0 -> 5084 bytes 9 files changed, 120 insertions(+) create mode 100644 assets/stylesheets/pages/_reactivex.scss create mode 100644 lib/docs/filters/reactivex/clean_html.rb create mode 100644 lib/docs/filters/reactivex/entries.rb create mode 100644 lib/docs/scrapers/reactivex.rb create mode 100644 public/icons/docs/reactivex/SOURCE create mode 100644 public/icons/docs/reactivex/logo.png create mode 100644 public/icons/docs/reactivex/logo@2x.png diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 5d99740368..8e8eebc27f 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -595,6 +595,11 @@ credits = [ '2013-present Facebook Inc.', 'MIT', 'https://raw.githubusercontent.com/facebook/react/master/LICENSE' + ], [ + 'ReactiveX', + 'ReactiveX contributors', + 'Apache', + 'https://raw.githubusercontent.com/ReactiveX/reactivex.github.io/develop/LICENSE' ], [ 'Redis', '2009-2018 Salvatore Sanfilippo', diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 2a64e5c97d..0f239f814f 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -89,6 +89,7 @@ 'pages/ramda', 'pages/rdoc', 'pages/react_native', + 'pages/reactivex', 'pages/redis', 'pages/rethinkdb', 'pages/rfc', diff --git a/assets/stylesheets/pages/_reactivex.scss b/assets/stylesheets/pages/_reactivex.scss new file mode 100644 index 0000000000..f544865dcb --- /dev/null +++ b/assets/stylesheets/pages/_reactivex.scss @@ -0,0 +1,11 @@ +._reactivex { + @extend %simple; + + img { + max-width: 50%; + } + + figure { + margin: 0; + } +} diff --git a/lib/docs/filters/reactivex/clean_html.rb b/lib/docs/filters/reactivex/clean_html.rb new file mode 100644 index 0000000000..2338bb5c68 --- /dev/null +++ b/lib/docs/filters/reactivex/clean_html.rb @@ -0,0 +1,65 @@ +module Docs + class Reactivex + class CleanHtmlFilter < Filter + def call + # Can't use options[:container] because then the navigation bar wouldn't be scraped + @doc = at_css(root_page? ? '.col-md-8' : '.col-sm-8') + + # Remove breadcrumbs + css('.breadcrumb').remove + + # Replace interactive demo's with links to them + css('rx-marbles').each do |node| + node.name = 'a' + node.content = 'Open interactive diagram on rxmarbles.com' + node['href'] = "https://rxmarbles.com/##{node['key']}" + node.remove_attribute('key') + end + + # Syntax-highlighted code blocks + css('.code').each do |node| + language = node['class'].gsub('code', '').strip + + pre = node.at_css('pre') + pre['data-language'] = language + pre.content = pre.content.strip + + node.replace(pre) + end + + # Assume JavaScript syntax for code blocks not surrounded by a div.code + css('pre').each do |node| + next if node['data-language'] + + node.content = node.content.strip + node['data-language'] = 'javascript' + end + + # Make language specific implementation titles prettier + css('.panel-title').each do |node| + # Remove the link, keep the text + node.content = node.content + + # Transform it into a header for better styling + node.name = 'h3' + end + + # Remove language specific implementations that are TBD + css('span').each do |node| + next unless node.content == 'TBD' + node.xpath('./ancestor::div[contains(@class, "panel-default")][1]').remove + end + + # Remove the : at the end of "Language-Specific Information:" + css('h2').each do |node| + node.inner_html = node.inner_html.gsub('Information:', 'Information') + end + + # Remove attributes to reduce file size + css('div').remove_attr('class') + + doc + end + end + end +end diff --git a/lib/docs/filters/reactivex/entries.rb b/lib/docs/filters/reactivex/entries.rb new file mode 100644 index 0000000000..d238ffb4d2 --- /dev/null +++ b/lib/docs/filters/reactivex/entries.rb @@ -0,0 +1,14 @@ +module Docs + class Reactivex + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').content + end + + def get_type + links = css('.breadcrumb > li:nth-child(2) > a') + links.size > 0 ? links.first.content : 'Manual' + end + end + end +end diff --git a/lib/docs/scrapers/reactivex.rb b/lib/docs/scrapers/reactivex.rb new file mode 100644 index 0000000000..1374468b48 --- /dev/null +++ b/lib/docs/scrapers/reactivex.rb @@ -0,0 +1,23 @@ +module Docs + class Reactivex < UrlScraper + self.type = 'reactivex' + self.name = 'ReactiveX' + self.base_url = 'http://reactivex.io/' + self.root_path = 'intro.html' + self.links = { + home: 'http://reactivex.io/' + } + + html_filters.push 'reactivex/entries', 'reactivex/clean_html' + + options[:download_images] = false + + options[:only_patterns] = [/documentation\//] + options[:skip_patterns] = [/ko\//] + + options[:attribution] = <<-HTML + © ReactiveX contributors
+ Licensed under the Apache License 2.0. + HTML + end +end diff --git a/public/icons/docs/reactivex/SOURCE b/public/icons/docs/reactivex/SOURCE new file mode 100644 index 0000000000..f9c25e1e38 --- /dev/null +++ b/public/icons/docs/reactivex/SOURCE @@ -0,0 +1 @@ +https://github.com/ReactiveX/reactivex.github.io/blob/develop/assets/Rx_Icon.png diff --git a/public/icons/docs/reactivex/logo.png b/public/icons/docs/reactivex/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..790f839053e34c601f80928f7fecc99243099d91 GIT binary patch literal 1521 zcmah|dsxk99RHkiD$y)Z~!tni*7$tmRtL~dU*gFMgdVVKo?tzst4BC z0#AGa`vjnWSn}CfQviAS%o*O!tbl^60Zl^?1vMZk0}&J{=~zWkKyf1tTr##&_yj;* zfTVJ`Q(!rg%c0qXm?*?PgCht3R?t>x42bT=eu~u;NgR?XDhvqQgUb|?DYRYCHbZj@ zVits4a2eSAW=Ebvd;#e$q>~V`A>=_UkVz#nav!7uiKAgbL7G7_ARGr@BX2NF%Fde3PAEfo)~?=19(M1SOKya!d+1K`&|odfO#_~-U1jV62uxFm3ot#s`}H4h<3;Hn{p zgUbSU4BQd$=fU3wUjnWcd@FeB20jze`nKp2mOW{~o7Psne`2WiTB! zr}%Y!N!E(Nz?`x+M)XSWESIa<2d(y0=2L3uFwk2Q%q|)zZPG0i?zD7QtsQ&4F~Ho^ z$~|y4M^qi`!V$709+#=3Ldj>R61v`&;!xuf&=v&~tTB&7$Cr636KlGP6Mu z`rQjGQw=olQ0$1egK`?Hb6qebt<%udQ5+v%*xlf#K;Q7<4kn~o?`Z zY>=CigZF?tvOcos1|x@j#D^nCeKh)G#U~~#H68P*&1a>b+uA9|jvGJ0j4^yMagzNX zlc(IfKlRJ6zBVz3!?dyoc4plyui5aP^WEHs zKJ(@;Sh#5MqwjtFu;g)lgMUDvMNsh4Wy?cWti-A(p-;nBzZD+Qn~7DeS&Mbg8h==C zxuFmGZrt?F=EyCG+S(Mo?Omqmy_olZ{3&)j;&wc5-nlEjpW389#|t9C07=uL)g>f; zusbPv&)$@M7?`^M=d=R{52YXe<;c-v8OL#AP-fQ2Q`x7_{F-z2-1!T+82sCiyo;Cg zms_t~y_SFd#!$fOruD7c1-};-72mmAGHiIFD!hJ(qu)Me#7LF1k1D`V6=?4t9>@Ze zwswtBGCp#jT+*8c}U`41q`E9N=_z|Gmy JDPx*%^xvy8X{i7J literal 0 HcmV?d00001 diff --git a/public/icons/docs/reactivex/logo@2x.png b/public/icons/docs/reactivex/logo@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a45cd5cb84184a412b136a825e6303f6d4fbcd0b GIT binary patch literal 5084 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 Date: Sun, 27 Jan 2019 16:22:06 +0100 Subject: [PATCH 0060/2822] Update Prism.js to support Groovy syntax highlighting --- assets/javascripts/vendor/prism.js | 545 +++++++++++++++++++---------- 1 file changed, 364 insertions(+), 181 deletions(-) diff --git a/assets/javascripts/vendor/prism.js b/assets/javascripts/vendor/prism.js index 09d6df8727..50b344be73 100644 --- a/assets/javascripts/vendor/prism.js +++ b/assets/javascripts/vendor/prism.js @@ -1,5 +1,5 @@ /* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+dart+django+elixir+markup-templating+erlang+go+java+json+kotlin+lua+crystal+nginx+nim+perl+php+sql+scss+python+jsx+typescript+rust+yaml */ +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+dart+django+elixir+markup-templating+erlang+go+groovy+java+json+kotlin+lua+crystal+nginx+nim+perl+php+sql+scss+python+jsx+typescript+rust+yaml */ var _self = (typeof window !== 'undefined') ? window // if in browser : ( @@ -35,7 +35,7 @@ var _ = _self.Prism = { }, type: function (o) { - return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1]; + return Object.prototype.toString.call(o).slice(8, -1); }, objId: function (obj) { @@ -98,56 +98,46 @@ var _ = _self.Prism = { /** * Insert a token before another token in a language literal * As this needs to recreate the object (we cannot actually insert before keys in object literals), - * we cannot just provide an object, we need anobject and a key. + * we cannot just provide an object, we need an object and a key. * @param inside The key (or language id) of the parent - * @param before The key to insert before. If not provided, the function appends instead. + * @param before The key to insert before. * @param insert Object with the key/value pairs to insert * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted. */ insertBefore: function (inside, before, insert, root) { root = root || _.languages; var grammar = root[inside]; - - if (arguments.length == 2) { - insert = arguments[1]; - - for (var newToken in insert) { - if (insert.hasOwnProperty(newToken)) { - grammar[newToken] = insert[newToken]; - } - } - - return grammar; - } - var ret = {}; for (var token in grammar) { - if (grammar.hasOwnProperty(token)) { if (token == before) { - for (var newToken in insert) { - if (insert.hasOwnProperty(newToken)) { ret[newToken] = insert[newToken]; } } } - ret[token] = grammar[token]; + // Do not insert token which also occur in insert. See #1525 + if (!insert.hasOwnProperty(token)) { + ret[token] = grammar[token]; + } } } + var old = root[inside]; + root[inside] = ret; + // Update references in other language definitions _.languages.DFS(_.languages, function(key, value) { - if (value === root[inside] && key != inside) { + if (value === old && key != inside) { this[key] = ret; } }); - return root[inside] = ret; + return ret; }, // Traverse a language definition with Depth First Search @@ -224,53 +214,48 @@ var _ = _self.Prism = { code: code }; + var insertHighlightedCode = function (highlightedCode) { + env.highlightedCode = highlightedCode; + + _.hooks.run('before-insert', env); + + env.element.innerHTML = env.highlightedCode; + + _.hooks.run('after-highlight', env); + _.hooks.run('complete', env); + callback && callback.call(env.element); + } + _.hooks.run('before-sanity-check', env); - if (!env.code || !env.grammar) { - if (env.code) { - _.hooks.run('before-highlight', env); - env.element.textContent = env.code; - _.hooks.run('after-highlight', env); - } + if (!env.code) { _.hooks.run('complete', env); return; } _.hooks.run('before-highlight', env); - // if (async && _self.Worker) { - // var worker = new Worker(_.filename); - - // worker.onmessage = function(evt) { - // env.highlightedCode = evt.data; - - // _.hooks.run('before-insert', env); - - // env.element.innerHTML = env.highlightedCode; - - // callback && callback.call(env.element); - // _.hooks.run('after-highlight', env); - // _.hooks.run('complete', env); - // }; - - // worker.postMessage(JSON.stringify({ - // language: env.language, - // code: env.code, - // immediateClose: true - // })); - // } - // else { - env.highlightedCode = _.highlight(env.code, env.grammar, env.language); - - _.hooks.run('before-insert', env); + if (!env.grammar) { + insertHighlightedCode(_.util.encode(env.code)); + return; + } - env.element.innerHTML = env.highlightedCode; + if (async && _self.Worker) { + var worker = new Worker(_.filename); - callback && callback.call(element); + worker.onmessage = function(evt) { + insertHighlightedCode(evt.data); + }; - _.hooks.run('after-highlight', env); - _.hooks.run('complete', env); - // } + worker.postMessage(JSON.stringify({ + language: env.language, + code: env.code, + immediateClose: true + })); + } + else { + insertHighlightedCode(_.highlight(env.code, env.grammar, env.language)); + } }, highlight: function (text, grammar, language) { @@ -413,7 +398,7 @@ var _ = _self.Prism = { } }, - tokenize: function(text, grammar, language) { + tokenize: function(text, grammar) { var strarr = [text]; var rest = grammar.rest; @@ -501,49 +486,49 @@ Token.stringify = function(o, language, parent) { }; -// if (!_self.document) { -// if (!_self.addEventListener) { -// // in Node.js -// return _self.Prism; -// } - -// if (!_.disableWorkerMessageHandler) { -// // In worker -// _self.addEventListener('message', function (evt) { -// var message = JSON.parse(evt.data), -// lang = message.language, -// code = message.code, -// immediateClose = message.immediateClose; - -// _self.postMessage(_.highlight(code, _.languages[lang], lang)); -// if (immediateClose) { -// _self.close(); -// } -// }, false); -// } - -// return _self.Prism; -// } - -// //Get current script and highlight -// var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop(); - -// if (script) { -// _.filename = script.src; - -// if (!_.manual && !script.hasAttribute('data-manual')) { -// if(document.readyState !== "loading") { -// if (window.requestAnimationFrame) { -// window.requestAnimationFrame(_.highlightAll); -// } else { -// window.setTimeout(_.highlightAll, 16); -// } -// } -// else { -// document.addEventListener('DOMContentLoaded', _.highlightAll); -// } -// } -// } +if (!_self.document) { + if (!_self.addEventListener) { + // in Node.js + return _self.Prism; + } + + if (!_.disableWorkerMessageHandler) { + // In worker + _self.addEventListener('message', function (evt) { + var message = JSON.parse(evt.data), + lang = message.language, + code = message.code, + immediateClose = message.immediateClose; + + _self.postMessage(_.highlight(code, _.languages[lang], lang)); + if (immediateClose) { + _self.close(); + } + }, false); + } + + return _self.Prism; +} + +//Get current script and highlight +var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop(); + +if (script) { + _.filename = script.src; + + if (!_.manual && !script.hasAttribute('data-manual')) { + if(document.readyState !== "loading") { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(_.highlightAll); + } else { + window.setTimeout(_.highlightAll, 16); + } + } + else { + document.addEventListener('DOMContentLoaded', _.highlightAll); + } + } +} return _self.Prism; @@ -610,7 +595,7 @@ Prism.hooks.add('wrap', function(env) { } }); -Prism.languages.xml = Prism.languages.markup; +Prism.languages.xml = Prism.languages.extend('markup', {}); Prism.languages.html = Prism.languages.markup; Prism.languages.mathml = Prism.languages.markup; Prism.languages.svg = Prism.languages.markup; @@ -618,7 +603,7 @@ Prism.languages.svg = Prism.languages.markup; Prism.languages.css = { 'comment': /\/\*[\s\S]*?\*\//, 'atrule': { - pattern: /@[\w-]+?.*?(?:;|(?=\s*\{))/i, + pattern: /@[\w-]+?[\s\S]*?(?:;|(?=\s*\{))/i, inside: { 'rule': /@[\w-]+/ // See rest below @@ -631,9 +616,9 @@ Prism.languages.css = { greedy: true }, 'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, - 'important': /\B!important\b/i, + 'important': /!important\b/i, 'function': /[-a-z0-9]+(?=\()/i, - 'punctuation': /[(){};:]/ + 'punctuation': /[(){};:,]/ }; Prism.languages.css['atrule'].inside.rest = Prism.languages.css; @@ -666,7 +651,8 @@ if (Prism.languages.markup) { alias: 'language-css' } }, Prism.languages.markup.tag); -}; +} +; Prism.languages.clike = { 'comment': [ { @@ -692,31 +678,67 @@ Prism.languages.clike = { }, 'keyword': /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, 'boolean': /\b(?:true|false)\b/, - 'function': /[a-z0-9_]+(?=\()/i, + 'function': /\w+(?=\()/, 'number': /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, 'punctuation': /[{}[\];(),.:]/ }; Prism.languages.javascript = Prism.languages.extend('clike', { - 'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/, - 'number': /\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, + 'class-name': [ + Prism.languages.clike['class-name'], + { + pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, + lookbehind: true + } + ], + 'keyword': [ + { + pattern: /((?:^|})\s*)(?:catch|finally)\b/, + lookbehind: true + }, + /\b(?:as|async|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/ + ], + 'number': /\b(?:(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+)n?|\d+n|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444) - 'function': /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i, + 'function': /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\(|\.(?:apply|bind|call)\()/, 'operator': /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ }); +Prism.languages.javascript['class-name'][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/ + Prism.languages.insertBefore('javascript', 'keyword', { 'regex': { - pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/, + pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/, lookbehind: true, greedy: true }, // This must be declared before keyword because we use "function" inside the look-forward 'function-variable': { - pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, + pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, alias: 'function' }, + 'parameter': [ + { + pattern: /(function(?:\s+[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)[^\s()][^()]*?(?=\s*\))/, + lookbehind: true, + inside: Prism.languages.javascript + }, + { + pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/, + inside: Prism.languages.javascript + }, + { + pattern: /(\(\s*)[^\s()][^()]*?(?=\s*\)\s*=>)/, + lookbehind: true, + inside: Prism.languages.javascript + }, + { + pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)[^\s()][^()]*?(?=\s*\)\s*\{)/, + lookbehind: true, + inside: Prism.languages.javascript + } + ], 'constant': /\b[A-Z][A-Z\d_]*\b/ }); @@ -732,14 +754,13 @@ Prism.languages.insertBefore('javascript', 'string', { pattern: /^\${|}$/, alias: 'punctuation' }, - rest: null // See below + rest: Prism.languages.javascript } }, 'string': /[\s\S]+/ } } }); -Prism.languages.javascript['template-string'].inside['interpolation'].inside.rest = Prism.languages.javascript; if (Prism.languages.markup) { Prism.languages.insertBefore('markup', 'tag', { @@ -756,9 +777,13 @@ if (Prism.languages.markup) { Prism.languages.js = Prism.languages.javascript; Prism.languages.c = Prism.languages.extend('clike', { + 'class-name': { + pattern: /(\b(?:enum|struct)\s+)\w+/, + lookbehind: true + }, 'keyword': /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, - 'operator': /-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/]/, - 'number': /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i + 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/, + 'number': /(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i }); Prism.languages.insertBefore('c', 'string', { @@ -786,7 +811,6 @@ Prism.languages.insertBefore('c', 'string', { 'constant': /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ }); -delete Prism.languages.c['class-name']; delete Prism.languages.c['boolean']; (function(Prism) { @@ -848,7 +872,7 @@ delete Prism.languages.c['boolean']; 'variable': insideString.variable, // Originally based on http://ss64.com/bash/ 'function': { - pattern: /(^|[\s;|&])(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|[\s;|&])/, + pattern: /(^|[\s;|&])(?:alias|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|hash|head|help|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logout|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tail|tar|tee|test|time|timeout|times|top|touch|tr|traceroute|trap|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip|zypper)(?=$|[\s;|&])/, lookbehind: true }, 'keyword': { @@ -875,16 +899,13 @@ delete Prism.languages.c['boolean']; })(Prism); Prism.languages.cpp = Prism.languages.extend('c', { - 'keyword': /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, - 'boolean': /\b(?:true|false)\b/, - 'operator': /--?|\+\+?|!=?|<{1,2}=?|>{1,2}=?|->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|\|?|\?|\*|\/|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -}); - -Prism.languages.insertBefore('cpp', 'keyword', { 'class-name': { - pattern: /(class\s+)\w+/i, + pattern: /(\b(?:class|enum|struct)\s+)\w+/, lookbehind: true - } + }, + 'keyword': /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, + 'boolean': /\b(?:true|false)\b/, + 'operator': />>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ }); Prism.languages.insertBefore('cpp', 'string', { @@ -985,6 +1006,7 @@ Prism.languages.insertBefore('coffeescript', 'keyword', { delete Prism.languages.coffeescript['template-string']; +Prism.languages.coffee = Prism.languages.coffeescript; }(Prism)); /** * Original by Samuel Flores @@ -1015,6 +1037,8 @@ delete Prism.languages.coffeescript['template-string']; } }; + delete Prism.languages.ruby.function; + Prism.languages.insertBefore('ruby', 'keyword', { 'regex': [ { @@ -1063,6 +1087,14 @@ delete Prism.languages.coffeescript['template-string']; 'symbol': { pattern: /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/, lookbehind: true + }, + 'method-definition': { + pattern: /(\bdef\s+)[\w.]+/, + lookbehind: true, + inside: { + 'function': /\w+$/, + rest: Prism.languages.ruby + } } }); @@ -1116,7 +1148,10 @@ delete Prism.languages.coffeescript['template-string']; } } ]; + + Prism.languages.rb = Prism.languages.ruby; }(Prism)); + Prism.languages.d = Prism.languages.extend('clike', { 'string': [ // r"", x"" @@ -1487,16 +1522,38 @@ Prism.languages.go = Prism.languages.extend('clike', { }); delete Prism.languages.go['class-name']; -Prism.languages.java = Prism.languages.extend('clike', { - 'keyword': /\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/, - 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i, +Prism.languages.groovy = Prism.languages.extend('clike', { + 'keyword': /\b(?:as|def|in|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/, + 'string': [ + { + pattern: /("""|''')[\s\S]*?\1|(?:\$\/)(?:\$\/\$|[\s\S])*?\/\$/, + greedy: true + }, + { + pattern: /(["'\/])(?:\\.|(?!\1)[^\\\r\n])*\1/, + greedy: true + } + ], + 'number': /\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?[\d]+)?)[glidf]?\b/i, 'operator': { - pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, + pattern: /(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.{1,2}(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/, lookbehind: true + }, + 'punctuation': /\.+|[{}[\];(),:$]/ +}); + +Prism.languages.insertBefore('groovy', 'string', { + 'shebang': { + pattern: /#!.+/, + alias: 'comment' } }); -Prism.languages.insertBefore('java','function', { +Prism.languages.insertBefore('groovy', 'punctuation', { + 'spock-block': /\b(?:setup|given|when|then|and|cleanup|expect|where):/ +}); + +Prism.languages.insertBefore('groovy', 'function', { 'annotation': { alias: 'punctuation', pattern: /(^|[^.])@\w+/, @@ -1504,28 +1561,103 @@ Prism.languages.insertBefore('java','function', { } }); -Prism.languages.insertBefore('java', 'class-name', { - 'generics': { - pattern: /<\s*\w+(?:\.\w+)?(?:\s*,\s*\w+(?:\.\w+)?)*>/i, - alias: 'function', - inside: { - keyword: Prism.languages.java.keyword, - punctuation: /[<>(),.:]/ +// Handle string interpolation +Prism.hooks.add('wrap', function(env) { + if (env.language === 'groovy' && env.type === 'string') { + var delimiter = env.content[0]; + + if (delimiter != "'") { + var pattern = /([^\\])(?:\$(?:\{.*?\}|[\w.]+))/; + if (delimiter === '$') { + pattern = /([^\$])(?:\$(?:\{.*?\}|[\w.]+))/; + } + + // To prevent double HTML-encoding we have to decode env.content first + env.content = env.content.replace(/</g, '<').replace(/&/g, '&'); + + env.content = Prism.highlight(env.content, { + 'expression': { + pattern: pattern, + lookbehind: true, + inside: Prism.languages.groovy + } + }); + + env.classes.push(delimiter === '/' ? 'regex' : 'gstring'); } } }); +(function (Prism) { + + var keywords = /\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while|var|null|exports|module|open|opens|provides|requires|to|transitive|uses|with)\b/; + + // based on the java naming conventions + var className = /\b[A-Z](?:\w*[a-z]\w*)?\b/; + + Prism.languages.java = Prism.languages.extend('clike', { + 'class-name': [ + className, + + // variables and parameters + // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods) + /\b[A-Z]\w*(?=\s+\w+\s*[;,=())])/ + ], + 'keyword': keywords, + 'function': [ + Prism.languages.clike.function, + { + pattern: /(\:\:)[a-z_]\w*/, + lookbehind: true + } + ], + 'number': /\b0b[01][01_]*L?\b|\b0x[\da-f_]*\.?[\da-f_p+-]+\b|(?:\b\d[\d_]*\.?[\d_]*|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i, + 'operator': { + pattern: /(^|[^.])(?:<<=?|>>>?=?|->|([-+&|])\2|[?:~]|[-+*/%&|^!=<>]=?)/m, + lookbehind: true + } + }); + + Prism.languages.insertBefore('java', 'class-name', { + 'annotation': { + alias: 'punctuation', + pattern: /(^|[^.])@\w+/, + lookbehind: true + }, + 'namespace': { + pattern: /(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)[a-z]\w*(\.[a-z]\w*)+/, + lookbehind: true, + inside: { + 'punctuation': /\./, + } + }, + 'generics': { + pattern: /<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/, + inside: { + 'class-name': className, + 'keyword': keywords, + 'punctuation': /[<>(),.:]/, + 'operator': /[?&|]/ + } + } + }); +}(Prism)); + Prism.languages.json = { - 'property': /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i, + 'comment': /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/, + 'property': { + pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, + greedy: true + }, 'string': { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: true }, - 'number': /-?\d+\.?\d*([Ee][+-]?\d+)?/, + 'number': /-?\d+\.?\d*(e[+-]?\d+)?/i, 'punctuation': /[{}[\],]/, - 'operator': /:/g, - 'boolean': /\b(?:true|false)\b/i, - 'null': /\bnull\b/i + 'operator': /:/, + 'boolean': /\b(?:true|false)\b/, + 'null': /\bnull\b/ }; Prism.languages.jsonp = Prism.languages.json; @@ -1670,12 +1802,13 @@ Prism.languages.nginx = Prism.languages.extend('clike', { pattern: /(^|[^"{\\])#.*/, lookbehind: true }, - 'keyword': /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types)\b/i + 'keyword': /\b(?:CONTENT_|DOCUMENT_|GATEWAY_|HTTP_|HTTPS|if_not_empty|PATH_|QUERY_|REDIRECT_|REMOTE_|REQUEST_|SCGI|SCRIPT_|SERVER_|http|events|accept_mutex|accept_mutex_delay|access_log|add_after_body|add_before_body|add_header|addition_types|aio|alias|allow|ancient_browser|ancient_browser_value|auth|auth_basic|auth_basic_user_file|auth_http|auth_http_header|auth_http_timeout|autoindex|autoindex_exact_size|autoindex_localtime|break|charset|charset_map|charset_types|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|create_full_put_path|daemon|dav_access|dav_methods|debug_connection|debug_points|default_type|deny|devpoll_changes|devpoll_events|directio|directio_alignment|disable_symlinks|empty_gif|env|epoll_events|error_log|error_page|expires|fastcgi_buffer_size|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_timeout|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_connect_timeout|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_read_timeout|fastcgi_redirect_errors|fastcgi_send_timeout|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geo|geoip_city|geoip_country|google_perftools_profiles|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_static|gzip_types|gzip_vary|if|if_modified_since|ignore_invalid_headers|image_filter|image_filter_buffer|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|imap_capabilities|imap_client_buffer|include|index|internal|ip_hash|keepalive|keepalive_disable|keepalive_requests|keepalive_timeout|kqueue_changes|kqueue_events|large_client_header_buffers|limit_conn|limit_conn_log_level|limit_conn_zone|limit_except|limit_rate|limit_rate_after|limit_req|limit_req_log_level|limit_req_zone|limit_zone|lingering_close|lingering_time|lingering_timeout|listen|location|lock_file|log_format|log_format_combined|log_not_found|log_subrequest|map|map_hash_bucket_size|map_hash_max_size|master_process|max_ranges|memcached_buffer_size|memcached_connect_timeout|memcached_next_upstream|memcached_pass|memcached_read_timeout|memcached_send_timeout|merge_slashes|min_delete_depth|modern_browser|modern_browser_value|mp4|mp4_buffer_size|mp4_max_buffer_size|msie_padding|msie_refresh|multi_accept|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|open_log_file_cache|optimize_server_names|override_charset|pcre_jit|perl|perl_modules|perl_require|perl_set|pid|pop3_auth|pop3_capabilities|port_in_redirect|post_action|postpone_output|protocol|proxy|proxy_buffer|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_bypass|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_timeout|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_no_cache|proxy_pass|proxy_pass_error_message|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_redirect_errors|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_ssl_session_reuse|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|proxy_timeout|proxy_upstream_fail_timeout|proxy_upstream_max_fails|random_index|read_ahead|real_ip_header|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|return|rewrite|root|rtsig_overflow_events|rtsig_overflow_test|rtsig_overflow_threshold|rtsig_signo|satisfy|satisfy_any|secure_link_secret|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|set|set_real_ip_from|smtp_auth|smtp_capabilities|so_keepalive|source_charset|split_clients|ssi|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_engine|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_timeout|ssl_verify_client|ssl_verify_depth|starttls|stub_status|sub_filter|sub_filter_once|sub_filter_types|tcp_nodelay|tcp_nopush|timeout|timer_resolution|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|uninitialized_variable_warn|upstream|use|user|userid|userid_domain|userid_expires|userid_name|userid_p3p|userid_path|userid_service|valid_referers|variables_hash_bucket_size|variables_hash_max_size|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_rlimit_sigpending|working_directory|xclient|xml_entities|xslt_entities|xslt_stylesheet|xslt_types|ssl_session_tickets|ssl_stapling|ssl_stapling_verify|ssl_ecdh_curve|ssl_trusted_certificate|more_set_headers|ssl_early_data)\b/i }); Prism.languages.insertBefore('nginx', 'keyword', { 'variable': /\$[a-z_]+/i }); + Prism.languages.nim = { 'comment': /#.*/, // Double-quoted strings can be prefixed by an identifier (Generalized raw string literals) @@ -1915,8 +2048,15 @@ Prism.languages.perl = { */ (function (Prism) { Prism.languages.php = Prism.languages.extend('clike', { - 'keyword': /\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i, - 'constant': /\b[A-Z0-9_]{2,}\b/, + 'keyword': /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i, + 'boolean': { + pattern: /\b(?:false|true)\b/i, + alias: 'constant' + }, + 'constant': [ + /\b[A-Z_][A-Z0-9_]*\b/, + /\b(?:null)\b/i, + ], 'comment': { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, lookbehind: true @@ -1954,6 +2094,14 @@ Prism.languages.perl = { } }); + var string_interpolation = { + pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/, + lookbehind: true, + inside: { + rest: Prism.languages.php + } + }; + Prism.languages.insertBefore('php', 'string', { 'nowdoc-string': { pattern: /<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/, @@ -1981,7 +2129,7 @@ Prism.languages.perl = { 'punctuation': /^<<<"?|[";]$/ } }, - 'interpolation': null // See below + 'interpolation': string_interpolation // See below } }, 'single-quoted-string': { @@ -1994,23 +2142,13 @@ Prism.languages.perl = { greedy: true, alias: 'string', inside: { - 'interpolation': null // See below + 'interpolation': string_interpolation // See below } } }); // The different types of PHP strings "replace" the C-like standard string delete Prism.languages.php['string']; - var string_interpolation = { - pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/, - lookbehind: true, - inside: { - rest: Prism.languages.php - } - }; - Prism.languages.php['heredoc-string'].inside['interpolation'] = string_interpolation; - Prism.languages.php['double-quoted-string'].inside['interpolation'] = string_interpolation; - Prism.hooks.add('before-tokenize', function(env) { if (!/(?:<\?php|<\?)/ig.test(env.code)) { return; @@ -2025,17 +2163,23 @@ Prism.languages.perl = { }); }(Prism)); -Prism.languages.sql= { +Prism.languages.sql = { 'comment': { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, lookbehind: true }, - 'string' : { - pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\])*\2/, + 'variable': [ + { + pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, + greedy: true + }, + /@[\w.$]+/ + ], + 'string': { + pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, greedy: true, lookbehind: true }, - 'variable': /@[\w.$]+|@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, 'function': /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, // Should we highlight user defined functions too? 'keyword': /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, 'boolean': /\b(?:TRUE|FALSE|NULL)\b/i, @@ -2043,6 +2187,7 @@ Prism.languages.sql= { 'operator': /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, 'punctuation': /[;[\]()`,.]/ }; + Prism.languages.scss = Prism.languages.extend('css', { 'comment': { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, @@ -2066,7 +2211,7 @@ Prism.languages.scss = Prism.languages.extend('css', { // this one was hard to do, so please be careful if you edit this one :) 'selector': { // Initial look-ahead is used to prevent matching of blank selectors - pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|&|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m, + pattern: /(?=\S)[^@;{}()]?(?:[^@;{}()]|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}]+[:{][^}]+))/m, inside: { 'parent': { pattern: /&/, @@ -2075,6 +2220,12 @@ Prism.languages.scss = Prism.languages.extend('css', { 'placeholder': /%[-\w]+/, 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ } + }, + 'property': { + pattern: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/, + inside: { + 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ + } } }); @@ -2088,13 +2239,6 @@ Prism.languages.insertBefore('scss', 'atrule', { ] }); -Prism.languages.scss.property = { - pattern: /(?:[\w-]|\$[-\w]+|#\{\$[-\w]+\})+(?=\s*:)/i, - inside: { - 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ - } -}; - Prism.languages.insertBefore('scss', 'important', { // var and interpolated vars 'variable': /\$[-\w]+|#\{\$[-\w]+\}/ @@ -2118,18 +2262,42 @@ Prism.languages.insertBefore('scss', 'function', { }); Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss; + Prism.languages.python = { 'comment': { pattern: /(^|[^\\])#.*/, lookbehind: true }, + 'string-interpolation': { + pattern: /(?:f|rf|fr)(?:("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, + greedy: true, + inside: { + 'interpolation': { + // "{" "}" + pattern: /((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/, + lookbehind: true, + inside: { + 'format-spec': { + pattern: /(:)[^:(){}]+(?=}$)/, + lookbehind: true + }, + 'conversion-option': { + pattern: /![sra](?=[:}]$)/, + alias: 'punctuation' + }, + rest: null + } + }, + 'string': /[\s\S]+/ + } + }, 'triple-quoted-string': { - pattern: /("""|''')[\s\S]+?\1/, + pattern: /(?:[rub]|rb|br)?("""|''')[\s\S]+?\1/i, greedy: true, alias: 'string' }, 'string': { - pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, + pattern: /(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, greedy: true }, 'function': { @@ -2140,14 +2308,25 @@ Prism.languages.python = { pattern: /(\bclass\s+)\w+/i, lookbehind: true }, - 'keyword': /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|pass|print|raise|return|try|while|with|yield)\b/, - 'builtin':/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, + 'decorator': { + pattern: /(^\s*)@\w+(?:\.\w+)*/i, + lookbehind: true, + alias: ['annotation', 'punctuation'], + inside: { + 'punctuation': /\./ + } + }, + 'keyword': /\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, + 'builtin': /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, 'boolean': /\b(?:True|False|None)\b/, 'number': /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, - 'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/, + 'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, 'punctuation': /[{}[\];(),.:]/ }; +Prism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python; + +Prism.languages.py = Prism.languages.python; (function(Prism) { var javascript = Prism.util.clone(Prism.languages.javascript); @@ -2157,6 +2336,7 @@ Prism.languages.jsx.tag.pattern= /<\/?(?:[\w.:-]+\s*(?:\s+(?:[\w.:-]+(?:=(?:("|' Prism.languages.jsx.tag.inside['tag'].pattern = /^<\/?[^\s>\/]*/i; Prism.languages.jsx.tag.inside['attr-value'].pattern = /=(?!\{)(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">]+)/i; +Prism.languages.jsx.tag.inside['tag'].inside['class-name'] = /^[A-Z]\w*$/; Prism.languages.insertBefore('inside', 'attr-name', { 'spread': { @@ -2276,11 +2456,12 @@ Prism.hooks.add('after-tokenize', function (env) { Prism.languages.typescript = Prism.languages.extend('javascript', { // From JavaScript Prism keyword list and TypeScript language spec: https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#221-reserved-words - 'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|module|declare|constructor|namespace|abstract|require|type)\b/, - 'builtin': /\b(?:string|Function|any|number|boolean|Array|symbol|console)\b/, + 'keyword': /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/, + 'builtin': /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/, }); Prism.languages.ts = Prism.languages.typescript; + /* TODO Add support for Markdown notation inside doc comments Add support for nested block comments... @@ -2317,7 +2498,7 @@ Prism.languages.rust = { pattern: /'[^\s>']+/, alias: 'symbol' }, - 'keyword': /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, + 'keyword': /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, 'attribute': { pattern: /#!?\[.+?\]/, @@ -2382,7 +2563,7 @@ Prism.languages.yaml = { alias: 'important' }, 'string': { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}))/m, + pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m, lookbehind: true, greedy: true }, @@ -2394,3 +2575,5 @@ Prism.languages.yaml = { 'important': /[&*][\w]+/, 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./ }; + +Prism.languages.yml = Prism.languages.yaml; From d640a8ee221c26ad4612595157e6cbe9f0fd5709 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 28 Jan 2019 17:51:28 +0100 Subject: [PATCH 0061/2822] Set favicon to documentation icon on open --- .../javascripts/views/sidebar/doc_list.coffee | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/assets/javascripts/views/sidebar/doc_list.coffee b/assets/javascripts/views/sidebar/doc_list.coffee index c72877a828..d24c247660 100644 --- a/assets/javascripts/views/sidebar/doc_list.coffee +++ b/assets/javascripts/views/sidebar/doc_list.coffee @@ -94,6 +94,8 @@ class app.views.DocList extends app.View $.stopEvent(event) doc = app.docs.findBy 'slug', event.target.getAttribute('data-slug') + @setFaviconForDoc(doc) + if doc and not @lists[doc.slug] @lists[doc.slug] = if doc.types.isEmpty() new app.views.EntryList doc.entries.all() @@ -111,6 +113,29 @@ class app.views.DocList extends app.View delete @lists[doc.slug] return + setFaviconForDoc: (doc) -> + link = $("a._list-item[data-slug='#{doc.slug}']") + styles = window.getComputedStyle(link, ':before') + + bgUrl = styles['background-image'].slice(5, -2) + bgSize = if bgUrl.includes('@2x') then 32 else 16 + bgPositions = styles['background-position'].split(' ') + bgX = parseInt(bgPositions[0].slice(0, -2)) + bgY = parseInt(bgPositions[1].slice(0, -2)) + + img = new Image() + img.src = bgUrl + img.onload = () => + canvas = document.createElement('canvas') + + canvas.width = bgSize + canvas.height = bgSize + canvas.getContext('2d').drawImage(img, bgX, bgY) + + $('link[rel="icon"]').href = canvas.toDataURL() + return + return + select: (model) -> @listSelect.selectByHref model?.fullPath() return From c36478ce8265e480e4a0e759d1836ffdb07ced76 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 1 Feb 2019 09:30:19 +0100 Subject: [PATCH 0062/2822] Set favicon to the icon of the currently shown docs --- assets/javascripts/lib/favicon.coffee | 53 +++++++++++++++++++ .../javascripts/views/content/content.coffee | 3 ++ .../views/content/entry_page.coffee | 1 + .../views/content/type_page.coffee | 1 + .../javascripts/views/sidebar/doc_list.coffee | 25 --------- 5 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 assets/javascripts/lib/favicon.coffee diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee new file mode 100644 index 0000000000..aa319e279b --- /dev/null +++ b/assets/javascripts/lib/favicon.coffee @@ -0,0 +1,53 @@ +defaultUrl = null +currentSlug = null + +imageCache = {} +urlCache = {} + +withImage = (url, action) -> + if imageCache[url] + action(imageCache[url]) + else + img = new Image() + img.src = url + img.onload = () => + imageCache[url] = img + action(img) + +@setFaviconForDoc = (doc) -> + return if currentSlug == doc.slug + + favicon = $('link[rel="icon"]') + + if urlCache[doc.slug] + favicon.href = urlCache[doc.slug] + currentSlug = doc.slug + return + + styles = window.getComputedStyle($("._icon-#{doc.slug}"), ':before') + + bgUrl = styles['background-image'].slice(5, -2) + bgSize = if bgUrl.includes('@2x') then 32 else 16 + bgX = parseInt(styles['background-position-x'].slice(0, -2)) + bgY = parseInt(styles['background-position-y'].slice(0, -2)) + + withImage(bgUrl, (img) -> + canvas = document.createElement('canvas') + + canvas.width = bgSize + canvas.height = bgSize + canvas.getContext('2d').drawImage(img, bgX, bgY) + + if defaultUrl == null + defaultUrl = favicon.href + + urlCache[doc.slug] = canvas.toDataURL() + favicon.href = urlCache[doc.slug] + + currentSlug = doc.slug + ) + +@resetFavicon = () -> + if defaultUrl != null and currentSlug != null + $('link[rel="icon"]').href = defaultUrl + currentSlug = null diff --git a/assets/javascripts/views/content/content.coffee b/assets/javascripts/views/content/content.coffee index 8c5ba874b6..4e01733ebd 100644 --- a/assets/javascripts/views/content/content.coffee +++ b/assets/javascripts/views/content/content.coffee @@ -153,6 +153,9 @@ class app.views.Content extends app.View return afterRoute: (route, context) => + if route != 'entry' and route != 'type' + resetFavicon() + switch route when 'root' @show @rootPage diff --git a/assets/javascripts/views/content/entry_page.coffee b/assets/javascripts/views/content/entry_page.coffee index beae4d775a..00762fa642 100644 --- a/assets/javascripts/views/content/entry_page.coffee +++ b/assets/javascripts/views/content/entry_page.coffee @@ -40,6 +40,7 @@ class app.views.EntryPage extends app.View if app.disabledDocs.findBy 'slug', @entry.doc.slug @hiddenView = new app.views.HiddenPage @el, @entry + setFaviconForDoc(@entry.doc) @delay @polyfillMathML @trigger 'loaded' return diff --git a/assets/javascripts/views/content/type_page.coffee b/assets/javascripts/views/content/type_page.coffee index 147fa7edde..ef360c14c4 100644 --- a/assets/javascripts/views/content/type_page.coffee +++ b/assets/javascripts/views/content/type_page.coffee @@ -9,6 +9,7 @@ class app.views.TypePage extends app.View render: (@type) -> @html @tmpl('typePage', @type) + setFaviconForDoc(@type.doc) return getTitle: -> diff --git a/assets/javascripts/views/sidebar/doc_list.coffee b/assets/javascripts/views/sidebar/doc_list.coffee index d24c247660..c72877a828 100644 --- a/assets/javascripts/views/sidebar/doc_list.coffee +++ b/assets/javascripts/views/sidebar/doc_list.coffee @@ -94,8 +94,6 @@ class app.views.DocList extends app.View $.stopEvent(event) doc = app.docs.findBy 'slug', event.target.getAttribute('data-slug') - @setFaviconForDoc(doc) - if doc and not @lists[doc.slug] @lists[doc.slug] = if doc.types.isEmpty() new app.views.EntryList doc.entries.all() @@ -113,29 +111,6 @@ class app.views.DocList extends app.View delete @lists[doc.slug] return - setFaviconForDoc: (doc) -> - link = $("a._list-item[data-slug='#{doc.slug}']") - styles = window.getComputedStyle(link, ':before') - - bgUrl = styles['background-image'].slice(5, -2) - bgSize = if bgUrl.includes('@2x') then 32 else 16 - bgPositions = styles['background-position'].split(' ') - bgX = parseInt(bgPositions[0].slice(0, -2)) - bgY = parseInt(bgPositions[1].slice(0, -2)) - - img = new Image() - img.src = bgUrl - img.onload = () => - canvas = document.createElement('canvas') - - canvas.width = bgSize - canvas.height = bgSize - canvas.getContext('2d').drawImage(img, bgX, bgY) - - $('link[rel="icon"]').href = canvas.toDataURL() - return - return - select: (model) -> @listSelect.selectByHref model?.fullPath() return From 66a0b82e3ce758e24b6581bdc1375bdc00d3849e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 5 Feb 2019 01:21:45 +0100 Subject: [PATCH 0063/2822] Ask for consent before enabling Google Analytics and Gauges --- assets/javascripts/app/settings.coffee | 2 + assets/javascripts/lib/page.coffee | 18 ++++++- .../javascripts/templates/notif_tmpl.coffee | 6 +++ .../templates/pages/about_tmpl.coffee | 3 +- .../templates/pages/settings_tmpl.coffee | 4 ++ assets/javascripts/tracking.js | 50 ++++++++++--------- .../views/content/settings_page.coffee | 8 +++ .../javascripts/views/layout/document.coffee | 12 +++-- assets/stylesheets/components/_notif.scss | 4 ++ 9 files changed, 77 insertions(+), 30 deletions(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 8d309c4174..ca7ccbc66a 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -5,6 +5,7 @@ class app.Settings 'manualUpdate' 'fastScroll' 'arrowScroll' + 'analyticsConsent' 'docs' 'dark' 'layout' @@ -26,6 +27,7 @@ class app.Settings news: 0 manualUpdate: false schema: 1 + analyticsConsent: false constructor: -> @store = new CookieStore diff --git a/assets/javascripts/lib/page.coffee b/assets/javascripts/lib/page.coffee index 5d3f6c884c..ba2f26478a 100644 --- a/assets/javascripts/lib/page.coffee +++ b/assets/javascripts/lib/page.coffee @@ -199,5 +199,21 @@ page.track = (fn) -> return track = -> - tracker.call() for tracker in trackers + consentGiven = Cookies.get('analyticsConsent') + consentAsked = Cookies.get('analyticsConsentAsked') + + if consentGiven == '1' + tracker.call() for tracker in trackers + else if consentGiven == undefined and consentAsked == undefined + # Only ask for consent once per browser session + Cookies.set('analyticsConsentAsked', '1') + + new app.views.Notif 'AnalyticsConsent', autoHide: null + return + +@resetAnalytics = -> + for cookie in document.cookie.split(/;\s?/) + name = cookie.split('=')[0] + if name[0] == '_' + Cookies.expire(name) return diff --git a/assets/javascripts/templates/notif_tmpl.coffee b/assets/javascripts/templates/notif_tmpl.coffee index 93611a5c12..8989daff94 100644 --- a/assets/javascripts/templates/notif_tmpl.coffee +++ b/assets/javascripts/templates/notif_tmpl.coffee @@ -68,3 +68,9 @@ app.templates.notifShare = -> app.templates.notifUpdateDocs = -> textNotif """ Documentation updates available. """, """ Install them as soon as possible to avoid broken pages. """ + +app.templates.notifAnalyticsConsent = -> + textNotif """ Tracking cookies """, + """ We would like to gather usage data about how you use DevDocs through Google Analytics and Gauges. We only collect anonymous traffic information. + Please confirm if you accept our tracking cookies. You can always change your decision in the settings. +
Accept or Decline """ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 5d99740368..e7b4cc8067 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -73,7 +73,8 @@ app.templates.aboutPage = -> """
  • devdocs.io ("App") is operated by freeCodeCamp ("We").
  • We do not collect personal information through the app. -
  • We use Google Analytics, Gauges and Sentry to collect anonymous traffic information and improve the app. +
  • We use Google Analytics and Gauges to collect anonymous traffic information if you have given consent to this. You can change your decision in the settings. +
  • We use Sentry to collect crash data and improve the app.
  • The app uses cookies to store user preferences.
  • By using the app, you signify your acceptance of this policy. If you do not agree to this policy, please do not use the app.
  • If you have any questions regarding privacy, please email privacy@freecodecamp.org. diff --git a/assets/javascripts/templates/pages/settings_tmpl.coffee b/assets/javascripts/templates/pages/settings_tmpl.coffee index 1d439edb5e..e03a7744e6 100644 --- a/assets/javascripts/templates/pages/settings_tmpl.coffee +++ b/assets/javascripts/templates/pages/settings_tmpl.coffee @@ -15,6 +15,10 @@ app.templates.settingsPage = (settings) -> """ Automatically hide and show the sidebar Tip: drag the edge of the sidebar to resize it. + diff --git a/assets/javascripts/tracking.js b/assets/javascripts/tracking.js index ca05b21820..10bc4127ea 100644 --- a/assets/javascripts/tracking.js +++ b/assets/javascripts/tracking.js @@ -1,28 +1,32 @@ try { - if (app.config.env == 'production') { - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); - ga('create', 'UA-5544833-12', 'devdocs.io'); - page.track(function() { - ga('send', 'pageview', { - page: location.pathname + location.search + location.hash, - dimension1: app.router.context && app.router.context.doc && app.router.context.doc.slug_without_version + if (app.config.env === 'development') { + if (Cookies.get('analyticsConsent') === '1') { + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + ga('create', 'UA-5544833-12', 'devdocs.io'); + page.track(function() { + ga('send', 'pageview', { + page: location.pathname + location.search + location.hash, + dimension1: app.router.context && app.router.context.doc && app.router.context.doc.slug_without_version + }); }); - }); - page.track(function() { - if (window._gauges) - _gauges.push(['track']); - else - (function() { - var _gauges=_gauges||[];!function(){var a=document.createElement("script"); - a.type="text/javascript",a.async=!0,a.id="gauges-tracker", - a.setAttribute("data-site-id","51c15f82613f5d7819000067"), - a.src="https://secure.gaug.es/track.js";var b=document.getElementsByTagName("script")[0]; - b.parentNode.insertBefore(a,b)}(); - })(); - }); + page.track(function() { + if (window._gauges) + _gauges.push(['track']); + else + (function() { + var _gauges=_gauges||[];!function(){var a=document.createElement("script"); + a.type="text/javascript",a.async=!0,a.id="gauges-tracker", + a.setAttribute("data-site-id","51c15f82613f5d7819000067"), + a.src="https://secure.gaug.es/track.js";var b=document.getElementsByTagName("script")[0]; + b.parentNode.insertBefore(a,b)}(); + })(); + }); + } else { + resetAnalytics(); + } } } catch(e) { } diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index e39b17dfb3..ed574097ac 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -17,6 +17,7 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') + settings.analyticsConsent = app.settings.get('analyticsConsent') settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS settings @@ -42,6 +43,11 @@ class app.views.SettingsPage extends app.View app.settings.set('fastScroll', !enable) return + toggleAnalyticsConsent: (enable) -> + app.settings.set('analyticsConsent', if enable then '1' else '0') + resetAnalytics() unless enable + return + toggle: (name, enable) -> app.settings.set(name, enable) return @@ -85,6 +91,8 @@ class app.views.SettingsPage extends app.View @toggleSmoothScroll input.checked when 'import' @import input.files[0], input + when 'analyticsConsent' + @toggleAnalyticsConsent input.checked else @toggle input.name, input.checked return diff --git a/assets/javascripts/views/layout/document.coffee b/assets/javascripts/views/layout/document.coffee index 02b98c7a10..597dfe37e0 100644 --- a/assets/javascripts/views/layout/document.coffee +++ b/assets/javascripts/views/layout/document.coffee @@ -75,9 +75,11 @@ class app.views.Document extends app.View return unless target.hasAttribute('data-behavior') $.stopEvent(event) switch target.getAttribute('data-behavior') - when 'back' then history.back() - when 'reload' then window.location.reload() - when 'reboot' then app.reboot() - when 'hard-reload' then app.reload() - when 'reset' then app.reset() if confirm('Are you sure you want to reset DevDocs?') + when 'back' then history.back() + when 'reload' then window.location.reload() + when 'reboot' then app.reboot() + when 'hard-reload' then app.reload() + when 'reset' then app.reset() if confirm('Are you sure you want to reset DevDocs?') + when 'accept-analytics' then Cookies.set('analyticsConsent', '1') && app.reboot() + when 'decline-analytics' then Cookies.set('analyticsConsent', '0') && app.reboot() return diff --git a/assets/stylesheets/components/_notif.scss b/assets/stylesheets/components/_notif.scss index dd23c43af4..f0880fdd88 100644 --- a/assets/stylesheets/components/_notif.scss +++ b/assets/stylesheets/components/_notif.scss @@ -134,3 +134,7 @@ ._notif-info { color: var(--textColorLight); } } + +._notif-right { + float: right; +} From 4de4106d3340a75cf586a9b8b68a00d6f73e721a Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 5 Feb 2019 01:29:53 +0100 Subject: [PATCH 0064/2822] Update message --- assets/javascripts/templates/notif_tmpl.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/templates/notif_tmpl.coffee b/assets/javascripts/templates/notif_tmpl.coffee index 8989daff94..0821036e77 100644 --- a/assets/javascripts/templates/notif_tmpl.coffee +++ b/assets/javascripts/templates/notif_tmpl.coffee @@ -71,6 +71,6 @@ app.templates.notifUpdateDocs = -> app.templates.notifAnalyticsConsent = -> textNotif """ Tracking cookies """, - """ We would like to gather usage data about how you use DevDocs through Google Analytics and Gauges. We only collect anonymous traffic information. + """ We would like to gather usage data about how DevDocs is used through Google Analytics and Gauges. We only collect anonymous traffic information. Please confirm if you accept our tracking cookies. You can always change your decision in the settings.
    Accept or Decline """ From 01f1eda4fa3301ef56eb32718f6b326500d3091f Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Mon, 11 Feb 2019 09:55:36 -0500 Subject: [PATCH 0065/2822] Stop using an iframe for the GitHub star button --- assets/javascripts/templates/pages/root_tmpl.coffee.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/templates/pages/root_tmpl.coffee.erb b/assets/javascripts/templates/pages/root_tmpl.coffee.erb index 7adce7fd2a..f85738054b 100644 --- a/assets/javascripts/templates/pages/root_tmpl.coffee.erb +++ b/assets/javascripts/templates/pages/root_tmpl.coffee.erb @@ -39,7 +39,7 @@ app.templates.intro = """
  • DevDocs works offline, on mobile, and can be installed on Chrome.
  • For the latest news, follow @DevDocs.
  • DevDocs is free and open source. - +
  • And if you're new to coding, check out freeCodeCamp's open source curriculum.

    Happy coding! From 845f612effd69848fbc77ddd6f37e0a578fbb453 Mon Sep 17 00:00:00 2001 From: Nick Klauer Date: Mon, 11 Feb 2019 18:35:17 -0600 Subject: [PATCH 0066/2822] add Docker 18.03 Adding the updated Docker version --- lib/docs/scrapers/docker.rb | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index 92494f8aad..9e45720795 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -21,6 +21,45 @@ class Docker < UrlScraper Docker, Inc. and other parties may also have trademark rights in other terms used herein. HTML + version '18' do + self.release = '18.03' + self.base_url = 'https://docs.docker.com/' + + html_filters.push 'docker/entries', 'docker/clean_html' + + options[:container] = '.wrapper .container-fluid .row' + + options[:only_patterns] = [/\Aget-started\//, /\Aengine\//, /\Acompose\//, /\Amachine\//, /\Anotary\//] + options[:skip_patterns] = [/\Aengine\/api\/v/, /glossary/, /docker-ee/] + + options[:replace_paths] = { + 'get-started/part1' => 'get-started/', + 'engine/installation/linux/docker-ee/linux-postinstall/' => 'engine/installation/linux/linux-postinstall/', + 'engine/installation/linux/docker-ee/' => 'engine/installation/', + 'engine/installation/linux/docker-ce/' => 'engine/installation/', + 'engine/installation/linux/' => 'engine/installation/', + 'engine/installation/windows/' => 'engine/installation/', + 'engine/userguide/intro/' => 'engine/userguide/', + 'engine/tutorials/dockervolumes/' => 'engine/admin/volumes/volumes/', + 'engine/getstarted/' => 'get-started/', + 'engine/tutorials/dockerimages/' => 'get-started/', + 'engine/tutorials/dockerrepos/' => 'get-started/', + 'engine/admin/host_integration/' => 'engine/admin/start-containers-automatically/', + 'engine/installation/linux/rhel/' => 'engine/installation/linux/docker-ee/rhel/', + 'engine/installation/linux/ubuntulinux/' => 'engine/installation/linux/docker-ee/ubuntu/', + 'engine/installation/linux/suse/' => 'engine/installation/linux/docker-ee/suse/', + 'engine/admin/logging/' => 'engine/admin/logging/view_container_logs/', + 'engine/swarm/how-swarm-mode-works/' => 'engine/swarm/how-swarm-mode-works/nodes/', + 'engine/installation/binaries/' => 'engine/installation/linux/docker-ce/binaries/', + 'engine/reference/commandline/' => 'engine/reference/commandline/docker/', + 'engine/reference/api/' => 'engine/api/', + 'engine/userguide/dockervolumes/' => 'engine/admin/volumes/volumes/', + 'engine/understanding-docker/' => 'engine/docker-overview/', + 'engine/reference/commandline/swarm_join_token/' => 'engine/reference/commandline/swarm_join-token/', + 'engine/api/getting-started/' => 'engine/api/get-started/', + } + end + version '17' do self.release = '17.06' self.base_url = 'https://docs.docker.com/' From cd81a8c97b1a891e22f1b5663c5ff5fbe2637472 Mon Sep 17 00:00:00 2001 From: Nick Klauer Date: Mon, 11 Feb 2019 18:43:41 -0600 Subject: [PATCH 0067/2822] update bash to 5.0 --- lib/docs/scrapers/bash.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/bash.rb b/lib/docs/scrapers/bash.rb index feb0ddce20..63e054d276 100644 --- a/lib/docs/scrapers/bash.rb +++ b/lib/docs/scrapers/bash.rb @@ -1,7 +1,7 @@ module Docs class Bash < UrlScraper self.type = 'bash' - self.release = '4.4' + self.release = '5.0' self.base_url = 'https://www.gnu.org/software/bash/manual' self.root_path = '/html_node/index.html' self.links = { From 2fde00b2506e41f8e90194e51988787e20133e14 Mon Sep 17 00:00:00 2001 From: Nick Klauer Date: Mon, 11 Feb 2019 20:41:05 -0600 Subject: [PATCH 0068/2822] update homebrew to 2.0.1 --- lib/docs/scrapers/homebrew.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb index fba79ec06a..b343e4e0d9 100644 --- a/lib/docs/scrapers/homebrew.rb +++ b/lib/docs/scrapers/homebrew.rb @@ -2,7 +2,7 @@ module Docs class Homebrew < UrlScraper self.name = 'Homebrew' self.type = 'simple' - self.release = '1.8.1' + self.release = '2.0.1' self.base_url = 'https://docs.brew.sh/' self.links = { home: 'https://brew.sh', From 4355631c7b8347113d05fa0a2edbe8d65bf8203b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 13 Feb 2019 01:00:01 +0100 Subject: [PATCH 0069/2822] development -> production --- assets/javascripts/tracking.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/tracking.js b/assets/javascripts/tracking.js index 10bc4127ea..a68ca493e7 100644 --- a/assets/javascripts/tracking.js +++ b/assets/javascripts/tracking.js @@ -1,5 +1,5 @@ try { - if (app.config.env === 'development') { + if (app.config.env === 'production') { if (Cookies.get('analyticsConsent') === '1') { (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), From 3586a09e99c5bee4b45262af4b17217dd5ba6bae Mon Sep 17 00:00:00 2001 From: Lexin Gong Date: Tue, 22 Jan 2019 15:56:17 +0800 Subject: [PATCH 0070/2822] Update Elixir documentation (1.8.1 & 1.7.4) --- lib/docs/scrapers/elixir.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index 10d5aac1a8..78a43980a9 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -33,8 +33,21 @@ def initial_urls "https://elixir-lang.org/getting-started/introduction.html" ] end + version '1.8' do + self.release = '1.8.1' + self.base_urls = [ + "https://hexdocs.pm/elixir/#{release}/", + "https://hexdocs.pm/eex/#{release}/", + "https://hexdocs.pm/ex_unit/#{release}/", + "https://hexdocs.pm/iex/#{release}/", + "https://hexdocs.pm/logger/#{release}/", + "https://hexdocs.pm/mix/#{release}/", + 'https://elixir-lang.org/getting-started/' + ] + end + version '1.7' do - self.release = '1.7.3' + self.release = '1.7.4' self.base_urls = [ "https://hexdocs.pm/elixir/#{release}/", "https://hexdocs.pm/eex/#{release}/", From 14e49f7014523a807d01df4b04ae470c3da6c2e9 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 16 Feb 2019 23:41:06 +0100 Subject: [PATCH 0071/2822] Use GitHub's parent-child style --- assets/javascripts/lib/favicon.coffee | 36 +++++++++++++++++---------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee index aa319e279b..f42b1281ed 100644 --- a/assets/javascripts/lib/favicon.coffee +++ b/assets/javascripts/lib/favicon.coffee @@ -19,6 +19,9 @@ withImage = (url, action) -> favicon = $('link[rel="icon"]') + if defaultUrl == null + defaultUrl = favicon.href + if urlCache[doc.slug] favicon.href = urlCache[doc.slug] currentSlug = doc.slug @@ -27,24 +30,31 @@ withImage = (url, action) -> styles = window.getComputedStyle($("._icon-#{doc.slug}"), ':before') bgUrl = styles['background-image'].slice(5, -2) - bgSize = if bgUrl.includes('@2x') then 32 else 16 - bgX = parseInt(styles['background-position-x'].slice(0, -2)) - bgY = parseInt(styles['background-position-y'].slice(0, -2)) + sourceSize = if bgUrl.includes('@2x') then 32 else 16 + sourceX = Math.abs(parseInt(styles['background-position-x'].slice(0, -2))) + sourceY = Math.abs(parseInt(styles['background-position-y'].slice(0, -2))) - withImage(bgUrl, (img) -> - canvas = document.createElement('canvas') + withImage(bgUrl, (docImg) -> + withImage(defaultUrl, (defaultImg) -> + size = defaultImg.width - canvas.width = bgSize - canvas.height = bgSize - canvas.getContext('2d').drawImage(img, bgX, bgY) + canvas = document.createElement('canvas') + ctx = canvas.getContext('2d') - if defaultUrl == null - defaultUrl = favicon.href + canvas.width = size + canvas.height = size + ctx.drawImage(defaultImg, 0, 0) - urlCache[doc.slug] = canvas.toDataURL() - favicon.href = urlCache[doc.slug] + docIconPercentage = 65 + destinationCoords = size / 100 * (100 - docIconPercentage) + destinationSize = size / 100 * docIconPercentage + ctx.drawImage(docImg, sourceX, sourceY, sourceSize, sourceSize, destinationCoords, destinationCoords, destinationSize, destinationSize) - currentSlug = doc.slug + urlCache[doc.slug] = canvas.toDataURL() + favicon.href = urlCache[doc.slug] + + currentSlug = doc.slug + ) ) @resetFavicon = () -> From d0300dd5851bcacbcba2c0ddacd057ada57b6cc2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 8 Mar 2019 03:23:40 +0100 Subject: [PATCH 0072/2822] Create command to check for updates --- lib/docs/core/scraper.rb | 29 +++++++++++++++ lib/tasks/updates.thor | 78 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 lib/tasks/updates.thor diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index 083b0015eb..89191e48ec 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -132,6 +132,35 @@ def options end end + def get_latest_version + raise NotImplementedError + end + + # Returns whether or not this scraper is outdated. + # + # The default implementation assumes the documentation uses a semver(-like) approach when it comes to versions. + # Patch updates are ignored because there are usually little to no documentation changes in bug-fix-only releases. + # + # Scrapers of documentations that do not use this versioning approach should override this method. + # + # Examples of the default implementation: + # 1 -> 2 = outdated + # 1.1 -> 1.2 = outdated + # 1.1.1 -> 1.1.2 = not outdated + def is_outdated(current_version, latest_version) + current_parts = current_version.split(/\./).map(&:to_i) + latest_parts = latest_version.split(/\./).map(&:to_i) + + # Only check the first two parts, the third part is for patch updates + [0, 1].each do |i| + break if i >= current_parts.length or i >= latest_parts.length + return true if latest_parts[i] > current_parts[i] + return false if latest_parts[i] < current_parts[i] + end + + false + end + private def request_one(url) diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor new file mode 100644 index 0000000000..35d52e2895 --- /dev/null +++ b/lib/tasks/updates.thor @@ -0,0 +1,78 @@ +class UpdatesCLI < Thor + def self.to_s + 'Updates' + end + + def initialize(*args) + require 'docs' + require 'progress_bar' + super + end + + desc 'check [doc]...', 'Check for outdated documentations' + def check(*names) + # Convert names to a list of Scraper instances + # Versions are omitted, if v10 is outdated than v8 is aswell + docs = names.map {|name| Docs.find(name.split(/@|~/)[0], false)}.uniq + + # Check all documentations for updates when no arguments are given + docs = Docs.all if docs.empty? + + progress_bar = ::ProgressBar.new docs.length + progress_bar.write + + results = docs.map do |doc| + result = check_doc(doc) + progress_bar.increment! + result + end + + outdated = results.select {|result| result.is_a?(Hash) && result[:is_outdated]} + return if outdated.empty? + + logger.info("Outdated documentations (#{outdated.length}):") + outdated.each do |result| + logger.info("#{result[:name]}: #{result[:current_version]} -> #{result[:latest_version]}") + end + rescue Docs::DocNotFound => error + logger.error(error) + logger.info('Run "thor docs:list" to see the list of docs.') + end + + private + + def check_doc(doc) + # Scraper versions are always sorted from new to old + # Therefore, the first item's release value is the latest current scraper version + # + # For example, a scraper could scrape 3 versions: 10, 11 and 12 + # doc.versions.first would be the scraper for version 12 if the scraper is written like all the other scrapers are + instance = doc.versions.first.new + + current_version = instance.options[:release] + return nil if current_version.nil? + + latest_version = instance.get_latest_version + return nil if latest_version.nil? + + { + name: doc.name, + current_version: current_version, + latest_version: latest_version, + is_outdated: instance.is_outdated(current_version, latest_version) + } + rescue NotImplementedError + logger.warn("Can't check #{doc.name}, get_latest_version is not implemented") + rescue => error + logger.error("Error while checking #{doc.name}: #{error}") + end + + def logger + @logger ||= Logger.new($stdout).tap do |logger| + logger.formatter = proc do |severity, datetime, progname, msg| + prefix = severity != "INFO" ? "[#{severity}] " : "" + "#{prefix}#{msg}\n" + end + end + end +end From 2d1e8aa00cce957358cb741f180c3ff8dabfbefa Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 8 Mar 2019 15:13:11 +0100 Subject: [PATCH 0073/2822] Add better logging and get_latest_version implementations for 10 scrapers --- lib/docs/core/scraper.rb | 34 +++++++++++++++++++- lib/docs/scrapers/angular.rb | 4 +++ lib/docs/scrapers/angularjs.rb | 4 +++ lib/docs/scrapers/ansible.rb | 6 ++++ lib/docs/scrapers/apache.rb | 6 ++++ lib/docs/scrapers/apache_pig.rb | 6 ++++ lib/docs/scrapers/async.rb | 7 ++++ lib/docs/scrapers/babel.rb | 6 ++++ lib/docs/scrapers/backbone.rb | 7 ++++ lib/docs/scrapers/bash.rb | 7 ++++ lib/docs/scrapers/bluebird.rb | 4 +++ lib/docs/scrapers/pygame.rb | 1 + lib/tasks/updates.thor | 57 +++++++++++++++++++++------------ 13 files changed, 128 insertions(+), 21 deletions(-) diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index 89191e48ec..a7e388a8ea 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -132,7 +132,7 @@ def options end end - def get_latest_version + def get_latest_version(&block) raise NotImplementedError end @@ -231,6 +231,38 @@ def additional_options {} end + # Utility methods for get_latest_version + + def fetch(url, &block) + Request.run(url) do |response| + if response.success? + block.call response.body + else + block.call nil + end + end + end + + def fetch_doc(url, &block) + fetch(url) do |body| + parser = Parser.new(body) + block.call parser.html + end + end + + def fetch_json(url, &block) + fetch(url) do |body| + json = JSON.parse(body) + block.call json + end + end + + def get_npm_version(package, &block) + fetch_json("https://registry.npmjs.com/#{package}") do |json| + block.call json['dist-tags']['latest'] + end + end + module FixInternalUrlsBehavior def self.included(base) base.extend ClassMethods diff --git a/lib/docs/scrapers/angular.rb b/lib/docs/scrapers/angular.rb index c318ce2585..fa03eb36fc 100644 --- a/lib/docs/scrapers/angular.rb +++ b/lib/docs/scrapers/angular.rb @@ -155,6 +155,10 @@ def handle_response(response) end end + def get_latest_version(&block) + get_npm_version('@angular/core', &block) + end + private def parse(response) diff --git a/lib/docs/scrapers/angularjs.rb b/lib/docs/scrapers/angularjs.rb index b8ff08b960..aa74ca1c28 100644 --- a/lib/docs/scrapers/angularjs.rb +++ b/lib/docs/scrapers/angularjs.rb @@ -69,5 +69,9 @@ class Angularjs < UrlScraper self.release = '1.2.32' self.base_url = "https://code.angularjs.org/#{release}/docs/partials/" end + + def get_latest_version(&block) + get_npm_version('angular', &block) + end end end diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index 2d62909ae5..60fb195344 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -87,5 +87,11 @@ class Ansible < UrlScraper quickstart.html list_of_all_modules.html) end + + def get_latest_version(&block) + fetch_doc('https://docs.ansible.com/ansible/latest/index.html') do |doc| + block.call doc.at_css('.DocSiteProduct-CurrentVersion').content.strip + end + end end end diff --git a/lib/docs/scrapers/apache.rb b/lib/docs/scrapers/apache.rb index 9ee82f12bf..5eca041e31 100644 --- a/lib/docs/scrapers/apache.rb +++ b/lib/docs/scrapers/apache.rb @@ -33,5 +33,11 @@ class Apache < UrlScraper © 2018 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0. HTML + + def get_latest_version(&block) + fetch_doc('http://httpd.apache.org/docs/') do |doc| + block.call doc.at_css('#apcontents > ul a')['href'][0...-1] + end + end end end diff --git a/lib/docs/scrapers/apache_pig.rb b/lib/docs/scrapers/apache_pig.rb index 65897a78d3..15c477bf47 100644 --- a/lib/docs/scrapers/apache_pig.rb +++ b/lib/docs/scrapers/apache_pig.rb @@ -43,5 +43,11 @@ class ApachePig < UrlScraper self.base_url = "https://pig.apache.org/docs/r#{release}/" end + def get_latest_version(&block) + fetch_doc('https://pig.apache.org/') do |doc| + item = doc.at_css('div[id="menu_1.2"] > .menuitem:last-child') + block.call item.content.strip.sub(/Release /, '') + end + end end end diff --git a/lib/docs/scrapers/async.rb b/lib/docs/scrapers/async.rb index 40022f1950..930820b447 100644 --- a/lib/docs/scrapers/async.rb +++ b/lib/docs/scrapers/async.rb @@ -17,5 +17,12 @@ class Async < UrlScraper © 2010–2018 Caolan McMahon
    Licensed under the MIT License. HTML + + def get_latest_version(&block) + fetch_doc('https://caolan.github.io/async/') do |doc| + version = doc.at_css('#version-dropdown > a').content.strip[1..-1] + block.call version + end + end end end diff --git a/lib/docs/scrapers/babel.rb b/lib/docs/scrapers/babel.rb index c9e4021239..cc8bec6d52 100644 --- a/lib/docs/scrapers/babel.rb +++ b/lib/docs/scrapers/babel.rb @@ -22,5 +22,11 @@ class Babel < UrlScraper stub '' do '

    ' end + + def get_latest_version(&block) + fetch_doc('https://babeljs.io/docs/en/') do |doc| + block.call doc.at_css('a[href="/versions"] > h3').content + end + end end end diff --git a/lib/docs/scrapers/backbone.rb b/lib/docs/scrapers/backbone.rb index b72b10849b..2fb7662f38 100644 --- a/lib/docs/scrapers/backbone.rb +++ b/lib/docs/scrapers/backbone.rb @@ -20,5 +20,12 @@ class Backbone < UrlScraper © 2010–2016 Jeremy Ashkenas, DocumentCloud
    Licensed under the MIT License. HTML + + def get_latest_version(&block) + fetch_doc('https://backbonejs.org/') do |doc| + version = doc.at_css('.version').content + block.call version[1...-1] + end + end end end diff --git a/lib/docs/scrapers/bash.rb b/lib/docs/scrapers/bash.rb index feb0ddce20..b62868a68b 100644 --- a/lib/docs/scrapers/bash.rb +++ b/lib/docs/scrapers/bash.rb @@ -17,5 +17,12 @@ class Bash < UrlScraper Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
    Licensed under the GNU Free Documentation License. HTML + + def get_latest_version(&block) + fetch('https://www.gnu.org/software/bash/manual/html_node/index.html') do |body| + version = body.scan(/, Version ([0-9.]+)/)[0][0] + block.call version[0...-1] + end + end end end diff --git a/lib/docs/scrapers/bluebird.rb b/lib/docs/scrapers/bluebird.rb index e5cd6b5935..73888004f5 100644 --- a/lib/docs/scrapers/bluebird.rb +++ b/lib/docs/scrapers/bluebird.rb @@ -18,5 +18,9 @@ class Bluebird < UrlScraper © 2013–2017 Petka Antonov
    Licensed under the MIT License. HTML + + def get_latest_version(&block) + get_npm_version('bluebird', &block) + end end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 9da3148d45..892619e43e 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -2,6 +2,7 @@ module Docs class Pygame < UrlScraper self.type = 'simple' self.release = '1.9.4' + self.base_url = 'https://www.pygame.org/docs/' self.root_path = 'py-modindex.html' self.links = { home: 'https://www.pygame.org/', diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index 35d52e2895..eb3467f295 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -9,7 +9,8 @@ class UpdatesCLI < Thor super end - desc 'check [doc]...', 'Check for outdated documentations' + desc 'check [--verbose] [doc]...', 'Check for outdated documentations' + option :verbose, :type => :boolean def check(*names) # Convert names to a list of Scraper instances # Versions are omitted, if v10 is outdated than v8 is aswell @@ -27,13 +28,14 @@ class UpdatesCLI < Thor result end - outdated = results.select {|result| result.is_a?(Hash) && result[:is_outdated]} - return if outdated.empty? + valid_results = results.select {|result| result.is_a?(Hash)} - logger.info("Outdated documentations (#{outdated.length}):") - outdated.each do |result| - logger.info("#{result[:name]}: #{result[:current_version]} -> #{result[:latest_version]}") - end + up_to_date_results = valid_results.select {|result| !result[:is_outdated]} + outdated_results = valid_results.select {|result| result[:is_outdated]} + + log_results('Up-to-date', up_to_date_results) if options[:verbose] and !up_to_date_results.empty? + logger.info("") if options[:verbose] and !up_to_date_results.empty? and !outdated_results.empty? + log_results('Outdated', outdated_results) unless outdated_results.empty? rescue Docs::DocNotFound => error logger.error(error) logger.info('Run "thor docs:list" to see the list of docs.') @@ -42,33 +44,48 @@ class UpdatesCLI < Thor private def check_doc(doc) - # Scraper versions are always sorted from new to old + # Newer scraper versions always come before older scraper versions # Therefore, the first item's release value is the latest current scraper version # # For example, a scraper could scrape 3 versions: 10, 11 and 12 - # doc.versions.first would be the scraper for version 12 if the scraper is written like all the other scrapers are + # doc.versions.first would be the scraper for version 12 instance = doc.versions.first.new + return nil unless instance.class.method_defined?(:options) + current_version = instance.options[:release] return nil if current_version.nil? - latest_version = instance.get_latest_version - return nil if latest_version.nil? + logger.debug("Checking #{doc.name}") + + instance.get_latest_version do |latest_version| + return { + name: doc.name, + current_version: current_version, + latest_version: latest_version, + is_outdated: instance.is_outdated(current_version, latest_version) + } + end - { - name: doc.name, - current_version: current_version, - latest_version: latest_version, - is_outdated: instance.is_outdated(current_version, latest_version) - } + return nil rescue NotImplementedError - logger.warn("Can't check #{doc.name}, get_latest_version is not implemented") - rescue => error - logger.error("Error while checking #{doc.name}: #{error}") + logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented") + rescue + logger.error("Error while checking #{doc.name}") + raise + end + + def log_results(label, results) + logger.info("#{label} documentations (#{results.length}):") + + results.each do |result| + logger.info("#{result[:name]}: #{result[:current_version]} -> #{result[:latest_version]}") + end end def logger @logger ||= Logger.new($stdout).tap do |logger| + logger.level = options[:verbose] ? Logger::DEBUG : Logger::INFO logger.formatter = proc do |severity, datetime, progname, msg| prefix = severity != "INFO" ? "[#{severity}] " : "" "#{prefix}#{msg}\n" From 3dc17a9b29a33bb77f8b22ae5b9e8cf8ea9fd8f9 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 9 Mar 2019 02:36:05 +0100 Subject: [PATCH 0074/2822] Finish get_latest_version for 81 scrapers and add uploading functionality --- Gemfile | 1 + Gemfile.lock | 3 + lib/docs/core/scraper.rb | 56 +++-- lib/docs/scrapers/angular.rb | 4 +- lib/docs/scrapers/angularjs.rb | 4 +- lib/docs/scrapers/ansible.rb | 4 +- lib/docs/scrapers/apache.rb | 4 +- lib/docs/scrapers/apache_pig.rb | 4 +- lib/docs/scrapers/async.rb | 4 +- lib/docs/scrapers/babel.rb | 4 +- lib/docs/scrapers/backbone.rb | 4 +- lib/docs/scrapers/bash.rb | 4 +- lib/docs/scrapers/bluebird.rb | 4 +- lib/docs/scrapers/bootstrap.rb | 6 + lib/docs/scrapers/bottle.rb | 7 + lib/docs/scrapers/bower.rb | 4 + lib/docs/scrapers/cakephp.rb | 6 + lib/docs/scrapers/chai.rb | 4 + lib/docs/scrapers/chef.rb | 7 + lib/docs/scrapers/clojure.rb | 6 + lib/docs/scrapers/cmake.rb | 7 + lib/docs/scrapers/codeception.rb | 6 + lib/docs/scrapers/codeceptjs.rb | 4 + lib/docs/scrapers/codeigniter.rb | 7 + lib/docs/scrapers/coffeescript.rb | 4 + lib/docs/scrapers/cordova.rb | 9 + lib/docs/scrapers/crystal.rb | 6 + lib/docs/scrapers/d.rb | 6 + lib/docs/scrapers/d3.rb | 4 + lib/docs/scrapers/dart.rb | 7 + lib/docs/scrapers/django.rb | 6 + lib/docs/scrapers/docker.rb | 7 + lib/docs/scrapers/dojo.rb | 6 + lib/docs/scrapers/drupal.rb | 9 + lib/docs/scrapers/electron.rb | 6 + lib/docs/scrapers/elixir.rb | 6 + lib/docs/scrapers/ember.rb | 6 + lib/docs/scrapers/erlang.rb | 6 + lib/docs/scrapers/eslint.rb | 4 + lib/docs/scrapers/express.rb | 4 + lib/docs/scrapers/falcon.rb | 6 + lib/docs/scrapers/fish.rb | 6 + lib/docs/scrapers/flow.rb | 4 + lib/docs/scrapers/git.rb | 6 + lib/docs/scrapers/gnu/gcc.rb | 7 + lib/docs/scrapers/gnu/gnu_fortran.rb | 7 + lib/docs/scrapers/go.rb | 9 + lib/docs/scrapers/godot.rb | 6 + lib/docs/scrapers/graphite.rb | 6 + lib/docs/scrapers/grunt.rb | 4 + lib/docs/scrapers/handlebars.rb | 4 + lib/docs/scrapers/haskell.rb | 7 + lib/docs/scrapers/haxe.rb | 7 + lib/docs/scrapers/homebrew.rb | 6 + lib/docs/scrapers/immutable.rb | 4 + lib/docs/scrapers/influxdata.rb | 7 + lib/docs/scrapers/jasmine.rb | 6 + lib/docs/scrapers/jekyll.rb | 6 + lib/docs/scrapers/jest.rb | 6 + lib/docs/scrapers/jquery/jquery_core.rb | 4 + lib/docs/scrapers/jquery/jquery_mobile.rb | 7 + lib/docs/scrapers/jquery/jquery_ui.rb | 4 + lib/docs/scrapers/jsdoc.rb | 6 + lib/docs/scrapers/julia.rb | 6 + lib/docs/scrapers/knockout.rb | 6 + lib/docs/scrapers/koa.rb | 4 + lib/docs/scrapers/kotlin.rb | 6 + lib/docs/scrapers/laravel.rb | 6 + lib/docs/scrapers/leaflet.rb | 6 + lib/docs/scrapers/less.rb | 7 + lib/docs/scrapers/liquid.rb | 6 + lib/docs/scrapers/lodash.rb | 6 + lib/docs/scrapers/love.rb | 6 + lib/docs/scrapers/lua.rb | 6 + lib/docs/scrapers/marionette.rb | 4 + lib/docs/scrapers/matplotlib.rb | 6 + lib/docs/scrapers/meteor.rb | 6 + lib/docs/scrapers/mocha.rb | 4 + lib/docs/scrapers/modernizr.rb | 4 + lib/docs/scrapers/moment.rb | 6 + lib/docs/scrapers/mongoose.rb | 7 + lib/docs/scrapers/rdoc/minitest.rb | 6 + lib/docs/scrapers/rdoc/rails.rb | 6 + lib/docs/scrapers/rdoc/ruby.rb | 12 + lib/tasks/updates.thor | 286 +++++++++++++++++++--- 85 files changed, 739 insertions(+), 68 deletions(-) diff --git a/Gemfile b/Gemfile index 31b57064fc..5b8fae70dd 100644 --- a/Gemfile +++ b/Gemfile @@ -40,6 +40,7 @@ group :docs do gem 'unix_utils', require: false gem 'tty-pager', require: false gem 'net-sftp', '>= 2.1.3.rc2', require: false + gem 'terminal-table', require: false end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index d968a27b9a..3ed8570b12 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -101,6 +101,8 @@ GEM unicode-display_width (~> 1.4.0) unicode_utils (~> 1.4.0) strings-ansi (0.1.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) thin (1.7.2) daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0, >= 1.0.4) @@ -153,6 +155,7 @@ DEPENDENCIES sinatra-contrib sprockets sprockets-helpers + terminal-table thin thor tty-pager diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index a7e388a8ea..b124c6db01 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -132,7 +132,7 @@ def options end end - def get_latest_version(&block) + def get_latest_version(options, &block) raise NotImplementedError end @@ -147,15 +147,15 @@ def get_latest_version(&block) # 1 -> 2 = outdated # 1.1 -> 1.2 = outdated # 1.1.1 -> 1.1.2 = not outdated - def is_outdated(current_version, latest_version) - current_parts = current_version.split(/\./).map(&:to_i) + def is_outdated(scraper_version, latest_version) + scraper_parts = scraper_version.split(/\./).map(&:to_i) latest_parts = latest_version.split(/\./).map(&:to_i) # Only check the first two parts, the third part is for patch updates [0, 1].each do |i| - break if i >= current_parts.length or i >= latest_parts.length - return true if latest_parts[i] > current_parts[i] - return false if latest_parts[i] < current_parts[i] + break if i >= scraper_parts.length or i >= latest_parts.length + return true if latest_parts[i] > scraper_parts[i] + return false if latest_parts[i] < scraper_parts[i] end false @@ -231,38 +231,62 @@ def additional_options {} end + # # Utility methods for get_latest_version + # - def fetch(url, &block) - Request.run(url) do |response| + def fetch(url, options, &block) + headers = {} + + if options.key?(:github_token) and url.start_with?('https://api.github.com/') + headers['Authorization'] = "token #{options[:github_token]}" + end + + options[:logger].debug("Fetching #{url}") + + Request.run(url, { headers: headers }) do |response| if response.success? block.call response.body else + options[:logger].error("Couldn't fetch #{url} (response code #{response.code})") block.call nil end end end - def fetch_doc(url, &block) - fetch(url) do |body| - parser = Parser.new(body) - block.call parser.html + def fetch_doc(url, options, &block) + fetch(url, options) do |body| + block.call Nokogiri::HTML.parse body, nil, 'UTF-8' end end - def fetch_json(url, &block) - fetch(url) do |body| + def fetch_json(url, options, &block) + fetch(url, options) do |body| json = JSON.parse(body) block.call json end end - def get_npm_version(package, &block) - fetch_json("https://registry.npmjs.com/#{package}") do |json| + def get_npm_version(package, options, &block) + fetch_json("https://registry.npmjs.com/#{package}", options) do |json| block.call json['dist-tags']['latest'] end end + def get_latest_github_release(owner, repo, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", options, &block) + end + + def get_github_tags(owner, repo, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/tags", options, &block) + end + + def get_github_file_contents(owner, repo, path, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", options) do |json| + block.call(Base64.decode64(json['content'])) + end + end + module FixInternalUrlsBehavior def self.included(base) base.extend ClassMethods diff --git a/lib/docs/scrapers/angular.rb b/lib/docs/scrapers/angular.rb index fa03eb36fc..059b0e8ef2 100644 --- a/lib/docs/scrapers/angular.rb +++ b/lib/docs/scrapers/angular.rb @@ -155,8 +155,8 @@ def handle_response(response) end end - def get_latest_version(&block) - get_npm_version('@angular/core', &block) + def get_latest_version(options, &block) + get_npm_version('@angular/core', options, &block) end private diff --git a/lib/docs/scrapers/angularjs.rb b/lib/docs/scrapers/angularjs.rb index aa74ca1c28..b6e1832512 100644 --- a/lib/docs/scrapers/angularjs.rb +++ b/lib/docs/scrapers/angularjs.rb @@ -70,8 +70,8 @@ class Angularjs < UrlScraper self.base_url = "https://code.angularjs.org/#{release}/docs/partials/" end - def get_latest_version(&block) - get_npm_version('angular', &block) + def get_latest_version(options, &block) + get_npm_version('angular', options, &block) end end end diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index 60fb195344..293f74a743 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -88,8 +88,8 @@ class Ansible < UrlScraper list_of_all_modules.html) end - def get_latest_version(&block) - fetch_doc('https://docs.ansible.com/ansible/latest/index.html') do |doc| + def get_latest_version(options, &block) + fetch_doc('https://docs.ansible.com/ansible/latest/index.html', options) do |doc| block.call doc.at_css('.DocSiteProduct-CurrentVersion').content.strip end end diff --git a/lib/docs/scrapers/apache.rb b/lib/docs/scrapers/apache.rb index 5eca041e31..ba0fa34031 100644 --- a/lib/docs/scrapers/apache.rb +++ b/lib/docs/scrapers/apache.rb @@ -34,8 +34,8 @@ class Apache < UrlScraper Licensed under the Apache License, Version 2.0. HTML - def get_latest_version(&block) - fetch_doc('http://httpd.apache.org/docs/') do |doc| + def get_latest_version(options, &block) + fetch_doc('http://httpd.apache.org/docs/', options) do |doc| block.call doc.at_css('#apcontents > ul a')['href'][0...-1] end end diff --git a/lib/docs/scrapers/apache_pig.rb b/lib/docs/scrapers/apache_pig.rb index 15c477bf47..5454140b5f 100644 --- a/lib/docs/scrapers/apache_pig.rb +++ b/lib/docs/scrapers/apache_pig.rb @@ -43,8 +43,8 @@ class ApachePig < UrlScraper self.base_url = "https://pig.apache.org/docs/r#{release}/" end - def get_latest_version(&block) - fetch_doc('https://pig.apache.org/') do |doc| + def get_latest_version(options, &block) + fetch_doc('https://pig.apache.org/', options) do |doc| item = doc.at_css('div[id="menu_1.2"] > .menuitem:last-child') block.call item.content.strip.sub(/Release /, '') end diff --git a/lib/docs/scrapers/async.rb b/lib/docs/scrapers/async.rb index 930820b447..18e9bbbf45 100644 --- a/lib/docs/scrapers/async.rb +++ b/lib/docs/scrapers/async.rb @@ -18,8 +18,8 @@ class Async < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(&block) - fetch_doc('https://caolan.github.io/async/') do |doc| + def get_latest_version(options, &block) + fetch_doc('https://caolan.github.io/async/', options) do |doc| version = doc.at_css('#version-dropdown > a').content.strip[1..-1] block.call version end diff --git a/lib/docs/scrapers/babel.rb b/lib/docs/scrapers/babel.rb index cc8bec6d52..675f86be75 100644 --- a/lib/docs/scrapers/babel.rb +++ b/lib/docs/scrapers/babel.rb @@ -23,8 +23,8 @@ class Babel < UrlScraper '
    ' end - def get_latest_version(&block) - fetch_doc('https://babeljs.io/docs/en/') do |doc| + def get_latest_version(options, &block) + fetch_doc('https://babeljs.io/docs/en/', options) do |doc| block.call doc.at_css('a[href="/versions"] > h3').content end end diff --git a/lib/docs/scrapers/backbone.rb b/lib/docs/scrapers/backbone.rb index 2fb7662f38..ad6220e561 100644 --- a/lib/docs/scrapers/backbone.rb +++ b/lib/docs/scrapers/backbone.rb @@ -21,8 +21,8 @@ class Backbone < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(&block) - fetch_doc('https://backbonejs.org/') do |doc| + def get_latest_version(options, &block) + fetch_doc('https://backbonejs.org/', options) do |doc| version = doc.at_css('.version').content block.call version[1...-1] end diff --git a/lib/docs/scrapers/bash.rb b/lib/docs/scrapers/bash.rb index b62868a68b..5556f5b987 100644 --- a/lib/docs/scrapers/bash.rb +++ b/lib/docs/scrapers/bash.rb @@ -18,8 +18,8 @@ class Bash < UrlScraper Licensed under the GNU Free Documentation License. HTML - def get_latest_version(&block) - fetch('https://www.gnu.org/software/bash/manual/html_node/index.html') do |body| + def get_latest_version(options, &block) + fetch('https://www.gnu.org/software/bash/manual/html_node/index.html', options) do |body| version = body.scan(/, Version ([0-9.]+)/)[0][0] block.call version[0...-1] end diff --git a/lib/docs/scrapers/bluebird.rb b/lib/docs/scrapers/bluebird.rb index 73888004f5..8a960b876e 100644 --- a/lib/docs/scrapers/bluebird.rb +++ b/lib/docs/scrapers/bluebird.rb @@ -19,8 +19,8 @@ class Bluebird < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(&block) - get_npm_version('bluebird', &block) + def get_latest_version(options, &block) + get_npm_version('bluebird', options, &block) end end end diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb index 7b2406b84a..aa0b4cc388 100644 --- a/lib/docs/scrapers/bootstrap.rb +++ b/lib/docs/scrapers/bootstrap.rb @@ -34,5 +34,11 @@ class Bootstrap < UrlScraper options[:only] = %w(getting-started/ css/ components/ javascript/) end + + def get_latest_version(options, &block) + fetch_doc('https://getbootstrap.com/', options) do |doc| + block.call doc.at_css('#bd-versions').content.strip[1..-1] + end + end end end diff --git a/lib/docs/scrapers/bottle.rb b/lib/docs/scrapers/bottle.rb index 25ad7f6e49..6e4a19a897 100644 --- a/lib/docs/scrapers/bottle.rb +++ b/lib/docs/scrapers/bottle.rb @@ -27,5 +27,12 @@ class Bottle < UrlScraper self.release = '0.11.7' self.base_url = "https://bottlepy.org/docs/#{self.version}/" end + + def get_latest_version(options, &block) + fetch_doc('https://bottlepy.org/docs/stable/', options) do |doc| + label = doc.at_css('.sphinxsidebarwrapper > ul > li > b') + block.call label.content.sub(/Bottle /, '') + end + end end end diff --git a/lib/docs/scrapers/bower.rb b/lib/docs/scrapers/bower.rb index b032f1d326..1102ee75ff 100644 --- a/lib/docs/scrapers/bower.rb +++ b/lib/docs/scrapers/bower.rb @@ -19,5 +19,9 @@ class Bower < UrlScraper © 2018 Bower contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('bower', options, &block) + end end end diff --git a/lib/docs/scrapers/cakephp.rb b/lib/docs/scrapers/cakephp.rb index 08dbead0fd..b123ab7aea 100644 --- a/lib/docs/scrapers/cakephp.rb +++ b/lib/docs/scrapers/cakephp.rb @@ -71,6 +71,12 @@ class Cakephp < UrlScraper self.base_url = 'https://api.cakephp.org/2.7/' end + def get_latest_version(options, &block) + fetch_doc('https://api.cakephp.org/3.7/', options) do |doc| + block.call doc.at_css('.version-picker .dropdown-toggle').content.strip + end + end + private def parse(response) diff --git a/lib/docs/scrapers/chai.rb b/lib/docs/scrapers/chai.rb index 9d8aa4d2ae..422bd5a95b 100644 --- a/lib/docs/scrapers/chai.rb +++ b/lib/docs/scrapers/chai.rb @@ -23,5 +23,9 @@ class Chai < UrlScraper © 2016 Chai.js Assertion Library
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('chai', options, &block) + end end end diff --git a/lib/docs/scrapers/chef.rb b/lib/docs/scrapers/chef.rb index 2fd32a83ce..337d12024b 100644 --- a/lib/docs/scrapers/chef.rb +++ b/lib/docs/scrapers/chef.rb @@ -47,5 +47,12 @@ class Chef < UrlScraper options[:only_patterns] = [/\A#{client_path}\//, /\A#{server_path}\//] end + + def get_latest_version(options, &block) + fetch_doc('https://docs-archive.chef.io/', options) do |doc| + cell = doc.at_css('.main-archives > tr:nth-child(2) > td:nth-child(2)') + block.call cell.content.sub(/Chef Client /, '') + end + end end end diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index c6bdcdea6a..465a4493dd 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -27,5 +27,11 @@ class Clojure < UrlScraper self.release = '1.7' self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.7.0/' end + + def get_latest_version(options, &block) + fetch_doc('http://clojure.github.io/clojure/index.html', options) do |doc| + block.call doc.at_css('#header-version').content[1..-1] + end + end end end diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb index c455e4fd02..dde4721c64 100644 --- a/lib/docs/scrapers/cmake.rb +++ b/lib/docs/scrapers/cmake.rb @@ -59,5 +59,12 @@ class Cmake < UrlScraper self.release = '3.5.2' self.base_url = 'https://cmake.org/cmake/help/v3.5/' end + + def get_latest_version(options, &block) + fetch_doc('https://cmake.org/documentation/', options) do |doc| + link = doc.at_css('.entry-content ul > li > strong > a > big') + block.call link.content.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/codeception.rb b/lib/docs/scrapers/codeception.rb index 919f146d6a..2e28de7fba 100644 --- a/lib/docs/scrapers/codeception.rb +++ b/lib/docs/scrapers/codeception.rb @@ -18,5 +18,11 @@ class Codeception < UrlScraper © 2011 Michael Bodnarchuk and contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://codeception.com/changelog', options) do |doc| + block.call doc.at_css('#page > h4').content + end + end end end diff --git a/lib/docs/scrapers/codeceptjs.rb b/lib/docs/scrapers/codeceptjs.rb index 131893404a..e3f4fda863 100644 --- a/lib/docs/scrapers/codeceptjs.rb +++ b/lib/docs/scrapers/codeceptjs.rb @@ -21,5 +21,9 @@ class Codeceptjs < UrlScraper © 2015 DavertMik <davert@codegyre.com> (http://codegyre.com)
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('codeceptjs', options, &block) + end end end diff --git a/lib/docs/scrapers/codeigniter.rb b/lib/docs/scrapers/codeigniter.rb index 573f9b8c6a..864cf70088 100644 --- a/lib/docs/scrapers/codeigniter.rb +++ b/lib/docs/scrapers/codeigniter.rb @@ -38,5 +38,12 @@ class Codeigniter < UrlScraper version '3' do self.release = '3.1.8' end + + def get_latest_version(options, &block) + fetch_doc('https://codeigniter.com/user_guide/changelog.html', options) do |doc| + header = doc.at_css('#change-log h2') + block.call header.content.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/coffeescript.rb b/lib/docs/scrapers/coffeescript.rb index 23e9557f40..d848d20877 100644 --- a/lib/docs/scrapers/coffeescript.rb +++ b/lib/docs/scrapers/coffeescript.rb @@ -30,5 +30,9 @@ class Coffeescript < UrlScraper options[:container] = '.container' end + + def get_latest_version(options, &block) + get_npm_version('coffeescript', options, &block) + end end end diff --git a/lib/docs/scrapers/cordova.rb b/lib/docs/scrapers/cordova.rb index f74c72ff64..efe8fb0373 100644 --- a/lib/docs/scrapers/cordova.rb +++ b/lib/docs/scrapers/cordova.rb @@ -42,5 +42,14 @@ class Cordova < UrlScraper self.release = '6.5.0' self.base_url = 'https://cordova.apache.org/docs/en/6.x/' end + + def get_latest_version(options, &block) + fetch_doc('https://cordova.apache.org/docs/en/latest/', options) do |doc| + label = doc.at_css('#versionDropdown').content.strip + version = label.scan(/([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + block.call version + end + end end end diff --git a/lib/docs/scrapers/crystal.rb b/lib/docs/scrapers/crystal.rb index 29061a1dfc..e70317f2da 100644 --- a/lib/docs/scrapers/crystal.rb +++ b/lib/docs/scrapers/crystal.rb @@ -34,5 +34,11 @@ class Crystal < UrlScraper HTML end } + + def get_latest_version(options, &block) + fetch('https://crystal-lang.org/api', options) do |body| + block.call body.scan(/Crystal Docs ([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/d.rb b/lib/docs/scrapers/d.rb index 6126380e09..b0adaf3140 100644 --- a/lib/docs/scrapers/d.rb +++ b/lib/docs/scrapers/d.rb @@ -26,5 +26,11 @@ class D < UrlScraper def initial_urls %w(https://dlang.org/phobos/index.html https://dlang.org/spec/intro.html) end + + def get_latest_version(options, &block) + fetch_doc('https://dlang.org/changelog/', options) do |doc| + block.call doc.at_css('#content > ul > li:nth-child(2) > a')['id'] + end + end end end diff --git a/lib/docs/scrapers/d3.rb b/lib/docs/scrapers/d3.rb index 26b27ca5e0..cfbbafc959 100644 --- a/lib/docs/scrapers/d3.rb +++ b/lib/docs/scrapers/d3.rb @@ -58,5 +58,9 @@ class D3 < UrlScraper options[:root_title] = 'D3.js' options[:only_patterns] = [/\.md\z/] end + + def get_latest_version(options, &block) + get_npm_version('d3', options, &block) + end end end diff --git a/lib/docs/scrapers/dart.rb b/lib/docs/scrapers/dart.rb index c345c22f43..42d20423d0 100644 --- a/lib/docs/scrapers/dart.rb +++ b/lib/docs/scrapers/dart.rb @@ -31,5 +31,12 @@ class Dart < FileScraper self.release = '1.24.3' self.base_url = "https://api.dartlang.org/stable/#{release}/" end + + def get_latest_version(options, &block) + fetch_doc('https://api.dartlang.org/', options) do |doc| + label = doc.at_css('footer > span').content.strip + block.call label.sub(/Dart /, '') + end + end end end diff --git a/lib/docs/scrapers/django.rb b/lib/docs/scrapers/django.rb index 4527354035..746c0f4073 100644 --- a/lib/docs/scrapers/django.rb +++ b/lib/docs/scrapers/django.rb @@ -63,5 +63,11 @@ class Django < FileScraper self.release = '1.8.18' self.base_url = 'https://docs.djangoproject.com/en/1.8/' end + + def get_latest_version(options, &block) + fetch_doc('https://docs.djangoproject.com/', options) do |doc| + block.call doc.at_css('#doc-versions > li.current > span > strong').content + end + end end end diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index 92494f8aad..dd849391f6 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -137,5 +137,12 @@ def self.included(klass) options[:container] = '#docs' options[:only_patterns] << /\Aswarm\// end + + def get_latest_version(options, &block) + fetch_doc('https://docs.docker.com/', options) do |doc| + label = doc.at_css('.nav-container button.dropdown-toggle').content.strip + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/dojo.rb b/lib/docs/scrapers/dojo.rb index 937ed21a84..66dccb6fd2 100644 --- a/lib/docs/scrapers/dojo.rb +++ b/lib/docs/scrapers/dojo.rb @@ -36,6 +36,12 @@ class Dojo < UrlScraper urls.map { |url| "#{url}" }.join end + def get_latest_version(options, &block) + fetch_doc('https://dojotoolkit.org/api/', options) do |doc| + block.call doc.at_css('#versionSelector > option[selected]').content + end + end + private def get_url_list(json, set = Set.new) diff --git a/lib/docs/scrapers/drupal.rb b/lib/docs/scrapers/drupal.rb index 5710eb3662..92da419303 100644 --- a/lib/docs/scrapers/drupal.rb +++ b/lib/docs/scrapers/drupal.rb @@ -98,5 +98,14 @@ class Drupal < UrlScraper /\A[\w\-\.]+\.php\/7\.x\z/ ] end + + def get_latest_version(options, &block) + fetch_doc('http://cgit.drupalcode.org/drupal', options) do |doc| + version = doc.at_css('td.form > form > select > option[selected]').content + version = version.scan(/([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + block.call version + end + end end end diff --git a/lib/docs/scrapers/electron.rb b/lib/docs/scrapers/electron.rb index 3cb399f001..dd3cf00a87 100644 --- a/lib/docs/scrapers/electron.rb +++ b/lib/docs/scrapers/electron.rb @@ -22,5 +22,11 @@ class Electron < UrlScraper © 2013–2018 GitHub Inc.
    Licensed under the MIT license. HTML + + def get_latest_version(options, &block) + fetch_doc('https://electronjs.org/docs', options) do |doc| + block.call doc.at_css('.docs-version').content + end + end end end diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index 10d5aac1a8..d5b8dbe6d7 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -97,5 +97,11 @@ def initial_urls 'https://elixir-lang.org/getting-started/' ] end + + def get_latest_version(options, &block) + fetch_doc('https://hexdocs.pm/elixir/api-reference.html', options) do |doc| + block.call doc.at_css('h2.sidebar-projectVersion').content.strip[1..-1] + end + end end end diff --git a/lib/docs/scrapers/ember.rb b/lib/docs/scrapers/ember.rb index 3db20c94da..24a8817e94 100644 --- a/lib/docs/scrapers/ember.rb +++ b/lib/docs/scrapers/ember.rb @@ -56,5 +56,11 @@ def initial_urls https://emberjs.com/api/ember-data/2.14/classes/DS ) end + + def get_latest_version(options, &block) + fetch_doc('https://emberjs.com/api/ember/release', options) do |doc| + block.call doc.at_css('.sidebar > .select-container .ember-power-select-selected-item').content.strip + end + end end end diff --git a/lib/docs/scrapers/erlang.rb b/lib/docs/scrapers/erlang.rb index d6aa2a0b93..7dcb0fae7b 100644 --- a/lib/docs/scrapers/erlang.rb +++ b/lib/docs/scrapers/erlang.rb @@ -55,5 +55,11 @@ class Erlang < FileScraper version '18' do self.release = '18.3' end + + def get_latest_version(options, &block) + fetch_doc('https://www.erlang.org/downloads', options) do |doc| + block.call doc.at_css('.col-lg-3 > ul > li').content.strip + end + end end end diff --git a/lib/docs/scrapers/eslint.rb b/lib/docs/scrapers/eslint.rb index 8b4c9a2ec8..dac9c283c0 100644 --- a/lib/docs/scrapers/eslint.rb +++ b/lib/docs/scrapers/eslint.rb @@ -20,5 +20,9 @@ class Eslint < UrlScraper © JS Foundation and other contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('eslint', options, &block) + end end end diff --git a/lib/docs/scrapers/express.rb b/lib/docs/scrapers/express.rb index 0fb4ed14a5..67ba07e82e 100644 --- a/lib/docs/scrapers/express.rb +++ b/lib/docs/scrapers/express.rb @@ -28,5 +28,9 @@ class Express < UrlScraper © 2017 StrongLoop, IBM, and other expressjs.com contributors.
    Licensed under the Creative Commons Attribution-ShareAlike License v3.0. HTML + + def get_latest_version(options, &block) + get_npm_version('express', options, &block) + end end end diff --git a/lib/docs/scrapers/falcon.rb b/lib/docs/scrapers/falcon.rb index 5bfd8efc1f..cd5b70cd27 100644 --- a/lib/docs/scrapers/falcon.rb +++ b/lib/docs/scrapers/falcon.rb @@ -33,5 +33,11 @@ class Falcon < UrlScraper self.release = '1.2.0' self.base_url = "https://falcon.readthedocs.io/en/#{self.release}/" end + + def get_latest_version(options, &block) + fetch_doc('https://falcon.readthedocs.io/en/stable/changes/index.html', options) do |doc| + block.call doc.at_css('#changelogs ul > li > a').content + end + end end end diff --git a/lib/docs/scrapers/fish.rb b/lib/docs/scrapers/fish.rb index 5ccfa71c35..9340961a6d 100644 --- a/lib/docs/scrapers/fish.rb +++ b/lib/docs/scrapers/fish.rb @@ -46,5 +46,11 @@ class Fish < UrlScraper self.release = '2.2.0' self.base_url = "https://fishshell.com/docs/#{version}/" end + + def get_latest_version(options, &block) + fetch_doc('http://fishshell.com/docs/current/index.html', options) do |doc| + block.call doc.at_css('#toc-index').content.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/flow.rb b/lib/docs/scrapers/flow.rb index 16ea70dd6a..546473f79c 100644 --- a/lib/docs/scrapers/flow.rb +++ b/lib/docs/scrapers/flow.rb @@ -18,5 +18,9 @@ class Flow < UrlScraper © 2013–present Facebook Inc.
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('flow-bin', options, &block) + end end end diff --git a/lib/docs/scrapers/git.rb b/lib/docs/scrapers/git.rb index 26b2da9532..f10473d03f 100644 --- a/lib/docs/scrapers/git.rb +++ b/lib/docs/scrapers/git.rb @@ -19,5 +19,11 @@ class Git < UrlScraper © 2005–2018 Linus Torvalds and others
    Licensed under the GNU General Public License version 2. HTML + + def get_latest_version(options, &block) + fetch_doc('https://git-scm.com/', options) do |doc| + block.call doc.at_css('.version').content.strip + end + end end end diff --git a/lib/docs/scrapers/gnu/gcc.rb b/lib/docs/scrapers/gnu/gcc.rb index be3bb54ee3..3252dd6dd7 100644 --- a/lib/docs/scrapers/gnu/gcc.rb +++ b/lib/docs/scrapers/gnu/gcc.rb @@ -99,5 +99,12 @@ class Gcc < Gnu options[:replace_paths] = CPP_PATHS end + + def get_latest_version(options, &block) + fetch_doc('https://gcc.gnu.org/onlinedocs/', options) do |doc| + label = doc.at_css('ul > li > ul > li > a').content.strip + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/gnu/gnu_fortran.rb b/lib/docs/scrapers/gnu/gnu_fortran.rb index 2610178e6f..f72f7d6555 100644 --- a/lib/docs/scrapers/gnu/gnu_fortran.rb +++ b/lib/docs/scrapers/gnu/gnu_fortran.rb @@ -25,5 +25,12 @@ class GnuFortran < Gnu self.release = '4.9.3' self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" end + + def get_latest_version(options, &block) + fetch_doc('https://gcc.gnu.org/onlinedocs/', options) do |doc| + label = doc.at_css('ul > li > ul > li > a').content.strip + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/go.rb b/lib/docs/scrapers/go.rb index 7b23331717..6f8f7a4a8d 100644 --- a/lib/docs/scrapers/go.rb +++ b/lib/docs/scrapers/go.rb @@ -24,6 +24,15 @@ class Go < UrlScraper Licensed under the Creative Commons Attribution License 3.0. HTML + def get_latest_version(options, &block) + fetch_doc('https://golang.org/pkg/', options) do |doc| + footer = doc.at_css('#footer').content + version = footer.scan(/go([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + block.call version + end + end + private def parse(response) # Hook here because Nokogori removes whitespace from textareas diff --git a/lib/docs/scrapers/godot.rb b/lib/docs/scrapers/godot.rb index 7e7da9a6ef..d43782c2c3 100644 --- a/lib/docs/scrapers/godot.rb +++ b/lib/docs/scrapers/godot.rb @@ -37,5 +37,11 @@ class Godot < UrlScraper self.release = '2.1' self.base_url = "http://docs.godotengine.org/en/#{self.version}/" end + + def get_latest_version(options, &block) + fetch_doc('https://docs.godotengine.org/', options) do |doc| + block.call doc.at_css('.version').content.strip + end + end end end diff --git a/lib/docs/scrapers/graphite.rb b/lib/docs/scrapers/graphite.rb index 49ade8984a..d1d8b9d155 100644 --- a/lib/docs/scrapers/graphite.rb +++ b/lib/docs/scrapers/graphite.rb @@ -17,5 +17,11 @@ class Graphite < UrlScraper © 2011–2016 The Graphite Project
    Licensed under the Apache License, Version 2.0. HTML + + def get_latest_version(options, &block) + fetch_doc('https://graphite.readthedocs.io/en/latest/releases.html', options) do |doc| + block.call doc.at_css('#release-notes li > a').content + end + end end end diff --git a/lib/docs/scrapers/grunt.rb b/lib/docs/scrapers/grunt.rb index 2201c04314..1e8af9fbfd 100644 --- a/lib/docs/scrapers/grunt.rb +++ b/lib/docs/scrapers/grunt.rb @@ -26,5 +26,9 @@ class Grunt < UrlScraper © GruntJS Team
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('grunt-cli', options, &block) + end end end diff --git a/lib/docs/scrapers/handlebars.rb b/lib/docs/scrapers/handlebars.rb index 22935d21c2..7df6310233 100644 --- a/lib/docs/scrapers/handlebars.rb +++ b/lib/docs/scrapers/handlebars.rb @@ -19,5 +19,9 @@ class Handlebars < UrlScraper © 2011–2017 by Yehuda Katz
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('handlebars', options, &block) + end end end diff --git a/lib/docs/scrapers/haskell.rb b/lib/docs/scrapers/haskell.rb index 442339b32d..383e1990d0 100755 --- a/lib/docs/scrapers/haskell.rb +++ b/lib/docs/scrapers/haskell.rb @@ -68,5 +68,12 @@ class Haskell < UrlScraper options[:only_patterns] = [/\Alibraries\//] end + + def get_latest_version(options, &block) + fetch_doc('https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/', options) do |doc| + label = doc.at_css('.related > ul > li:last-child').content + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/haxe.rb b/lib/docs/scrapers/haxe.rb index 33f20b937f..5a685efc2d 100644 --- a/lib/docs/scrapers/haxe.rb +++ b/lib/docs/scrapers/haxe.rb @@ -66,5 +66,12 @@ class Haxe < UrlScraper version 'Python' do self.base_url = 'https://api.haxe.org/python/' end + + def get_latest_version(options, &block) + fetch_doc('https://api.haxe.org/', options) do |doc| + label = doc.at_css('.container.main-content h1 > small').content + block.call label.sub(/version /, '') + end + end end end diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb index fba79ec06a..fef1ed0576 100644 --- a/lib/docs/scrapers/homebrew.rb +++ b/lib/docs/scrapers/homebrew.rb @@ -19,5 +19,11 @@ class Homebrew < UrlScraper © 2009–present Homebrew contributors
    Licensed under the BSD 2-Clause License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('Homebrew', 'brew', options) do |release| + block.call release['name'] + end + end end end diff --git a/lib/docs/scrapers/immutable.rb b/lib/docs/scrapers/immutable.rb index fa7fb81bca..342ce1073f 100644 --- a/lib/docs/scrapers/immutable.rb +++ b/lib/docs/scrapers/immutable.rb @@ -54,5 +54,9 @@ class Immutable < UrlScraper JS capybara.html end + + def get_latest_version(options, &block) + get_npm_version('immutable', options, &block) + end end end diff --git a/lib/docs/scrapers/influxdata.rb b/lib/docs/scrapers/influxdata.rb index 6c83b66b17..4fc98c16be 100644 --- a/lib/docs/scrapers/influxdata.rb +++ b/lib/docs/scrapers/influxdata.rb @@ -46,5 +46,12 @@ class Influxdata < UrlScraper © 2015 InfluxData, Inc.
    Licensed under the MIT license. HTML + + def get_latest_version(options, &block) + fetch_doc('https://docs.influxdata.com/influxdb/', options) do |doc| + label = doc.at_css('.navbar--current-product').content.strip + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/jasmine.rb b/lib/docs/scrapers/jasmine.rb index 82f3c9cf38..5f38e3d50a 100644 --- a/lib/docs/scrapers/jasmine.rb +++ b/lib/docs/scrapers/jasmine.rb @@ -17,5 +17,11 @@ class Jasmine < UrlScraper © 2008–2017 Pivotal Labs
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('jasmine', 'jasmine', options) do |release| + block.call release['name'] + end + end end end diff --git a/lib/docs/scrapers/jekyll.rb b/lib/docs/scrapers/jekyll.rb index 1faaa9dec7..a6af352f9c 100644 --- a/lib/docs/scrapers/jekyll.rb +++ b/lib/docs/scrapers/jekyll.rb @@ -28,5 +28,11 @@ class Jekyll < UrlScraper © 2008–2018 Tom Preston-Werner and Jekyll contributors
    Licensed under the MIT license. HTML + + def get_latest_version(options, &block) + fetch_doc('https://jekyllrb.com/docs/', options) do |doc| + block.call doc.at_css('.meta a').content[1..-1] + end + end end end diff --git a/lib/docs/scrapers/jest.rb b/lib/docs/scrapers/jest.rb index f4ce944f2e..71efcf5422 100644 --- a/lib/docs/scrapers/jest.rb +++ b/lib/docs/scrapers/jest.rb @@ -17,5 +17,11 @@ class Jest < UrlScraper © 2014–present Facebook Inc.
    Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://jestjs.io/docs/en/getting-started', options) do |doc| + block.call doc.at_css('header > a > h3').content + end + end end end diff --git a/lib/docs/scrapers/jquery/jquery_core.rb b/lib/docs/scrapers/jquery/jquery_core.rb index 20aca0dc3d..dad609e706 100644 --- a/lib/docs/scrapers/jquery/jquery_core.rb +++ b/lib/docs/scrapers/jquery/jquery_core.rb @@ -22,5 +22,9 @@ class JqueryCore < Jquery /Selectors\/odd/i, /index/i ] + + def get_latest_version(options, &block) + get_npm_version('jquery', options, &block) + end end end diff --git a/lib/docs/scrapers/jquery/jquery_mobile.rb b/lib/docs/scrapers/jquery/jquery_mobile.rb index 8e5abf1c42..53b2c6243c 100644 --- a/lib/docs/scrapers/jquery/jquery_mobile.rb +++ b/lib/docs/scrapers/jquery/jquery_mobile.rb @@ -16,5 +16,12 @@ class JqueryMobile < Jquery options[:fix_urls] = ->(url) do url.sub! 'http://api.jquerymobile.com/', 'https://api.jquerymobile.com/' end + + def get_latest_version(options, &block) + fetch_doc('https://jquerymobile.com/', options) do |doc| + label = doc.at_css('.download-box > .download-option:last-child > span').content + block.call label.sub(/Version /, '') + end + end end end diff --git a/lib/docs/scrapers/jquery/jquery_ui.rb b/lib/docs/scrapers/jquery/jquery_ui.rb index 0c90fc1afb..05c276e180 100644 --- a/lib/docs/scrapers/jquery/jquery_ui.rb +++ b/lib/docs/scrapers/jquery/jquery_ui.rb @@ -15,5 +15,9 @@ class JqueryUi < Jquery options[:fix_urls] = ->(url) do url.sub! 'http://api.jqueryui.com/', 'https://api.jqueryui.com/' end + + def get_latest_version(options, &block) + get_npm_version('jquery-ui', options, &block) + end end end diff --git a/lib/docs/scrapers/jsdoc.rb b/lib/docs/scrapers/jsdoc.rb index bb3781caa5..39feca71a4 100644 --- a/lib/docs/scrapers/jsdoc.rb +++ b/lib/docs/scrapers/jsdoc.rb @@ -21,5 +21,11 @@ class Jsdoc < UrlScraper © 2011–2017 the contributors to the JSDoc 3 documentation project
    Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. HTML + + def get_latest_version(options, &block) + get_latest_github_release('jsdoc3', 'jsdoc', options) do |release| + block.call release['tag_name'] + end + end end end diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb index 5bc16b77fb..0875835a3f 100644 --- a/lib/docs/scrapers/julia.rb +++ b/lib/docs/scrapers/julia.rb @@ -49,5 +49,11 @@ class Julia < UrlScraper html_filters.push 'julia/entries_sphinx', 'julia/clean_html_sphinx', 'sphinx/clean_html' end + + def get_latest_version(options, &block) + get_latest_github_release('JuliaLang', 'julia', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/knockout.rb b/lib/docs/scrapers/knockout.rb index 663f784716..60af1540ee 100644 --- a/lib/docs/scrapers/knockout.rb +++ b/lib/docs/scrapers/knockout.rb @@ -33,5 +33,11 @@ class Knockout < UrlScraper © Steven Sanderson, the Knockout.js team, and other contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('knockout', 'knockout', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/koa.rb b/lib/docs/scrapers/koa.rb index 3ce79cac5c..4d90e30f0b 100644 --- a/lib/docs/scrapers/koa.rb +++ b/lib/docs/scrapers/koa.rb @@ -34,5 +34,9 @@ class Koa < Github © 2018 Koa contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('koa', options, &block) + end end end diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb index 415393d136..7539212d9f 100644 --- a/lib/docs/scrapers/kotlin.rb +++ b/lib/docs/scrapers/kotlin.rb @@ -28,5 +28,11 @@ class Kotlin < UrlScraper © 2010–2018 JetBrains s.r.o.
    Licensed under the Apache License, Version 2.0. HTML + + def get_latest_version(options, &block) + get_latest_github_release('JetBrains', 'kotlin', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/laravel.rb b/lib/docs/scrapers/laravel.rb index 5c88ae0fbf..cdf32732dc 100644 --- a/lib/docs/scrapers/laravel.rb +++ b/lib/docs/scrapers/laravel.rb @@ -133,5 +133,11 @@ class Laravel < UrlScraper url end end + + def get_latest_version(options, &block) + get_latest_github_release('laravel', 'laravel', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/leaflet.rb b/lib/docs/scrapers/leaflet.rb index c8e2071cc9..24bc61425f 100644 --- a/lib/docs/scrapers/leaflet.rb +++ b/lib/docs/scrapers/leaflet.rb @@ -39,5 +39,11 @@ class Leaflet < UrlScraper self.base_url = "https://leafletjs.com/reference-#{release}.html" end + def get_latest_version(options, &block) + fetch_doc('https://leafletjs.com/index.html', options) do |doc| + link = doc.css('ul > li > a').to_a.select {|node| node.content == 'Docs'}.first + block.call link['href'].scan(/reference-([0-9.]+)\.html/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/less.rb b/lib/docs/scrapers/less.rb index a0947e1a1f..00c884eb14 100644 --- a/lib/docs/scrapers/less.rb +++ b/lib/docs/scrapers/less.rb @@ -21,5 +21,12 @@ class Less < UrlScraper © 2009–2016 The Core Less Team
    Licensed under the Creative Commons Attribution License 3.0. HTML + + def get_latest_version(options, &block) + fetch_doc('http://lesscss.org/features/', options) do |doc| + label = doc.at_css('.footer-links > li').content + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/liquid.rb b/lib/docs/scrapers/liquid.rb index 9ebc404160..4630b2d1c1 100644 --- a/lib/docs/scrapers/liquid.rb +++ b/lib/docs/scrapers/liquid.rb @@ -19,5 +19,11 @@ class Liquid < UrlScraper © 2005, 2006 Tobias Luetke
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_github_tags('Shopify', 'liquid', options) do |tags| + block.call tags[0]['name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/lodash.rb b/lib/docs/scrapers/lodash.rb index 0461f7b7a9..5488b9abea 100644 --- a/lib/docs/scrapers/lodash.rb +++ b/lib/docs/scrapers/lodash.rb @@ -32,5 +32,11 @@ class Lodash < UrlScraper self.release = '2.4.2' self.base_url = "https://lodash.com/docs/#{release}" end + + def get_latest_version(options, &block) + fetch_doc('https://lodash.com/docs/', options) do |doc| + block.call doc.at_css('#version > option[selected]').content + end + end end end diff --git a/lib/docs/scrapers/love.rb b/lib/docs/scrapers/love.rb index 7f23bded7e..019edbab31 100644 --- a/lib/docs/scrapers/love.rb +++ b/lib/docs/scrapers/love.rb @@ -39,5 +39,11 @@ class Love < UrlScraper © 2006–2016 LÖVE Development Team
    Licensed under the GNU Free Documentation License, Version 1.3. HTML + + def get_latest_version(options, &block) + fetch_doc('https://love2d.org/wiki/Version_History', options) do |doc| + block.call doc.at_css('#mw-content-text table a').content + end + end end end diff --git a/lib/docs/scrapers/lua.rb b/lib/docs/scrapers/lua.rb index 40a5c0078d..30af5523e8 100644 --- a/lib/docs/scrapers/lua.rb +++ b/lib/docs/scrapers/lua.rb @@ -26,5 +26,11 @@ class Lua < UrlScraper self.release = '5.1.5' self.base_url = 'https://www.lua.org/manual/5.1/' end + + def get_latest_version(options, &block) + fetch_doc('https://www.lua.org/manual/', options) do |doc| + block.call doc.at_css('p.menubar > a').content + end + end end end diff --git a/lib/docs/scrapers/marionette.rb b/lib/docs/scrapers/marionette.rb index fea6617faf..12de6d0c12 100644 --- a/lib/docs/scrapers/marionette.rb +++ b/lib/docs/scrapers/marionette.rb @@ -38,5 +38,9 @@ class Marionette < UrlScraper html_filters.push 'marionette/entries_v2' end + + def get_latest_version(options, &block) + get_npm_version('backbone.marionette', options, &block) + end end end diff --git a/lib/docs/scrapers/matplotlib.rb b/lib/docs/scrapers/matplotlib.rb index ddd1f9dea0..948955a6ae 100644 --- a/lib/docs/scrapers/matplotlib.rb +++ b/lib/docs/scrapers/matplotlib.rb @@ -64,5 +64,11 @@ class Matplotlib < UrlScraper "https://matplotlib.org/#{release}/mpl_toolkits/axes_grid/api/" ] end + + def get_latest_version(options, &block) + get_latest_github_release('matplotlib', 'matplotlib', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/meteor.rb b/lib/docs/scrapers/meteor.rb index b38d5dc27f..02b81bc328 100644 --- a/lib/docs/scrapers/meteor.rb +++ b/lib/docs/scrapers/meteor.rb @@ -45,5 +45,11 @@ class Meteor < UrlScraper self.base_urls = ['https://guide.meteor.com/v1.3/', "https://docs.meteor.com/v#{self.release}/"] options[:fix_urls] = nil end + + def get_latest_version(options, &block) + fetch_doc('https://docs.meteor.com/#/full/', options) do |doc| + block.call doc.at_css('select.version-select > option').content + end + end end end diff --git a/lib/docs/scrapers/mocha.rb b/lib/docs/scrapers/mocha.rb index 8ab9bdc89b..6654d7540a 100644 --- a/lib/docs/scrapers/mocha.rb +++ b/lib/docs/scrapers/mocha.rb @@ -18,5 +18,9 @@ class Mocha < UrlScraper © 2011–2018 JS Foundation and contributors
    Licensed under the Creative Commons Attribution 4.0 International License. HTML + + def get_latest_version(options, &block) + get_npm_version('mocha', options, &block) + end end end diff --git a/lib/docs/scrapers/modernizr.rb b/lib/docs/scrapers/modernizr.rb index 96c8215332..93a738bbb6 100644 --- a/lib/docs/scrapers/modernizr.rb +++ b/lib/docs/scrapers/modernizr.rb @@ -15,5 +15,9 @@ class Modernizr < UrlScraper © 2009–2017 The Modernizr team
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('modernizr', options, &block) + end end end diff --git a/lib/docs/scrapers/moment.rb b/lib/docs/scrapers/moment.rb index 88df0d14bd..9dd2710796 100644 --- a/lib/docs/scrapers/moment.rb +++ b/lib/docs/scrapers/moment.rb @@ -22,5 +22,11 @@ class Moment < UrlScraper © JS Foundation and other contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('http://momentjs.com/', options) do |doc| + block.call doc.at_css('.hero-title > h1 > span').content + end + end end end diff --git a/lib/docs/scrapers/mongoose.rb b/lib/docs/scrapers/mongoose.rb index 71ee04d2ae..2d22199001 100644 --- a/lib/docs/scrapers/mongoose.rb +++ b/lib/docs/scrapers/mongoose.rb @@ -26,5 +26,12 @@ class Mongoose < UrlScraper © 2010 LearnBoost
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://mongoosejs.com/docs/', options) do |doc| + label = doc.at_css('.pure-menu-link').content.strip + block.call label.sub(/Version /, '') + end + end end end diff --git a/lib/docs/scrapers/rdoc/minitest.rb b/lib/docs/scrapers/rdoc/minitest.rb index 761da1de6c..f676010db4 100644 --- a/lib/docs/scrapers/rdoc/minitest.rb +++ b/lib/docs/scrapers/rdoc/minitest.rb @@ -21,5 +21,11 @@ class Minitest < Rdoc © Ryan Davis, seattle.rb
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_github_file_contents('seattlerb', 'minitest', 'History.rdoc', options) do |contents| + block.call contents.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/rdoc/rails.rb b/lib/docs/scrapers/rdoc/rails.rb index 6bdce34ae5..9cb2ab9bee 100644 --- a/lib/docs/scrapers/rdoc/rails.rb +++ b/lib/docs/scrapers/rdoc/rails.rb @@ -93,5 +93,11 @@ class Rails < Rdoc version '4.1' do self.release = '4.1.16' end + + def get_latest_version(options, &block) + get_latest_github_release('rails', 'rails', options) do |release| + block.call release['name'] + end + end end end diff --git a/lib/docs/scrapers/rdoc/ruby.rb b/lib/docs/scrapers/rdoc/ruby.rb index dd29676536..292540db54 100644 --- a/lib/docs/scrapers/rdoc/ruby.rb +++ b/lib/docs/scrapers/rdoc/ruby.rb @@ -84,5 +84,17 @@ class Ruby < Rdoc version '2.2' do self.release = '2.2.10' end + + def get_latest_version(options, &block) + get_github_tags('ruby', 'ruby', options) do |tags| + tags.each do |tag| + version = tag['name'].gsub(/_/, '.')[1..-1] + if !/^([0-9.]+)$/.match(version).nil? && version.count('.') == 2 + block.call version + break + end + end + end + end end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index eb3467f295..f370544cc2 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -1,4 +1,12 @@ class UpdatesCLI < Thor + # The GitHub user that is allowed to upload reports + # TODO: Update this before creating a PR + UPLOAD_USER = 'jmerle' + + # The repository to create an issue in when uploading the results + # TODO: Update this before creating a PR + UPLOAD_REPO = 'jmerle/devdocs' + def self.to_s 'Updates' end @@ -6,10 +14,14 @@ class UpdatesCLI < Thor def initialize(*args) require 'docs' require 'progress_bar' + require 'terminal-table' + require 'date' super end - desc 'check [--verbose] [doc]...', 'Check for outdated documentations' + desc 'check [--github-token] [--upload] [--verbose] [doc]...', 'Check for outdated documentations' + option :github_token, :type => :string + option :upload, :type => :boolean option :verbose, :type => :boolean def check(*names) # Convert names to a list of Scraper instances @@ -19,23 +31,26 @@ class UpdatesCLI < Thor # Check all documentations for updates when no arguments are given docs = Docs.all if docs.empty? - progress_bar = ::ProgressBar.new docs.length - progress_bar.write + opts = { + logger: logger + } - results = docs.map do |doc| - result = check_doc(doc) - progress_bar.increment! - result + if options.key?(:github_token) + opts[:github_token] = options[:github_token] end - valid_results = results.select {|result| result.is_a?(Hash)} + with_progress_bar do |bar| + bar.max = docs.length + bar.write + end - up_to_date_results = valid_results.select {|result| !result[:is_outdated]} - outdated_results = valid_results.select {|result| result[:is_outdated]} + results = docs.map do |doc| + result = check_doc(doc, opts) + with_progress_bar(&:increment!) + result + end - log_results('Up-to-date', up_to_date_results) if options[:verbose] and !up_to_date_results.empty? - logger.info("") if options[:verbose] and !up_to_date_results.empty? and !outdated_results.empty? - log_results('Outdated', outdated_results) unless outdated_results.empty? + process_results(results) rescue Docs::DocNotFound => error logger.error(error) logger.info('Run "thor docs:list" to see the list of docs.') @@ -43,53 +58,260 @@ class UpdatesCLI < Thor private - def check_doc(doc) + def check_doc(doc, options) # Newer scraper versions always come before older scraper versions - # Therefore, the first item's release value is the latest current scraper version + # Therefore, the first item's release value is the latest scraper version # # For example, a scraper could scrape 3 versions: 10, 11 and 12 # doc.versions.first would be the scraper for version 12 instance = doc.versions.first.new - return nil unless instance.class.method_defined?(:options) - - current_version = instance.options[:release] - return nil if current_version.nil? + scraper_version = instance.class.method_defined?(:options) ? instance.options[:release] : nil + return error_result(doc, '`options[:release]` does not exist') if scraper_version.nil? logger.debug("Checking #{doc.name}") - instance.get_latest_version do |latest_version| + instance.get_latest_version(options) do |latest_version| return { name: doc.name, - current_version: current_version, + scraper_version: scraper_version, latest_version: latest_version, - is_outdated: instance.is_outdated(current_version, latest_version) + is_outdated: instance.is_outdated(scraper_version, latest_version) } end - - return nil rescue NotImplementedError logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented") + error_result(doc, '`get_latest_version` is not implemented') rescue logger.error("Error while checking #{doc.name}") raise end - def log_results(label, results) - logger.info("#{label} documentations (#{results.length}):") + def error_result(doc, reason) + { + name: doc.name, + error: reason + } + end + + def process_results(results) + successful_results = results.select {|result| result.key?(:is_outdated)} + failed_results = results.select {|result| result.key?(:error)} + + up_to_date_results = successful_results.select {|result| !result[:is_outdated]} + outdated_results = successful_results.select {|result| result[:is_outdated]} + + log_results(outdated_results, up_to_date_results, failed_results) + upload_results(outdated_results, up_to_date_results, failed_results) if options[:upload] + end + + # + # Result logging methods + # + + def log_results(outdated_results, up_to_date_results, failed_results) + log_failed_results(failed_results) unless failed_results.empty? + log_successful_results('Up-to-date', up_to_date_results) unless up_to_date_results.empty? + log_successful_results('Outdated', outdated_results) unless outdated_results.empty? + end + + def log_successful_results(label, results) + title = "#{label} documentations (#{results.length})" + headings = ['Documentation', 'Scraper version', 'Latest version'] + rows = results.map {|result| [result[:name], result[:scraper_version], result[:latest_version]]} + + table = Terminal::Table.new :title => title, :headings => headings, :rows => rows + puts table + end + + def log_failed_results(results) + title = "Documentations that could not be checked (#{results.length})" + headings = %w(Documentation Reason) + rows = results.map {|result| [result[:name], result[:error]]} + + table = Terminal::Table.new :title => title, :headings => headings, :rows => rows + puts table + end + + # + # Upload methods + # + + def upload_results(outdated_results, up_to_date_results, failed_results) + # We can't create issues without a GitHub token + unless options.key?(:github_token) + logger.error('Please specify a GitHub token with the public_repo permission for devdocs-bot with the --github-token parameter') + return + end + + logger.info('Uploading the results to a new GitHub issue') + + logger.info('Checking if the GitHub token belongs to the correct user') + github_get('/user') do |user| + # Only allow the DevDocs bot to upload reports + if user['login'] == UPLOAD_USER + issue = results_to_issue(outdated_results, up_to_date_results, failed_results) + + logger.info('Creating a new GitHub issue') + github_post("/repos/#{UPLOAD_REPO}/issues", issue) do |created_issue| + search_params = { + q: "Documentation versions report in:title author:#{UPLOAD_USER} is:issue repo:#{UPLOAD_REPO}", + sort: 'created', + order: 'desc' + } + + logger.info('Checking if the previous issue is still open') + github_get('/search/issues', search_params) do |matching_issues| + previous_issue = matching_issues['items'].find {|item| item['number'] != created_issue['number']} + + if previous_issue.nil? + logger.info('No previous issue found') + log_upload_success(created_issue) + else + comment = "This report was superseded by ##{created_issue['number']}." + + logger.info('Commenting on the previous issue') + github_post("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}/comments", {body: comment}) do |_| + if previous_issue['closed_at'].nil? + logger.info('Closing the previous issue') + github_patch("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}", {state: 'closed'}) do |_| + log_upload_success(created_issue) + end + else + logger.info('The previous issue has already been closed') + log_upload_success(created_issue) + end + end + end + end + end + else + logger.error("Only #{UPLOAD_USER} is supposed to upload the results to a new issue. The specified github token is not for #{UPLOAD_USER}.") + end + end + end + + def results_to_issue(outdated_results, up_to_date_results, failed_results) + results = [ + successful_results_to_markdown('Outdated', outdated_results), + successful_results_to_markdown('Up-to-date', up_to_date_results), + failed_results_to_markdown(failed_results) + ] + + results_str = results.select {|result| !result.nil?}.join("\n\n") + + title = "Documentation versions report for #{Date.today.strftime('%B')} 2019" + body = <<-MARKDOWN +## What is this? + +This is an automatically created issue which contains information about the version status of the documentations available on DevDocs. The results of this report can be used by maintainers when updating outdated documentations. + +Maintainers can close this issue when all documentations are up-to-date. This issue is automatically closed when the next report is created. + +## Results + +The #{outdated_results.length + up_to_date_results.length + failed_results.length} documentations are divided as follows: +- #{outdated_results.length} that #{outdated_results.length == 1 ? 'is' : 'are'} outdated +- #{up_to_date_results.length} that #{up_to_date_results.length == 1 ? 'is' : 'are'} up-to-date (patch updates are ignored) +- #{failed_results.length} that could not be checked + MARKDOWN + + { + title: title, + body: body.strip + "\n\n" + results_str + } + end + + def successful_results_to_markdown(label, results) + return nil if results.empty? + + title = "#{label} documentations (#{results.length})" + headings = ['Documentation', 'Scraper version', 'Latest version'] + rows = results.map {|result| [result[:name], result[:scraper_version], result[:latest_version]]} + + results_to_markdown(title, headings, rows) + end + + def failed_results_to_markdown(results) + return nil if results.empty? + + title = "Documentations that could not be checked (#{results.length})" + headings = %w(Documentation Reason) + rows = results.map {|result| [result[:name], result[:error]]} + + results_to_markdown(title, headings, rows) + end + + def results_to_markdown(title, headings, rows) + "
    \n#{title}\n\n#{create_markdown_table(headings, rows)}\n
    " + end + + def create_markdown_table(headings, rows) + header = headings.join(' | ') + separator = '-|' * headings.length + body = rows.map {|row| row.join(' | ')} + + header + "\n" + separator[0...-1] + "\n" + body.join("\n") + end + + def log_upload_success(created_issue) + logger.info("Successfully uploaded the results to #{created_issue['html_url']}") + end + + # + # HTTP utilities + # + + def github_get(endpoint, params = {}, &block) + github_request(endpoint, {method: :get, params: params}, &block) + end + + def github_post(endpoint, params, &block) + github_request(endpoint, {method: :post, body: params.to_json}, &block) + end + + def github_patch(endpoint, params, &block) + github_request(endpoint, {method: :patch, body: params.to_json}, &block) + end - results.each do |result| - logger.info("#{result[:name]}: #{result[:current_version]} -> #{result[:latest_version]}") + def github_request(endpoint, opts, &block) + url = "https://api.github.com#{endpoint}" + + # GitHub token authentication + opts[:headers] = { + Authorization: "token #{options[:github_token]}" + } + + # GitHub requires the Content-Type to be application/json when a body is passed + if opts.key?(:body) + opts[:headers]['Content-Type'] = 'application/json' end + + logger.debug("Making a #{opts[:method]} request to #{url}") + + Docs::Request.run(url, opts) do |response| + # response.success? is false if the response code is 201 + # GitHub returns 201 Created after an issue is created + if response.success? || response.code == 201 + block.call JSON.parse(response.body) + else + logger.error("Couldn't make a #{opts[:method]} request to #{url} (response code #{response.code})") + block.call nil + end + end + end + + # A utility method which ensures no progress bar is shown when stdout is not a tty + def with_progress_bar(&block) + return unless $stdout.tty? + @progress_bar ||= ::ProgressBar.new + block.call @progress_bar end def logger @logger ||= Logger.new($stdout).tap do |logger| logger.level = options[:verbose] ? Logger::DEBUG : Logger::INFO - logger.formatter = proc do |severity, datetime, progname, msg| - prefix = severity != "INFO" ? "[#{severity}] " : "" - "#{prefix}#{msg}\n" - end + logger.formatter = proc {|severity, datetime, progname, msg| "[#{severity}] #{msg}\n"} end end end From b8a7965bfebea5c432832d8f7f3a5ee6a9cea39b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 9 Mar 2019 02:50:06 +0100 Subject: [PATCH 0075/2822] Automatically check and upload on Travis CI cron job --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index d5e5a6aa34..e8d3d588ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,3 +5,7 @@ cache: bundler before_script: - gem update --system - gem install bundler + +script: + - if [ "$TRAVIS_EVENT_TYPE" != "cron" ]; then bundle exec rake; fi + - if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then bundle exec thor updates:check --github-token $GH_TOKEN --upload; fi From de6e42fa09239ff3c90998c807b619987ed4407e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 9 Mar 2019 03:13:47 +0100 Subject: [PATCH 0076/2822] Update documentation --- docs/Scraper-Reference.md | 39 +++++++++++++++++++++++++++++++++++++++ docs/adding-docs.md | 1 + 2 files changed, 40 insertions(+) diff --git a/docs/Scraper-Reference.md b/docs/Scraper-Reference.md index d9fe8b4a6d..60d377d822 100644 --- a/docs/Scraper-Reference.md +++ b/docs/Scraper-Reference.md @@ -184,3 +184,42 @@ More information about how filters work is available on the [Filter Reference](. Overrides the `:title` option for the root page only. _Note: this filter is disabled by default._ + +## Keeping scrapers up-to-date + +In order to keep scrapers up-to-date the `get_latest_version(options, &block)` method should be overridden by all scrapers that define the `self.release` attribute. This method should return the latest version of the documentation that is being scraped. The result of this method is periodically reported in a "Documentation versions report" issue which helps maintainers keep track of outdated documentations. + +To make life easier, there are a few utility methods that you can use in `get_latest_version`: +* `fetch(url, options, &block)` + + Makes a GET request to the url and calls `&block` with the body. + + Example: [lib/docs/scrapers/bash.rb](../lib/docs/scrapers/bash.rb) +* `fetch_doc(url, options, &block)` + + Makes a GET request to the url and calls `&block` with the HTML body converted to a Nokogiri document. + + Example: [lib/docs/scrapers/git.rb](../lib/docs/scrapers/git.rb) +* `fetch_json(url, options, &block)` + + Makes a GET request to the url and calls `&block` with the JSON body converted to a dictionary. +* `get_npm_version(package, options, &block)` + + Calls `&block` with the latest version of the given npm package. + + Example: [lib/docs/scrapers/bower.rb](../lib/docs/scrapers/bower.rb) +* `get_latest_github_release(owner, repo, options, &block)` + + Calls `&block` with the latest GitHub release of the given repository ([format](https://developer.github.com/v3/repos/releases/#get-the-latest-release)). + + Example: [lib/docs/scrapers/jsdoc.rb](../lib/docs/scrapers/jsdoc.rb) +* `get_github_tags(owner, repo, options, &block)` + + Calls `&block` with the list of tags on the given repository ([format](https://developer.github.com/v3/repos/#list-tags)). + + Example: [lib/docs/scrapers/liquid.rb](../lib/docs/scrapers/liquid.rb) +* `get_github_file_contents(owner, repo, path, options, &block)` + + Calls `&block` with the contents of the requested file in the default branch of the given repository. + + Example: [lib/docs/scrapers/minitest.rb](../lib/docs/scrapers/minitest.rb) diff --git a/docs/adding-docs.md b/docs/adding-docs.md index 03c6b87a31..baafc59af3 100644 --- a/docs/adding-docs.md +++ b/docs/adding-docs.md @@ -16,6 +16,7 @@ Adding a documentation may look like a daunting task but once you get the hang o 9. To customize the pages' styling, create an SCSS file in the `assets/stylesheets/pages/` directory and import it in both `application.css.scss` AND `application-dark.css.scss`. Both the file and CSS class should be named `_[type]` where [type] is equal to the scraper's `type` attribute (documentations with the same type share the same custom CSS and JS). _(Note: feel free to submit a pull request without custom CSS/JS)_ 10. To add syntax highlighting or execute custom JavaScript on the pages, create a file in the `assets/javascripts/views/pages/` directory (take a look at the other files to see how it works). 11. Add the documentation's icon in the `public/icons/docs/[my_doc]/` directory, in both 16x16 and 32x32-pixels formats. It'll be added to the icon sprite after your pull request is merged. +12. Ensure `thor updates:check [my_doc]` shows the correct latest version. If the documentation includes more than a few hundreds pages and is available for download, try to scrape it locally (e.g. using `FileScraper`). It'll make the development process much faster and avoids putting too much load on the source site. (It's not a problem if your scraper is coupled to your local setup, just explain how it works in your pull request.) From 0315c88f81b82e648ecc5aab8d51015f836a8d47 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 9 Mar 2019 03:28:33 +0100 Subject: [PATCH 0077/2822] Fix Erlang get_latest_version implementation --- lib/docs/scrapers/erlang.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/erlang.rb b/lib/docs/scrapers/erlang.rb index 7dcb0fae7b..0211da5593 100644 --- a/lib/docs/scrapers/erlang.rb +++ b/lib/docs/scrapers/erlang.rb @@ -58,7 +58,7 @@ class Erlang < FileScraper def get_latest_version(options, &block) fetch_doc('https://www.erlang.org/downloads', options) do |doc| - block.call doc.at_css('.col-lg-3 > ul > li').content.strip + block.call doc.at_css('.col-lg-3 > ul > li').content.strip.sub(/OTP /, '') end end end From 6ee1693134bbef44912a3a53cf250c6f82e98fbc Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 9 Mar 2019 20:22:48 +0100 Subject: [PATCH 0078/2822] Implement get_latest_version for the remaining scrapers --- lib/docs/scrapers/nginx.rb | 7 +++++++ lib/docs/scrapers/nginx_lua_module.rb | 10 ++++++++++ lib/docs/scrapers/nim.rb | 6 ++++++ lib/docs/scrapers/node.rb | 6 ++++++ lib/docs/scrapers/nokogiri2.rb | 6 ++++++ lib/docs/scrapers/npm.rb | 6 ++++++ lib/docs/scrapers/numpy.rb | 6 ++++++ lib/docs/scrapers/openjdk.rb | 21 +++++++++++++++++++++ lib/docs/scrapers/opentsdb.rb | 6 ++++++ lib/docs/scrapers/padrino.rb | 6 ++++++ lib/docs/scrapers/pandas.rb | 7 +++++++ lib/docs/scrapers/perl.rb | 6 ++++++ lib/docs/scrapers/phalcon.rb | 6 ++++++ lib/docs/scrapers/phaser.rb | 6 ++++++ lib/docs/scrapers/phoenix.rb | 6 ++++++ lib/docs/scrapers/php.rb | 7 +++++++ lib/docs/scrapers/phpunit.rb | 7 +++++++ lib/docs/scrapers/postgresql.rb | 7 +++++++ lib/docs/scrapers/pug.rb | 4 ++++ lib/docs/scrapers/puppeteer.rb | 6 ++++++ lib/docs/scrapers/pygame.rb | 6 ++++++ lib/docs/scrapers/python.rb | 6 ++++++ lib/docs/scrapers/q.rb | 4 ++++ lib/docs/scrapers/qt.rb | 7 +++++++ lib/docs/scrapers/ramda.rb | 6 ++++++ lib/docs/scrapers/react.rb | 6 ++++++ lib/docs/scrapers/react_native.rb | 6 ++++++ lib/docs/scrapers/redis.rb | 7 +++++++ lib/docs/scrapers/redux.rb | 4 ++++ lib/docs/scrapers/relay.rb | 6 ++++++ lib/docs/scrapers/requirejs.rb | 4 ++++ lib/docs/scrapers/rethinkdb.rb | 6 ++++++ lib/docs/scrapers/rust.rb | 7 +++++++ lib/docs/scrapers/sass.rb | 6 ++++++ lib/docs/scrapers/scikit_image.rb | 6 ++++++ lib/docs/scrapers/scikit_learn.rb | 6 ++++++ lib/docs/scrapers/sinon.rb | 6 ++++++ lib/docs/scrapers/socketio.rb | 4 ++++ lib/docs/scrapers/sqlite.rb | 6 ++++++ lib/docs/scrapers/statsmodels.rb | 5 +++++ lib/docs/scrapers/symfony.rb | 6 ++++++ lib/docs/scrapers/tcl_tk.rb | 7 +++++++ lib/docs/scrapers/tensorflow.rb | 6 ++++++ lib/docs/scrapers/terraform.rb | 6 ++++++ lib/docs/scrapers/twig.rb | 6 ++++++ lib/docs/scrapers/typescript.rb | 6 ++++++ lib/docs/scrapers/underscore.rb | 6 ++++++ lib/docs/scrapers/vagrant.rb | 6 ++++++ lib/docs/scrapers/vue.rb | 6 ++++++ lib/docs/scrapers/vulkan.rb | 6 ++++++ lib/docs/scrapers/webpack.rb | 4 ++++ lib/docs/scrapers/yarn.rb | 6 ++++++ lib/docs/scrapers/yii.rb | 6 ++++++ lib/tasks/updates.thor | 4 ++-- 54 files changed, 335 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/nginx.rb b/lib/docs/scrapers/nginx.rb index 5a3dbf1e21..07a4565f50 100644 --- a/lib/docs/scrapers/nginx.rb +++ b/lib/docs/scrapers/nginx.rb @@ -25,5 +25,12 @@ class Nginx < UrlScraper © 2011-2018 Nginx, Inc.
    Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://nginx.org/en/download.html', options) do |doc| + table = doc.at_css('#content > table').inner_html + block.call table.scan(/nginx-([0-9.]+) Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + get_github_tags('openresty', 'lua-nginx-module', options) do |tags| + tag = tags.find { |tag| !tag['name'].include?('rc') } + block.call tag['name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/nim.rb b/lib/docs/scrapers/nim.rb index cce16f1c48..28d830492b 100644 --- a/lib/docs/scrapers/nim.rb +++ b/lib/docs/scrapers/nim.rb @@ -17,5 +17,11 @@ class Nim < UrlScraper © 2006–2018 Andreas Rumpf
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://nim-lang.org/docs/overview.html', options) do |doc| + block.call doc.at_css('.container > .docinfo > tbody > tr:last-child > td').content.strip + end + end end end diff --git a/lib/docs/scrapers/node.rb b/lib/docs/scrapers/node.rb index 66c6a45684..36c14e9eb8 100644 --- a/lib/docs/scrapers/node.rb +++ b/lib/docs/scrapers/node.rb @@ -46,5 +46,11 @@ class Node < UrlScraper self.release = '4.9.1' self.base_url = 'https://nodejs.org/dist/latest-v4.x/docs/api/' end + + def get_latest_version(options, &block) + fetch_doc('https://nodejs.org/en/', options) do |doc| + block.call doc.at_css('#home-intro > .home-downloadblock:last-of-type > a')['data-version'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/nokogiri2.rb b/lib/docs/scrapers/nokogiri2.rb index 084ad2fb2b..aca5d10c95 100644 --- a/lib/docs/scrapers/nokogiri2.rb +++ b/lib/docs/scrapers/nokogiri2.rb @@ -19,5 +19,11 @@ class Nokogiri2 < Rdoc Patrick Mahoney, Yoko Harada, Akinori Musha, John Shahid, Lars Kanis
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('sparklemotion', 'nokogiri', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb index 2c854e6e42..7ef727c007 100644 --- a/lib/docs/scrapers/npm.rb +++ b/lib/docs/scrapers/npm.rb @@ -29,5 +29,11 @@ class Npm < UrlScraper Licensed under the npm License.
    npm is a trademark of npm, Inc. HTML + + def get_latest_version(options, &block) + get_latest_github_release('npm', 'cli', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/numpy.rb b/lib/docs/scrapers/numpy.rb index 1327fc0267..1fcc05d6b2 100644 --- a/lib/docs/scrapers/numpy.rb +++ b/lib/docs/scrapers/numpy.rb @@ -49,5 +49,11 @@ class Numpy < FileScraper self.release = '1.10.4' self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/" end + + def get_latest_version(options, &block) + get_latest_github_release('numpy', 'numpy', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/openjdk.rb b/lib/docs/scrapers/openjdk.rb index 944ac41652..e833c7c474 100644 --- a/lib/docs/scrapers/openjdk.rb +++ b/lib/docs/scrapers/openjdk.rb @@ -86,5 +86,26 @@ class Openjdk < FileScraper def read_file(path) File.read(path).force_encoding('iso-8859-1').encode('utf-8') rescue nil end + + def get_latest_version(options, &block) + latest_version = 8 + current_attempt = latest_version + attempts = 0 + + while attempts < 3 + current_attempt += 1 + + fetch_doc("https://packages.debian.org/sid/openjdk-#{current_attempt}-doc", options) do |doc| + if doc.at_css('.perror').nil? + latest_version = current_attempt + attempts = 0 + else + attempts += 1 + end + end + end + + block.call latest_version.to_s + end end end diff --git a/lib/docs/scrapers/opentsdb.rb b/lib/docs/scrapers/opentsdb.rb index 0372e33142..54a7701722 100644 --- a/lib/docs/scrapers/opentsdb.rb +++ b/lib/docs/scrapers/opentsdb.rb @@ -18,5 +18,11 @@ class Opentsdb < UrlScraper © 2010–2016 The OpenTSDB Authors
    Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses. HTML + + def get_latest_version(options, &block) + get_latest_github_release('OpenTSDB', 'opentsdb', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/padrino.rb b/lib/docs/scrapers/padrino.rb index 218f173133..78588ef4be 100644 --- a/lib/docs/scrapers/padrino.rb +++ b/lib/docs/scrapers/padrino.rb @@ -23,5 +23,11 @@ class Padrino < UrlScraper stub 'index2' do request_one(url_for('index')).body end + + def get_latest_version(options, &block) + get_github_tags('padrino', 'padrino-framework', options) do |tags| + block.call tags[0]['name'] + end + end end end diff --git a/lib/docs/scrapers/pandas.rb b/lib/docs/scrapers/pandas.rb index 1355a0122c..f50c44270e 100644 --- a/lib/docs/scrapers/pandas.rb +++ b/lib/docs/scrapers/pandas.rb @@ -49,5 +49,12 @@ class Pandas < UrlScraper self.release = '0.18.1' self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" end + + def get_latest_version(options, &block) + fetch_doc('http://pandas.pydata.org/pandas-docs/stable/', options) do |doc| + label = doc.at_css('.body > .section > p').content + block.call label.scan(/Version: ([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/perl.rb b/lib/docs/scrapers/perl.rb index 142ceaa534..136a6d7536 100644 --- a/lib/docs/scrapers/perl.rb +++ b/lib/docs/scrapers/perl.rb @@ -43,5 +43,11 @@ class Perl < FileScraper self.release = '5.20.2' self.base_url = "https://perldoc.perl.org/#{self.release}/" end + + def get_latest_version(options, &block) + fetch('https://perldoc.perl.org/static/perlversion.js', options) do |body| + block.call body.scan(/>Perl ([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/phalcon.rb b/lib/docs/scrapers/phalcon.rb index c2cb92429a..82a9cf8501 100644 --- a/lib/docs/scrapers/phalcon.rb +++ b/lib/docs/scrapers/phalcon.rb @@ -29,5 +29,11 @@ class Phalcon < UrlScraper self.release = '2.0.13' self.base_url = 'https://docs.phalconphp.com/en/2.0.0/' end + + def get_latest_version(options, &block) + fetch_doc('https://docs.phalconphp.com/', options) do |doc| + block.call doc.at_css('.custom-select__version').content.strip.sub(/Version /, '') + end + end end end diff --git a/lib/docs/scrapers/phaser.rb b/lib/docs/scrapers/phaser.rb index 5ae371c179..ef265e2e57 100644 --- a/lib/docs/scrapers/phaser.rb +++ b/lib/docs/scrapers/phaser.rb @@ -25,5 +25,11 @@ class Phaser < UrlScraper © 2016 Richard Davey, Photon Storm Ltd.
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('photonstorm', 'phaser', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/phoenix.rb b/lib/docs/scrapers/phoenix.rb index 26b0144fa8..08948b3cbf 100644 --- a/lib/docs/scrapers/phoenix.rb +++ b/lib/docs/scrapers/phoenix.rb @@ -46,5 +46,11 @@ class Phoenix < UrlScraper HTML end } + + def get_latest_version(options, &block) + fetch_doc('https://hexdocs.pm/phoenix/Phoenix.html', options) do |doc| + block.call doc.at_css('.sidebar-projectVersion').content.strip[1..-1] + end + end end end diff --git a/lib/docs/scrapers/php.rb b/lib/docs/scrapers/php.rb index d4a66b5b3d..b6aac0395d 100644 --- a/lib/docs/scrapers/php.rb +++ b/lib/docs/scrapers/php.rb @@ -66,5 +66,12 @@ class Php < FileScraper © 1997–2018 The PHP Documentation Group
    Licensed under the Creative Commons Attribution License v3.0 or later. HTML + + def get_latest_version(options, &block) + fetch_doc('https://secure.php.net/manual/en/doc.changelog.php', options) do |doc| + label = doc.at_css('tbody.gen-changelog > tr > td').content + block.call label.split(',').last.strip + end + end end end diff --git a/lib/docs/scrapers/phpunit.rb b/lib/docs/scrapers/phpunit.rb index 665ca4c756..c5e8c396d3 100644 --- a/lib/docs/scrapers/phpunit.rb +++ b/lib/docs/scrapers/phpunit.rb @@ -37,5 +37,12 @@ class Phpunit < UrlScraper self.release = '4.8' self.base_url = "https://phpunit.de/manual/#{release}/en/" end + + def get_latest_version(options, &block) + fetch_doc('https://phpunit.readthedocs.io/', options) do |doc| + label = doc.at_css('.rst-current-version').content.strip + block.call label.scan(/v: ([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/postgresql.rb b/lib/docs/scrapers/postgresql.rb index 109685ba11..4946066b50 100644 --- a/lib/docs/scrapers/postgresql.rb +++ b/lib/docs/scrapers/postgresql.rb @@ -80,5 +80,12 @@ class Postgresql < UrlScraper html_filters.insert_before 'postgresql/extract_metadata', 'postgresql/normalize_class_names' end + + def get_latest_version(options, &block) + fetch_doc('https://www.postgresql.org/docs/current/index.html', options) do |doc| + label = doc.at_css('#pgContentWrap h1.title').content + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/pug.rb b/lib/docs/scrapers/pug.rb index 7694952936..9084feb157 100644 --- a/lib/docs/scrapers/pug.rb +++ b/lib/docs/scrapers/pug.rb @@ -18,6 +18,10 @@ class Pug < UrlScraper Licensed under the MIT license. HTML + def get_latest_version(options, &block) + get_npm_version('pug', options, &block) + end + private def parse(response) # Hook here because Nokogori removes whitespace from textareas diff --git a/lib/docs/scrapers/puppeteer.rb b/lib/docs/scrapers/puppeteer.rb index 2e26c180a1..a1506c7a7f 100644 --- a/lib/docs/scrapers/puppeteer.rb +++ b/lib/docs/scrapers/puppeteer.rb @@ -14,5 +14,11 @@ class Puppeteer < Github © 2017 Google Inc
    Licensed under the Apache License 2.0. HTML + + def get_latest_version(options, &block) + get_github_file_contents('GoogleChrome', 'puppeteer', 'README.md', options) do |contents| + block.call contents.scan(/\/v([0-9.]+)\/docs\/api\.md/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 892619e43e..538c07225e 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -17,5 +17,11 @@ class Pygame < UrlScraper © Pygame Developpers.
    Licensed under the GNU LGPL License version 2.1. HTML + + def get_latest_version(options, &block) + get_latest_github_release('pygame', 'pygame', options) do |release| + block.call release['tag_name'] + end + end end end diff --git a/lib/docs/scrapers/python.rb b/lib/docs/scrapers/python.rb index aa4336d9bc..16ecc3668e 100644 --- a/lib/docs/scrapers/python.rb +++ b/lib/docs/scrapers/python.rb @@ -50,5 +50,11 @@ class Python < FileScraper html_filters.push 'python/entries_v2', 'sphinx/clean_html', 'python/clean_html' end + + def get_latest_version(options, &block) + fetch_doc('https://docs.python.org/', options) do |doc| + block.call doc.at_css('.version_switcher_placeholder').content + end + end end end diff --git a/lib/docs/scrapers/q.rb b/lib/docs/scrapers/q.rb index bb66c156e7..0a16048856 100644 --- a/lib/docs/scrapers/q.rb +++ b/lib/docs/scrapers/q.rb @@ -19,5 +19,9 @@ class Q < Github © 2009–2017 Kristopher Michael Kowal
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('q', options, &block) + end end end diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb index 412eca6d69..41c835e96f 100644 --- a/lib/docs/scrapers/qt.rb +++ b/lib/docs/scrapers/qt.rb @@ -117,5 +117,12 @@ class Qt < UrlScraper self.release = '5.6' self.base_url = 'https://doc.qt.io/qt-5.6/' end + + def get_latest_version(options, &block) + fetch_doc('https://doc.qt.io/qt-5/index.html', options) do |doc| + label = doc.at_css('.mainContent h1.title').content + block.call label.sub(/Qt /, '') + end + end end end diff --git a/lib/docs/scrapers/ramda.rb b/lib/docs/scrapers/ramda.rb index 09ff46c87b..d3751e3814 100644 --- a/lib/docs/scrapers/ramda.rb +++ b/lib/docs/scrapers/ramda.rb @@ -15,6 +15,12 @@ class Ramda < UrlScraper © 2013–2016 Scott Sauyet and Michael Hurley
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://ramdajs.com/docs/', options) do |doc| + block.call doc.at_css('.navbar-brand > .version').content[1..-1] + end + end end end diff --git a/lib/docs/scrapers/react.rb b/lib/docs/scrapers/react.rb index 704f318986..5403824491 100644 --- a/lib/docs/scrapers/react.rb +++ b/lib/docs/scrapers/react.rb @@ -30,5 +30,11 @@ class React < UrlScraper © 2013–present Facebook Inc.
    Licensed under the Creative Commons Attribution 4.0 International Public License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://reactjs.org/docs/getting-started.html', options) do |doc| + block.call doc.at_css('a[href="/versions"]').content.strip[1..-1] + end + end end end diff --git a/lib/docs/scrapers/react_native.rb b/lib/docs/scrapers/react_native.rb index d1f9400172..ac5bd25058 100644 --- a/lib/docs/scrapers/react_native.rb +++ b/lib/docs/scrapers/react_native.rb @@ -30,5 +30,11 @@ class ReactNative < UrlScraper © 2015–2018 Facebook Inc.
    Licensed under the Creative Commons Attribution 4.0 International Public License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://facebook.github.io/react-native/docs/getting-started.html', options) do |doc| + block.call doc.at_css('header > a > h3').content + end + end end end diff --git a/lib/docs/scrapers/redis.rb b/lib/docs/scrapers/redis.rb index 201dbb4707..89a675985e 100644 --- a/lib/docs/scrapers/redis.rb +++ b/lib/docs/scrapers/redis.rb @@ -19,5 +19,12 @@ class Redis < UrlScraper © 2009–2018 Salvatore Sanfilippo
    Licensed under the Creative Commons Attribution-ShareAlike License 4.0. HTML + + def get_latest_version(options, &block) + fetch('http://download.redis.io/redis-stable/00-RELEASENOTES', options) do |body| + body = body.lines[1..-1].join + block.call body.scan(/Redis ([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/redux.rb b/lib/docs/scrapers/redux.rb index cd7369bacd..09738bb397 100644 --- a/lib/docs/scrapers/redux.rb +++ b/lib/docs/scrapers/redux.rb @@ -20,5 +20,9 @@ class Redux < UrlScraper stub '' do request_one('http://redux.js.org/index.html').body end + + def get_latest_version(options, &block) + get_npm_version('redux', options, &block) + end end end diff --git a/lib/docs/scrapers/relay.rb b/lib/docs/scrapers/relay.rb index a020e9d7eb..90423ac6e3 100644 --- a/lib/docs/scrapers/relay.rb +++ b/lib/docs/scrapers/relay.rb @@ -18,5 +18,11 @@ class Relay < UrlScraper © 2013–present Facebook Inc.
    Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + fetch_doc('http://facebook.github.io/relay/en/', options) do |doc| + block.call doc.at_css('header > a > h3').content[1..-1] + end + end end end diff --git a/lib/docs/scrapers/requirejs.rb b/lib/docs/scrapers/requirejs.rb index 200f1f2d39..cf417a3ef7 100644 --- a/lib/docs/scrapers/requirejs.rb +++ b/lib/docs/scrapers/requirejs.rb @@ -30,5 +30,9 @@ class Requirejs < UrlScraper © jQuery Foundation and other contributors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('requirejs', options, &block) + end end end diff --git a/lib/docs/scrapers/rethinkdb.rb b/lib/docs/scrapers/rethinkdb.rb index 023bbe77c0..27d913e08f 100644 --- a/lib/docs/scrapers/rethinkdb.rb +++ b/lib/docs/scrapers/rethinkdb.rb @@ -58,6 +58,12 @@ class Rethinkdb < UrlScraper CODE end + def get_latest_version(options, &block) + get_latest_github_release('rethinkdb', 'rethinkdb', options) do |release| + block.call release['tag_name'][1..-1] + end + end + private def process_response?(response) diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb index 1677e1385f..7c8d15196b 100644 --- a/lib/docs/scrapers/rust.rb +++ b/lib/docs/scrapers/rust.rb @@ -39,6 +39,13 @@ class Rust < UrlScraper Licensed under the Apache License, Version 2.0 or the MIT license, at your option. HTML + def get_latest_version(options, &block) + fetch_doc('https://www.rust-lang.org/', options) do |doc| + label = doc.at_css('.button-download + p > a').content + block.call label.sub(/Version /, '') + end + end + private REDIRECT_RGX = /http-equiv="refresh"/i diff --git a/lib/docs/scrapers/sass.rb b/lib/docs/scrapers/sass.rb index 244a88e751..f493289bf7 100644 --- a/lib/docs/scrapers/sass.rb +++ b/lib/docs/scrapers/sass.rb @@ -23,5 +23,11 @@ class Sass < UrlScraper © 2006–2016 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_github_file_contents('sass', 'sass', 'VERSION', options) do |contents| + block.call contents.strip + end + end end end diff --git a/lib/docs/scrapers/scikit_image.rb b/lib/docs/scrapers/scikit_image.rb index 2a60aaecb9..3c454bcb59 100644 --- a/lib/docs/scrapers/scikit_image.rb +++ b/lib/docs/scrapers/scikit_image.rb @@ -20,5 +20,11 @@ class ScikitImage < UrlScraper © 2011 the scikit-image team
    Licensed under the BSD 3-clause License. HTML + + def get_latest_version(options, &block) + get_github_tags('scikit-image', 'scikit-image', options) do |tags| + block.call tags[0]['name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/scikit_learn.rb b/lib/docs/scrapers/scikit_learn.rb index fe6a86654d..0d7fc90d0f 100644 --- a/lib/docs/scrapers/scikit_learn.rb +++ b/lib/docs/scrapers/scikit_learn.rb @@ -25,5 +25,11 @@ class ScikitLearn < UrlScraper Licensed under the 3-clause BSD License. HTML + def get_latest_version(options, &block) + fetch_doc('https://scikit-learn.org/stable/documentation.html', options) do |doc| + label = doc.at_css('.body h1').content + block.call label.scan(/([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/sinon.rb b/lib/docs/scrapers/sinon.rb index 9e81cba9f7..a1bd06cc9a 100644 --- a/lib/docs/scrapers/sinon.rb +++ b/lib/docs/scrapers/sinon.rb @@ -52,5 +52,11 @@ class Sinon < UrlScraper self.release = '1.17.7' self.base_url = "https://sinonjs.org/releases/v#{release}/" end + + def get_latest_version(options, &block) + fetch('https://sinonjs.org/', options) do |body| + block.call body.scan(/\/releases\/v([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/socketio.rb b/lib/docs/scrapers/socketio.rb index 427098c454..8518ff5397 100644 --- a/lib/docs/scrapers/socketio.rb +++ b/lib/docs/scrapers/socketio.rb @@ -20,5 +20,9 @@ class Socketio < UrlScraper © 2014–2015 Automattic
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + get_npm_version('socket.io', options, &block) + end end end diff --git a/lib/docs/scrapers/sqlite.rb b/lib/docs/scrapers/sqlite.rb index 790acf8377..27720111e4 100644 --- a/lib/docs/scrapers/sqlite.rb +++ b/lib/docs/scrapers/sqlite.rb @@ -41,6 +41,12 @@ class Sqlite < FileScraper options[:attribution] = 'SQLite is in the Public Domain.' + def get_latest_version(options, &block) + fetch_doc('https://sqlite.org/chronology.html', options) do |doc| + block.call doc.at_css('#chrontab > tbody > tr > td:last-child > a').content + end + end + private def parse(response) diff --git a/lib/docs/scrapers/statsmodels.rb b/lib/docs/scrapers/statsmodels.rb index 255bde6c34..0c9bfd06c9 100644 --- a/lib/docs/scrapers/statsmodels.rb +++ b/lib/docs/scrapers/statsmodels.rb @@ -21,5 +21,10 @@ class Statsmodels < UrlScraper Licensed under the 3-clause BSD License. HTML + def get_latest_version(options, &block) + fetch_doc('http://www.statsmodels.org/stable/', options) do |doc| + block.call doc.at_css('.sphinxsidebarwrapper h3 + p > b').content + end + end end end diff --git a/lib/docs/scrapers/symfony.rb b/lib/docs/scrapers/symfony.rb index f5e4285a00..acd105daec 100644 --- a/lib/docs/scrapers/symfony.rb +++ b/lib/docs/scrapers/symfony.rb @@ -70,5 +70,11 @@ class Symfony < UrlScraper self.release = '2.7.35' self.base_url = "https://api.symfony.com/#{version}/" end + + def get_latest_version(options, &block) + get_latest_github_release('symfony', 'symfony', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index 1e4b2567cf..3dcc5765a3 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -25,5 +25,12 @@ class TclTk < UrlScraper options[:attribution] = <<-HTML Licensed under Tcl/Tk terms HTML + + def get_latest_version(options, &block) + fetch_doc('https://www.tcl.tk/man/tcl/contents.htm', options) do |doc| + label = doc.at_css('h2').content + block.call label.scan(/Tk([0-9.]+)/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/tensorflow.rb b/lib/docs/scrapers/tensorflow.rb index 0296299fff..dfd898757c 100644 --- a/lib/docs/scrapers/tensorflow.rb +++ b/lib/docs/scrapers/tensorflow.rb @@ -56,6 +56,12 @@ class Tensorflow < UrlScraper /\Aextend/] end + def get_latest_version(options, &block) + get_latest_github_release('tensorflow', 'tensorflow', options) do |release| + block.call release['tag_name'][1..-1] + end + end + private def parse(response) diff --git a/lib/docs/scrapers/terraform.rb b/lib/docs/scrapers/terraform.rb index ab12775d49..73d47e86e0 100644 --- a/lib/docs/scrapers/terraform.rb +++ b/lib/docs/scrapers/terraform.rb @@ -18,5 +18,11 @@ class Terraform < UrlScraper © 2018 HashiCorp
    Licensed under the MPL 2.0 License. HTML + + def get_latest_version(options, &block) + get_github_file_contents('hashicorp', 'terraform-website', 'content/config.rb', options) do |contents| + block.call contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/twig.rb b/lib/docs/scrapers/twig.rb index 4781dcb288..58c7e2ef5f 100755 --- a/lib/docs/scrapers/twig.rb +++ b/lib/docs/scrapers/twig.rb @@ -28,5 +28,11 @@ class Twig < UrlScraper self.release = '1.34.3' self.base_url = 'https://twig.symfony.com/doc/1.x/' end + + def get_latest_version(options, &block) + get_github_tags('twigphp', 'Twig', options) do |tags| + block.call tags[0]['name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/typescript.rb b/lib/docs/scrapers/typescript.rb index 1117314a75..9e62d6a981 100644 --- a/lib/docs/scrapers/typescript.rb +++ b/lib/docs/scrapers/typescript.rb @@ -24,6 +24,12 @@ class Typescript < UrlScraper © Microsoft and other contributors
    Licensed under the Apache License, Version 2.0. HTML + + def get_latest_version(options, &block) + get_latest_github_release('Microsoft', 'TypeScript', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/underscore.rb b/lib/docs/scrapers/underscore.rb index 004a09e9b7..127dd5d31b 100644 --- a/lib/docs/scrapers/underscore.rb +++ b/lib/docs/scrapers/underscore.rb @@ -20,5 +20,11 @@ class Underscore < UrlScraper © 2009–2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
    Licensed under the MIT License. HTML + + def get_latest_version(options, &block) + fetch_doc('https://underscorejs.org/', options) do |doc| + block.call doc.at_css('.version').content[1...-1] + end + end end end diff --git a/lib/docs/scrapers/vagrant.rb b/lib/docs/scrapers/vagrant.rb index 955746aa03..0e89dad108 100644 --- a/lib/docs/scrapers/vagrant.rb +++ b/lib/docs/scrapers/vagrant.rb @@ -18,5 +18,11 @@ class Vagrant < UrlScraper © 2010–2018 Mitchell Hashimoto
    Licensed under the MPL 2.0 License. HTML + + def get_latest_version(options, &block) + get_github_file_contents('hashicorp', 'vagrant', 'website/config.rb', options) do |contents| + block.call contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] + end + end end end diff --git a/lib/docs/scrapers/vue.rb b/lib/docs/scrapers/vue.rb index f92991f294..cbb6b15e3b 100644 --- a/lib/docs/scrapers/vue.rb +++ b/lib/docs/scrapers/vue.rb @@ -32,5 +32,11 @@ class Vue < UrlScraper self.root_path = '/guide/index.html' self.initial_paths = %w(/api/index.html) end + + def get_latest_version(options, &block) + get_latest_github_release('vuejs', 'vue', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/vulkan.rb b/lib/docs/scrapers/vulkan.rb index e1fa4b4b6d..111e405f70 100644 --- a/lib/docs/scrapers/vulkan.rb +++ b/lib/docs/scrapers/vulkan.rb @@ -20,5 +20,11 @@ class Vulkan < UrlScraper Licensed under the Creative Commons Attribution 4.0 International License.
    Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc. HTML + + def get_latest_version(options, &block) + get_github_tags('KhronosGroup', 'Vulkan-Docs', options) do |tags| + block.call tags[0]['name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/webpack.rb b/lib/docs/scrapers/webpack.rb index 255c1bb4b2..9d7303edcf 100644 --- a/lib/docs/scrapers/webpack.rb +++ b/lib/docs/scrapers/webpack.rb @@ -68,5 +68,9 @@ class Webpack < UrlScraper Licensed under the MIT License. HTML end + + def get_latest_version(options, &block) + get_npm_version('webpack', options, &block) + end end end diff --git a/lib/docs/scrapers/yarn.rb b/lib/docs/scrapers/yarn.rb index 825a749fc2..26f7c0ccc8 100644 --- a/lib/docs/scrapers/yarn.rb +++ b/lib/docs/scrapers/yarn.rb @@ -20,5 +20,11 @@ class Yarn < UrlScraper © 2016–present Yarn Contributors
    Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + get_latest_github_release('yarnpkg', 'yarn', options) do |release| + block.call release['tag_name'][1..-1] + end + end end end diff --git a/lib/docs/scrapers/yii.rb b/lib/docs/scrapers/yii.rb index d99d3ac7bd..0d087abb8f 100755 --- a/lib/docs/scrapers/yii.rb +++ b/lib/docs/scrapers/yii.rb @@ -34,5 +34,11 @@ class Yii < UrlScraper options[:container] = '.grid_9' end + + def get_latest_version(options, &block) + get_latest_github_release('yiisoft', 'yii2', options) do |release| + block.call release['tag_name'] + end + end end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index f370544cc2..6eff052eeb 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -58,7 +58,7 @@ class UpdatesCLI < Thor private - def check_doc(doc, options) + def check_doc(doc, opts) # Newer scraper versions always come before older scraper versions # Therefore, the first item's release value is the latest scraper version # @@ -71,7 +71,7 @@ class UpdatesCLI < Thor logger.debug("Checking #{doc.name}") - instance.get_latest_version(options) do |latest_version| + instance.get_latest_version(opts) do |latest_version| return { name: doc.name, scraper_version: scraper_version, From cd43632a2c44a1ac49d696a5267227b9b76503e1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 10 Mar 2019 01:10:31 +0100 Subject: [PATCH 0079/2822] Check for updates based on modified date for scrapers without release --- docs/Scraper-Reference.md | 2 +- lib/docs/core/doc.rb | 104 +++++++++++++++++++++++++++- lib/docs/core/scraper.rb | 85 ----------------------- lib/docs/scrapers/c.rb | 8 +++ lib/docs/scrapers/chef.rb | 5 +- lib/docs/scrapers/cpp.rb | 9 +++ lib/docs/scrapers/haskell.rb | 9 +-- lib/docs/scrapers/http.rb | 2 + lib/docs/scrapers/markdown.rb | 4 ++ lib/docs/scrapers/mdn/css.rb | 2 + lib/docs/scrapers/mdn/dom.rb | 2 + lib/docs/scrapers/mdn/dom_events.rb | 2 + lib/docs/scrapers/mdn/html.rb | 2 + lib/docs/scrapers/mdn/javascript.rb | 2 + lib/docs/scrapers/mdn/mdn.rb | 6 ++ lib/docs/scrapers/mdn/svg.rb | 2 + lib/docs/scrapers/mdn/xslt_xpath.rb | 2 + lib/docs/scrapers/openjdk.rb | 2 +- lib/docs/scrapers/support_tables.rb | 7 ++ lib/tasks/updates.thor | 44 ++++++------ 20 files changed, 186 insertions(+), 115 deletions(-) diff --git a/docs/Scraper-Reference.md b/docs/Scraper-Reference.md index 60d377d822..a6736a3ed1 100644 --- a/docs/Scraper-Reference.md +++ b/docs/Scraper-Reference.md @@ -187,7 +187,7 @@ More information about how filters work is available on the [Filter Reference](. ## Keeping scrapers up-to-date -In order to keep scrapers up-to-date the `get_latest_version(options, &block)` method should be overridden by all scrapers that define the `self.release` attribute. This method should return the latest version of the documentation that is being scraped. The result of this method is periodically reported in a "Documentation versions report" issue which helps maintainers keep track of outdated documentations. +In order to keep scrapers up-to-date the `get_latest_version(options, &block)` method should be overridden. If `self.release` is defined, this should return the latest version of the documentation. If `self.release` is not defined, it should return the Epoch time when the documentation was last modified. If the documentation will never change, simply return `1.0.0`. The result of this method is periodically reported in a "Documentation versions report" issue which helps maintainers keep track of outdated documentations. To make life easier, there are a few utility methods that you can use in `get_latest_version`: * `fetch(url, options, &block)` diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index cb1cd2095e..062ac9e780 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -152,7 +152,6 @@ def store_meta(store) end end - def initialize raise NotImplementedError, "#{self.class} is an abstract class and cannot be instantiated." if self.class.abstract end @@ -164,5 +163,108 @@ def build_page(id, &block) def build_pages(&block) raise NotImplementedError end + + def get_scraper_version(opts, &block) + if self.class.method_defined?(:options) and !options[:release].nil? + block.call options[:release] + else + # If options[:release] does not exist, we return the Epoch timestamp of when the doc was last modified in DevDocs production + fetch_json('https://devdocs.io/docs.json', opts) do |json| + items = json.select {|item| item['name'] == self.class.name} + items = items.map {|item| item['mtime']} + block.call items.max + end + end + end + + # Should return the latest version of this documentation + # If options[:release] is defined, it should be in the same format + # If options[:release] is not defined, it should return the Epoch timestamp of when the documentation was last updated + # If the docs will never change, simply return '1.0.0' + def get_latest_version(options, &block) + raise NotImplementedError + end + + # Returns whether or not this scraper is outdated. + # + # The default implementation assumes the documentation uses a semver(-like) approach when it comes to versions. + # Patch updates are ignored because there are usually little to no documentation changes in bug-fix-only releases. + # + # Scrapers of documentations that do not use this versioning approach should override this method. + # + # Examples of the default implementation: + # 1 -> 2 = outdated + # 1.1 -> 1.2 = outdated + # 1.1.1 -> 1.1.2 = not outdated + def is_outdated(scraper_version, latest_version) + scraper_parts = scraper_version.to_s.split(/\./).map(&:to_i) + latest_parts = latest_version.to_s.split(/\./).map(&:to_i) + + # Only check the first two parts, the third part is for patch updates + [0, 1].each do |i| + break if i >= scraper_parts.length or i >= latest_parts.length + return true if latest_parts[i] > scraper_parts[i] + return false if latest_parts[i] < scraper_parts[i] + end + + false + end + + private + + # + # Utility methods for get_latest_version + # + + def fetch(url, options, &block) + headers = {} + + if options.key?(:github_token) and url.start_with?('https://api.github.com/') + headers['Authorization'] = "token #{options[:github_token]}" + end + + options[:logger].debug("Fetching #{url}") + + Request.run(url, { headers: headers }) do |response| + if response.success? + block.call response.body + else + options[:logger].error("Couldn't fetch #{url} (response code #{response.code})") + block.call nil + end + end + end + + def fetch_doc(url, options, &block) + fetch(url, options) do |body| + block.call Nokogiri::HTML.parse(body, nil, 'UTF-8') + end + end + + def fetch_json(url, options, &block) + fetch(url, options) do |body| + block.call JSON.parse(body) + end + end + + def get_npm_version(package, options, &block) + fetch_json("https://registry.npmjs.com/#{package}", options) do |json| + block.call json['dist-tags']['latest'] + end + end + + def get_latest_github_release(owner, repo, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", options, &block) + end + + def get_github_tags(owner, repo, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/tags", options, &block) + end + + def get_github_file_contents(owner, repo, path, options, &block) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", options) do |json| + block.call(Base64.decode64(json['content'])) + end + end end end diff --git a/lib/docs/core/scraper.rb b/lib/docs/core/scraper.rb index b124c6db01..083b0015eb 100644 --- a/lib/docs/core/scraper.rb +++ b/lib/docs/core/scraper.rb @@ -132,35 +132,6 @@ def options end end - def get_latest_version(options, &block) - raise NotImplementedError - end - - # Returns whether or not this scraper is outdated. - # - # The default implementation assumes the documentation uses a semver(-like) approach when it comes to versions. - # Patch updates are ignored because there are usually little to no documentation changes in bug-fix-only releases. - # - # Scrapers of documentations that do not use this versioning approach should override this method. - # - # Examples of the default implementation: - # 1 -> 2 = outdated - # 1.1 -> 1.2 = outdated - # 1.1.1 -> 1.1.2 = not outdated - def is_outdated(scraper_version, latest_version) - scraper_parts = scraper_version.split(/\./).map(&:to_i) - latest_parts = latest_version.split(/\./).map(&:to_i) - - # Only check the first two parts, the third part is for patch updates - [0, 1].each do |i| - break if i >= scraper_parts.length or i >= latest_parts.length - return true if latest_parts[i] > scraper_parts[i] - return false if latest_parts[i] < scraper_parts[i] - end - - false - end - private def request_one(url) @@ -231,62 +202,6 @@ def additional_options {} end - # - # Utility methods for get_latest_version - # - - def fetch(url, options, &block) - headers = {} - - if options.key?(:github_token) and url.start_with?('https://api.github.com/') - headers['Authorization'] = "token #{options[:github_token]}" - end - - options[:logger].debug("Fetching #{url}") - - Request.run(url, { headers: headers }) do |response| - if response.success? - block.call response.body - else - options[:logger].error("Couldn't fetch #{url} (response code #{response.code})") - block.call nil - end - end - end - - def fetch_doc(url, options, &block) - fetch(url, options) do |body| - block.call Nokogiri::HTML.parse body, nil, 'UTF-8' - end - end - - def fetch_json(url, options, &block) - fetch(url, options) do |body| - json = JSON.parse(body) - block.call json - end - end - - def get_npm_version(package, options, &block) - fetch_json("https://registry.npmjs.com/#{package}", options) do |json| - block.call json['dist-tags']['latest'] - end - end - - def get_latest_github_release(owner, repo, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", options, &block) - end - - def get_github_tags(owner, repo, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/tags", options, &block) - end - - def get_github_file_contents(owner, repo, path, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", options) do |json| - block.call(Base64.decode64(json['content'])) - end - end - module FixInternalUrlsBehavior def self.included(base) base.extend ClassMethods diff --git a/lib/docs/scrapers/c.rb b/lib/docs/scrapers/c.rb index f92896178a..0ab0ac3941 100644 --- a/lib/docs/scrapers/c.rb +++ b/lib/docs/scrapers/c.rb @@ -26,6 +26,14 @@ class C < FileScraper Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. HTML + def get_latest_version(options, &block) + fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', options) do |doc| + link = doc.at_css('a[title^="File:"]') + date = link.content.scan(/(\d+)\./)[0][0] + block.call DateTime.strptime(date, '%Y%m%d').to_time.to_i + end + end + private def file_path_for(*) diff --git a/lib/docs/scrapers/chef.rb b/lib/docs/scrapers/chef.rb index 337d12024b..f9a248bd56 100644 --- a/lib/docs/scrapers/chef.rb +++ b/lib/docs/scrapers/chef.rb @@ -49,9 +49,8 @@ class Chef < UrlScraper end def get_latest_version(options, &block) - fetch_doc('https://docs-archive.chef.io/', options) do |doc| - cell = doc.at_css('.main-archives > tr:nth-child(2) > td:nth-child(2)') - block.call cell.content.sub(/Chef Client /, '') + fetch_doc('https://downloads.chef.io/chef', options) do |doc| + block.call doc.at_css('h1.product-heading > span').content.strip end end end diff --git a/lib/docs/scrapers/cpp.rb b/lib/docs/scrapers/cpp.rb index 374f688396..d26eae6ac3 100644 --- a/lib/docs/scrapers/cpp.rb +++ b/lib/docs/scrapers/cpp.rb @@ -34,6 +34,15 @@ class Cpp < FileScraper Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. HTML + # Same as get_latest_version in lib/docs/scrapers/c.rb + def get_latest_version(options, &block) + fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', options) do |doc| + link = doc.at_css('a[title^="File:"]') + date = link.content.scan(/(\d+)\./)[0][0] + block.call DateTime.strptime(date, '%Y%m%d').to_time.to_i + end + end + private def file_path_for(*) diff --git a/lib/docs/scrapers/haskell.rb b/lib/docs/scrapers/haskell.rb index 383e1990d0..fc848a7a3a 100755 --- a/lib/docs/scrapers/haskell.rb +++ b/lib/docs/scrapers/haskell.rb @@ -10,7 +10,7 @@ class Haskell < UrlScraper html_filters.push 'haskell/entries', 'haskell/clean_html' - options[:container] = ->(filter) { filter.subpath.start_with?('users_guide') ? '.body' : '#content' } + options[:container] = ->(filter) {filter.subpath.start_with?('users_guide') ? '.body' : '#content'} options[:only_patterns] = [/\Alibraries\//, /\Ausers_guide\//] options[:skip_patterns] = [ @@ -70,9 +70,10 @@ class Haskell < UrlScraper end def get_latest_version(options, &block) - fetch_doc('https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/', options) do |doc| - label = doc.at_css('.related > ul > li:last-child').content - block.call label.scan(/([0-9.]+)/)[0][0] + fetch_doc('https://downloads.haskell.org/~ghc/latest/docs/html/', options) do |doc| + links = doc.css('a').to_a + versions = links.map {|link| link['href'].scan(/ghc-([0-9.]+)/)} + block.call versions.find {|version| !version.empty?}[0][0] end end end diff --git a/lib/docs/scrapers/http.rb b/lib/docs/scrapers/http.rb index 60f15f7592..90e6f5c165 100644 --- a/lib/docs/scrapers/http.rb +++ b/lib/docs/scrapers/http.rb @@ -7,6 +7,8 @@ class Http < Mdn html_filters.push 'http/clean_html', 'http/entries', 'title' + options[:mdn_tag] = 'HTTP' + options[:root_title] = 'HTTP' options[:title] = ->(filter) { filter.current_url.host == 'tools.ietf.org' ? false : filter.default_title } options[:container] = ->(filter) { filter.current_url.host == 'tools.ietf.org' ? '.content' : nil } diff --git a/lib/docs/scrapers/markdown.rb b/lib/docs/scrapers/markdown.rb index 87e9c9579a..3400e270f0 100644 --- a/lib/docs/scrapers/markdown.rb +++ b/lib/docs/scrapers/markdown.rb @@ -13,5 +13,9 @@ class Markdown < UrlScraper © 2004 John Gruber
    Licensed under the BSD License. HTML + + def get_latest_version(options, &block) + block.call '1.0.0' + end end end diff --git a/lib/docs/scrapers/mdn/css.rb b/lib/docs/scrapers/mdn/css.rb index 4c44f1f132..abb69b3a50 100644 --- a/lib/docs/scrapers/mdn/css.rb +++ b/lib/docs/scrapers/mdn/css.rb @@ -6,6 +6,8 @@ class Css < Mdn html_filters.push 'css/clean_html', 'css/entries', 'title' + options[:mdn_tag] = 'CSS' + options[:root_title] = 'CSS' options[:skip] = %w(/CSS3 /Media/Visual /paged_media /Media/TV /Media/Tactile) diff --git a/lib/docs/scrapers/mdn/dom.rb b/lib/docs/scrapers/mdn/dom.rb index bbf95b2010..a22029292a 100644 --- a/lib/docs/scrapers/mdn/dom.rb +++ b/lib/docs/scrapers/mdn/dom.rb @@ -8,6 +8,8 @@ class Dom < Mdn html_filters.push 'dom/clean_html', 'dom/entries', 'title' + options[:mdn_tag] = 'XSLT_Reference' + options[:root_title] = 'DOM' options[:skip] = %w( diff --git a/lib/docs/scrapers/mdn/dom_events.rb b/lib/docs/scrapers/mdn/dom_events.rb index fcbdc08fc1..258fbcd453 100644 --- a/lib/docs/scrapers/mdn/dom_events.rb +++ b/lib/docs/scrapers/mdn/dom_events.rb @@ -9,6 +9,8 @@ class DomEvents < Mdn html_filters.insert_after 'clean_html', 'dom_events/clean_html' html_filters.push 'dom_events/entries', 'title' + options[:mdn_tag] = 'events' + options[:root_title] = 'DOM Events' options[:skip] = %w(/MozOrientation) diff --git a/lib/docs/scrapers/mdn/html.rb b/lib/docs/scrapers/mdn/html.rb index 4b28cefd0a..f38432f1db 100644 --- a/lib/docs/scrapers/mdn/html.rb +++ b/lib/docs/scrapers/mdn/html.rb @@ -7,6 +7,8 @@ class Html < Mdn html_filters.push 'html/clean_html', 'html/entries', 'title' + options[:mdn_tag] = 'HTML' + options[:root_title] = 'HTML' options[:title] = ->(filter) do diff --git a/lib/docs/scrapers/mdn/javascript.rb b/lib/docs/scrapers/mdn/javascript.rb index 935df61c45..cea55fc8ff 100644 --- a/lib/docs/scrapers/mdn/javascript.rb +++ b/lib/docs/scrapers/mdn/javascript.rb @@ -8,6 +8,8 @@ class Javascript < Mdn html_filters.push 'javascript/clean_html', 'javascript/entries', 'title' + options[:mdn_tag] = 'JavaScript' + options[:root_title] = 'JavaScript' # Don't want diff --git a/lib/docs/scrapers/mdn/mdn.rb b/lib/docs/scrapers/mdn/mdn.rb index 2ebd38aaa1..ccb27af9a7 100644 --- a/lib/docs/scrapers/mdn/mdn.rb +++ b/lib/docs/scrapers/mdn/mdn.rb @@ -21,6 +21,12 @@ class Mdn < UrlScraper Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later. HTML + def get_latest_version(opts, &block) + fetch_json("https://developer.mozilla.org/en-US/docs/feeds/json/tag/#{options[:mdn_tag]}", opts) do |json| + block.call DateTime.parse(json[0]['pubdate']).to_time.to_i + end + end + private def process_response?(response) diff --git a/lib/docs/scrapers/mdn/svg.rb b/lib/docs/scrapers/mdn/svg.rb index db9de7a181..66baf60d0b 100644 --- a/lib/docs/scrapers/mdn/svg.rb +++ b/lib/docs/scrapers/mdn/svg.rb @@ -8,6 +8,8 @@ class Svg < Mdn html_filters.push 'svg/clean_html', 'svg/entries', 'title' + options[:mdn_tag] = 'XSLT_Reference' + options[:root_title] = 'SVG' options[:title] = ->(filter) do diff --git a/lib/docs/scrapers/mdn/xslt_xpath.rb b/lib/docs/scrapers/mdn/xslt_xpath.rb index 5d812dd40d..9bf01c01ee 100644 --- a/lib/docs/scrapers/mdn/xslt_xpath.rb +++ b/lib/docs/scrapers/mdn/xslt_xpath.rb @@ -8,6 +8,8 @@ class XsltXpath < Mdn html_filters.push 'xslt_xpath/clean_html', 'xslt_xpath/entries', 'title' + options[:mdn_tag] = 'XSLT_Reference' + options[:root_title] = 'XSLT' options[:only_patterns] = [/\A\/XSLT/, /\A\/XPath/] diff --git a/lib/docs/scrapers/openjdk.rb b/lib/docs/scrapers/openjdk.rb index e833c7c474..a56a292808 100644 --- a/lib/docs/scrapers/openjdk.rb +++ b/lib/docs/scrapers/openjdk.rb @@ -105,7 +105,7 @@ def get_latest_version(options, &block) end end - block.call latest_version.to_s + block.call latest_version end end end diff --git a/lib/docs/scrapers/support_tables.rb b/lib/docs/scrapers/support_tables.rb index 9a550c1eaa..90cd7f4fa2 100644 --- a/lib/docs/scrapers/support_tables.rb +++ b/lib/docs/scrapers/support_tables.rb @@ -178,5 +178,12 @@ def support_to_note_indicators(support)

    HTML + + def get_latest_version(options, &block) + fetch('https://feeds.feedburner.com/WhenCanIUse?format=xml', options) do |body| + timestamp = body.scan(/([^<]+)<\/updated>/)[0][0] + block.call DateTime.parse(timestamp).to_time.to_i + end + end end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index 6eff052eeb..e684cdbc95 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -1,7 +1,7 @@ class UpdatesCLI < Thor # The GitHub user that is allowed to upload reports # TODO: Update this before creating a PR - UPLOAD_USER = 'jmerle' + UPLOAD_USER = 'devdocs-bot' # The repository to create an issue in when uploading the results # TODO: Update this before creating a PR @@ -59,25 +59,19 @@ class UpdatesCLI < Thor private def check_doc(doc, opts) - # Newer scraper versions always come before older scraper versions - # Therefore, the first item's release value is the latest scraper version - # - # For example, a scraper could scrape 3 versions: 10, 11 and 12 - # doc.versions.first would be the scraper for version 12 - instance = doc.versions.first.new - - scraper_version = instance.class.method_defined?(:options) ? instance.options[:release] : nil - return error_result(doc, '`options[:release]` does not exist') if scraper_version.nil? - logger.debug("Checking #{doc.name}") - instance.get_latest_version(opts) do |latest_version| - return { - name: doc.name, - scraper_version: scraper_version, - latest_version: latest_version, - is_outdated: instance.is_outdated(scraper_version, latest_version) - } + instance = doc.versions.first.new + + instance.get_scraper_version(opts) do |scraper_version| + instance.get_latest_version(opts) do |latest_version| + return { + name: doc.name, + scraper_version: format_version(scraper_version), + latest_version: format_version(latest_version), + is_outdated: instance.is_outdated(scraper_version, latest_version) + } + end end rescue NotImplementedError logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented") @@ -87,6 +81,15 @@ class UpdatesCLI < Thor raise end + def format_version(version) + str = version.to_s + + # If the version is numeric and greater than or equal to 1e9 it's probably a timestamp + return str if str.match(/^(\d)+$/).nil? or str.to_i < 1e9 + + DateTime.strptime(str, '%s').strftime('%B %-d, %Y') + end + def error_result(doc, reason) { name: doc.name, @@ -199,14 +202,15 @@ class UpdatesCLI < Thor ] results_str = results.select {|result| !result.nil?}.join("\n\n") + travis_str = ENV['TRAVIS'].nil? ? '' : "\n\nThis issue was created by Travis CI build [##{ENV['TRAVIS_BUILD_NUMBER']}](#{ENV['TRAVIS_BUILD_WEB_URL']})." - title = "Documentation versions report for #{Date.today.strftime('%B')} 2019" + title = "Documentation versions report for #{Date.today.strftime('%B %Y')}" body = <<-MARKDOWN ## What is this? This is an automatically created issue which contains information about the version status of the documentations available on DevDocs. The results of this report can be used by maintainers when updating outdated documentations. -Maintainers can close this issue when all documentations are up-to-date. This issue is automatically closed when the next report is created. +Maintainers can close this issue when all documentations are up-to-date. This issue is automatically closed when the next report is created.#{travis_str} ## Results From 41e0a138a6533ed39f88d242db051ce33287e505 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 10 Mar 2019 03:02:24 +0100 Subject: [PATCH 0080/2822] Refactoring and cleaning up --- docs/Scraper-Reference.md | 32 +++--- lib/docs/core/doc.rb | 71 ++++++------ lib/docs/scrapers/angular.rb | 4 +- lib/docs/scrapers/angularjs.rb | 4 +- lib/docs/scrapers/ansible.rb | 7 +- lib/docs/scrapers/apache.rb | 7 +- lib/docs/scrapers/apache_pig.rb | 9 +- lib/docs/scrapers/async.rb | 8 +- lib/docs/scrapers/babel.rb | 7 +- lib/docs/scrapers/backbone.rb | 8 +- lib/docs/scrapers/bash.rb | 8 +- lib/docs/scrapers/bluebird.rb | 4 +- lib/docs/scrapers/bootstrap.rb | 7 +- lib/docs/scrapers/bottle.rb | 9 +- lib/docs/scrapers/bower.rb | 4 +- lib/docs/scrapers/c.rb | 11 +- lib/docs/scrapers/cakephp.rb | 7 +- lib/docs/scrapers/chai.rb | 4 +- lib/docs/scrapers/chef.rb | 7 +- lib/docs/scrapers/clojure.rb | 7 +- lib/docs/scrapers/cmake.rb | 9 +- lib/docs/scrapers/codeception.rb | 7 +- lib/docs/scrapers/codeceptjs.rb | 4 +- lib/docs/scrapers/codeigniter.rb | 9 +- lib/docs/scrapers/coffeescript.rb | 4 +- lib/docs/scrapers/cordova.rb | 15 +-- lib/docs/scrapers/cpp.rb | 11 +- lib/docs/scrapers/crystal.rb | 7 +- lib/docs/scrapers/d.rb | 7 +- lib/docs/scrapers/d3.rb | 4 +- lib/docs/scrapers/dart.rb | 9 +- lib/docs/scrapers/django.rb | 7 +- lib/docs/scrapers/docker.rb | 9 +- lib/docs/scrapers/dojo.rb | 7 +- lib/docs/scrapers/drupal.rb | 15 +-- lib/docs/scrapers/electron.rb | 7 +- lib/docs/scrapers/elixir.rb | 7 +- lib/docs/scrapers/ember.rb | 7 +- lib/docs/scrapers/erlang.rb | 7 +- lib/docs/scrapers/eslint.rb | 4 +- lib/docs/scrapers/express.rb | 4 +- lib/docs/scrapers/falcon.rb | 7 +- lib/docs/scrapers/fish.rb | 7 +- lib/docs/scrapers/flow.rb | 4 +- lib/docs/scrapers/git.rb | 7 +- lib/docs/scrapers/gnu/gcc.rb | 9 +- lib/docs/scrapers/gnu/gnu_fortran.rb | 9 +- lib/docs/scrapers/go.rb | 15 +-- lib/docs/scrapers/godot.rb | 7 +- lib/docs/scrapers/graphite.rb | 7 +- lib/docs/scrapers/grunt.rb | 4 +- lib/docs/scrapers/handlebars.rb | 4 +- lib/docs/scrapers/haskell.rb | 11 +- lib/docs/scrapers/haxe.rb | 9 +- lib/docs/scrapers/homebrew.rb | 6 +- lib/docs/scrapers/immutable.rb | 4 +- lib/docs/scrapers/influxdata.rb | 9 +- lib/docs/scrapers/jasmine.rb | 6 +- lib/docs/scrapers/jekyll.rb | 7 +- lib/docs/scrapers/jest.rb | 7 +- lib/docs/scrapers/jquery/jquery_core.rb | 4 +- lib/docs/scrapers/jquery/jquery_mobile.rb | 8 +- lib/docs/scrapers/jquery/jquery_ui.rb | 4 +- lib/docs/scrapers/jsdoc.rb | 6 +- lib/docs/scrapers/julia.rb | 6 +- lib/docs/scrapers/knockout.rb | 6 +- lib/docs/scrapers/koa.rb | 4 +- lib/docs/scrapers/kotlin.rb | 6 +- lib/docs/scrapers/laravel.rb | 6 +- lib/docs/scrapers/leaflet.rb | 9 +- lib/docs/scrapers/less.rb | 9 +- lib/docs/scrapers/liquid.rb | 7 +- lib/docs/scrapers/lodash.rb | 7 +- lib/docs/scrapers/love.rb | 7 +- lib/docs/scrapers/lua.rb | 7 +- lib/docs/scrapers/marionette.rb | 4 +- lib/docs/scrapers/markdown.rb | 4 +- lib/docs/scrapers/matplotlib.rb | 6 +- lib/docs/scrapers/mdn/mdn.rb | 7 +- lib/docs/scrapers/meteor.rb | 7 +- lib/docs/scrapers/mocha.rb | 4 +- lib/docs/scrapers/modernizr.rb | 4 +- lib/docs/scrapers/moment.rb | 7 +- lib/docs/scrapers/mongoose.rb | 9 +- lib/docs/scrapers/nginx.rb | 9 +- lib/docs/scrapers/nginx_lua_module.rb | 9 +- lib/docs/scrapers/nim.rb | 7 +- lib/docs/scrapers/node.rb | 7 +- lib/docs/scrapers/nokogiri2.rb | 6 +- lib/docs/scrapers/npm.rb | 6 +- lib/docs/scrapers/numpy.rb | 6 +- lib/docs/scrapers/openjdk.rb | 17 ++- lib/docs/scrapers/opentsdb.rb | 6 +- lib/docs/scrapers/padrino.rb | 6 +- lib/docs/scrapers/pandas.rb | 9 +- lib/docs/scrapers/perl.rb | 7 +- lib/docs/scrapers/phalcon.rb | 7 +- lib/docs/scrapers/phaser.rb | 6 +- lib/docs/scrapers/phoenix.rb | 7 +- lib/docs/scrapers/php.rb | 9 +- lib/docs/scrapers/phpunit.rb | 9 +- lib/docs/scrapers/postgresql.rb | 9 +- lib/docs/scrapers/pug.rb | 4 +- lib/docs/scrapers/puppeteer.rb | 7 +- lib/docs/scrapers/pygame.rb | 6 +- lib/docs/scrapers/python.rb | 7 +- lib/docs/scrapers/q.rb | 4 +- lib/docs/scrapers/qt.rb | 8 +- lib/docs/scrapers/ramda.rb | 7 +- lib/docs/scrapers/rdoc/minitest.rb | 7 +- lib/docs/scrapers/rdoc/rails.rb | 6 +- lib/docs/scrapers/rdoc/ruby.rb | 15 ++- lib/docs/scrapers/react.rb | 7 +- lib/docs/scrapers/react_native.rb | 7 +- lib/docs/scrapers/redis.rb | 9 +- lib/docs/scrapers/redux.rb | 4 +- lib/docs/scrapers/relay.rb | 7 +- lib/docs/scrapers/requirejs.rb | 4 +- lib/docs/scrapers/rethinkdb.rb | 6 +- lib/docs/scrapers/rust.rb | 9 +- lib/docs/scrapers/sass.rb | 6 +- lib/docs/scrapers/scikit_image.rb | 7 +- lib/docs/scrapers/scikit_learn.rb | 8 +- lib/docs/scrapers/sinon.rb | 7 +- lib/docs/scrapers/socketio.rb | 4 +- lib/docs/scrapers/sqlite.rb | 7 +- lib/docs/scrapers/statsmodels.rb | 7 +- lib/docs/scrapers/support_tables.rb | 9 +- lib/docs/scrapers/symfony.rb | 6 +- lib/docs/scrapers/tcl_tk.rb | 8 +- lib/docs/scrapers/tensorflow.rb | 6 +- lib/docs/scrapers/terraform.rb | 7 +- lib/docs/scrapers/twig.rb | 7 +- lib/docs/scrapers/typescript.rb | 6 +- lib/docs/scrapers/underscore.rb | 7 +- lib/docs/scrapers/vagrant.rb | 7 +- lib/docs/scrapers/vue.rb | 6 +- lib/docs/scrapers/vulkan.rb | 7 +- lib/docs/scrapers/webpack.rb | 4 +- lib/docs/scrapers/yarn.rb | 6 +- lib/docs/scrapers/yii.rb | 6 +- lib/tasks/updates.thor | 130 +++++++++++----------- 142 files changed, 530 insertions(+), 676 deletions(-) diff --git a/docs/Scraper-Reference.md b/docs/Scraper-Reference.md index a6736a3ed1..de7d3f1521 100644 --- a/docs/Scraper-Reference.md +++ b/docs/Scraper-Reference.md @@ -187,39 +187,41 @@ More information about how filters work is available on the [Filter Reference](. ## Keeping scrapers up-to-date -In order to keep scrapers up-to-date the `get_latest_version(options, &block)` method should be overridden. If `self.release` is defined, this should return the latest version of the documentation. If `self.release` is not defined, it should return the Epoch time when the documentation was last modified. If the documentation will never change, simply return `1.0.0`. The result of this method is periodically reported in a "Documentation versions report" issue which helps maintainers keep track of outdated documentations. +In order to keep scrapers up-to-date the `get_latest_version(opts)` method should be overridden. If `self.release` is defined, this should return the latest version of the documentation. If `self.release` is not defined, it should return the Epoch time when the documentation was last modified. If the documentation will never change, simply return `1.0.0`. The result of this method is periodically reported in a "Documentation versions report" issue which helps maintainers keep track of outdated documentations. To make life easier, there are a few utility methods that you can use in `get_latest_version`: -* `fetch(url, options, &block)` +* `fetch(url, opts)` - Makes a GET request to the url and calls `&block` with the body. + Makes a GET request to the url and returns the response body. Example: [lib/docs/scrapers/bash.rb](../lib/docs/scrapers/bash.rb) -* `fetch_doc(url, options, &block)` +* `fetch_doc(url, opts)` - Makes a GET request to the url and calls `&block` with the HTML body converted to a Nokogiri document. + Makes a GET request to the url and returns the HTML body converted to a Nokogiri document. Example: [lib/docs/scrapers/git.rb](../lib/docs/scrapers/git.rb) -* `fetch_json(url, options, &block)` +* `fetch_json(url, opts)` - Makes a GET request to the url and calls `&block` with the JSON body converted to a dictionary. -* `get_npm_version(package, options, &block)` + Makes a GET request to the url and returns the JSON body converted to a dictionary. - Calls `&block` with the latest version of the given npm package. + Example: [lib/docs/scrapers/mdn/mdn.rb](../lib/docs/scrapers/mdn/mdn.rb) +* `get_npm_version(package, opts)` + + Returns the latest version of the given npm package. Example: [lib/docs/scrapers/bower.rb](../lib/docs/scrapers/bower.rb) -* `get_latest_github_release(owner, repo, options, &block)` +* `get_latest_github_release(owner, repo, opts)` - Calls `&block` with the latest GitHub release of the given repository ([format](https://developer.github.com/v3/repos/releases/#get-the-latest-release)). + Returns the latest GitHub release of the given repository ([format](https://developer.github.com/v3/repos/releases/#get-the-latest-release)). Example: [lib/docs/scrapers/jsdoc.rb](../lib/docs/scrapers/jsdoc.rb) -* `get_github_tags(owner, repo, options, &block)` +* `get_github_tags(owner, repo, opts)` - Calls `&block` with the list of tags on the given repository ([format](https://developer.github.com/v3/repos/#list-tags)). + Returns the list of tags on the given repository ([format](https://developer.github.com/v3/repos/#list-tags)). Example: [lib/docs/scrapers/liquid.rb](../lib/docs/scrapers/liquid.rb) -* `get_github_file_contents(owner, repo, path, options, &block)` +* `get_github_file_contents(owner, repo, path, opts)` - Calls `&block` with the contents of the requested file in the default branch of the given repository. + Returns the contents of the requested file in the default branch of the given repository. Example: [lib/docs/scrapers/minitest.rb](../lib/docs/scrapers/minitest.rb) diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index 062ac9e780..0b913ef6b8 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -164,16 +164,15 @@ def build_pages(&block) raise NotImplementedError end - def get_scraper_version(opts, &block) + def get_scraper_version(opts) if self.class.method_defined?(:options) and !options[:release].nil? - block.call options[:release] + options[:release] else # If options[:release] does not exist, we return the Epoch timestamp of when the doc was last modified in DevDocs production - fetch_json('https://devdocs.io/docs.json', opts) do |json| - items = json.select {|item| item['name'] == self.class.name} - items = items.map {|item| item['mtime']} - block.call items.max - end + json = fetch_json('https://devdocs.io/docs.json', opts) + items = json.select {|item| item['name'] == self.class.name} + items = items.map {|item| item['mtime']} + items.max end end @@ -181,7 +180,7 @@ def get_scraper_version(opts, &block) # If options[:release] is defined, it should be in the same format # If options[:release] is not defined, it should return the Epoch timestamp of when the documentation was last updated # If the docs will never change, simply return '1.0.0' - def get_latest_version(options, &block) + def get_latest_version(opts) raise NotImplementedError end @@ -216,55 +215,49 @@ def is_outdated(scraper_version, latest_version) # Utility methods for get_latest_version # - def fetch(url, options, &block) + def fetch(url, opts) headers = {} - if options.key?(:github_token) and url.start_with?('https://api.github.com/') - headers['Authorization'] = "token #{options[:github_token]}" + if opts.key?(:github_token) and url.start_with?('https://api.github.com/') + headers['Authorization'] = "token #{opts[:github_token]}" end - options[:logger].debug("Fetching #{url}") + opts[:logger].debug("Fetching #{url}") + response = Request.run(url, { headers: headers }) - Request.run(url, { headers: headers }) do |response| - if response.success? - block.call response.body - else - options[:logger].error("Couldn't fetch #{url} (response code #{response.code})") - block.call nil - end + if response.success? + response.body + else + opts[:logger].error("Couldn't fetch #{url} (response code #{response.code})") + nil end end - def fetch_doc(url, options, &block) - fetch(url, options) do |body| - block.call Nokogiri::HTML.parse(body, nil, 'UTF-8') - end + def fetch_doc(url, opts) + body = fetch(url, opts) + Nokogiri::HTML.parse(body, nil, 'UTF-8') end - def fetch_json(url, options, &block) - fetch(url, options) do |body| - block.call JSON.parse(body) - end + def fetch_json(url, opts) + JSON.parse fetch(url, opts) end - def get_npm_version(package, options, &block) - fetch_json("https://registry.npmjs.com/#{package}", options) do |json| - block.call json['dist-tags']['latest'] - end + def get_npm_version(package, opts) + json = fetch_json("https://registry.npmjs.com/#{package}", opts) + json['dist-tags']['latest'] end - def get_latest_github_release(owner, repo, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", options, &block) + def get_latest_github_release(owner, repo, opts) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", opts) end - def get_github_tags(owner, repo, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/tags", options, &block) + def get_github_tags(owner, repo, opts) + fetch_json("https://api.github.com/repos/#{owner}/#{repo}/tags", opts) end - def get_github_file_contents(owner, repo, path, options, &block) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", options) do |json| - block.call(Base64.decode64(json['content'])) - end + def get_github_file_contents(owner, repo, path, opts) + json = fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", opts) + Base64.decode64(json['content']) end end end diff --git a/lib/docs/scrapers/angular.rb b/lib/docs/scrapers/angular.rb index 059b0e8ef2..3365ec6791 100644 --- a/lib/docs/scrapers/angular.rb +++ b/lib/docs/scrapers/angular.rb @@ -155,8 +155,8 @@ def handle_response(response) end end - def get_latest_version(options, &block) - get_npm_version('@angular/core', options, &block) + def get_latest_version(opts) + get_npm_version('@angular/core', opts) end private diff --git a/lib/docs/scrapers/angularjs.rb b/lib/docs/scrapers/angularjs.rb index b6e1832512..9d663e355e 100644 --- a/lib/docs/scrapers/angularjs.rb +++ b/lib/docs/scrapers/angularjs.rb @@ -70,8 +70,8 @@ class Angularjs < UrlScraper self.base_url = "https://code.angularjs.org/#{release}/docs/partials/" end - def get_latest_version(options, &block) - get_npm_version('angular', options, &block) + def get_latest_version(opts) + get_npm_version('angular', opts) end end end diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index 293f74a743..b2363d4d78 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -88,10 +88,9 @@ class Ansible < UrlScraper list_of_all_modules.html) end - def get_latest_version(options, &block) - fetch_doc('https://docs.ansible.com/ansible/latest/index.html', options) do |doc| - block.call doc.at_css('.DocSiteProduct-CurrentVersion').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.ansible.com/ansible/latest/index.html', opts) + doc.at_css('.DocSiteProduct-CurrentVersion').content.strip end end end diff --git a/lib/docs/scrapers/apache.rb b/lib/docs/scrapers/apache.rb index ba0fa34031..1301b574c8 100644 --- a/lib/docs/scrapers/apache.rb +++ b/lib/docs/scrapers/apache.rb @@ -34,10 +34,9 @@ class Apache < UrlScraper Licensed under the Apache License, Version 2.0. HTML - def get_latest_version(options, &block) - fetch_doc('http://httpd.apache.org/docs/', options) do |doc| - block.call doc.at_css('#apcontents > ul a')['href'][0...-1] - end + def get_latest_version(opts) + doc = fetch_doc('http://httpd.apache.org/docs/', opts) + doc.at_css('#apcontents > ul a')['href'][0...-1] end end end diff --git a/lib/docs/scrapers/apache_pig.rb b/lib/docs/scrapers/apache_pig.rb index 5454140b5f..f35085e676 100644 --- a/lib/docs/scrapers/apache_pig.rb +++ b/lib/docs/scrapers/apache_pig.rb @@ -43,11 +43,10 @@ class ApachePig < UrlScraper self.base_url = "https://pig.apache.org/docs/r#{release}/" end - def get_latest_version(options, &block) - fetch_doc('https://pig.apache.org/', options) do |doc| - item = doc.at_css('div[id="menu_1.2"] > .menuitem:last-child') - block.call item.content.strip.sub(/Release /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://pig.apache.org/', opts) + item = doc.at_css('div[id="menu_1.2"] > .menuitem:last-child') + item.content.strip.sub(/Release /, '') end end end diff --git a/lib/docs/scrapers/async.rb b/lib/docs/scrapers/async.rb index 18e9bbbf45..67498eed99 100644 --- a/lib/docs/scrapers/async.rb +++ b/lib/docs/scrapers/async.rb @@ -18,11 +18,9 @@ class Async < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://caolan.github.io/async/', options) do |doc| - version = doc.at_css('#version-dropdown > a').content.strip[1..-1] - block.call version - end + def get_latest_version(opts) + doc = fetch_doc('https://caolan.github.io/async/', opts) + doc.at_css('#version-dropdown > a').content.strip[1..-1] end end end diff --git a/lib/docs/scrapers/babel.rb b/lib/docs/scrapers/babel.rb index 675f86be75..c8d716f174 100644 --- a/lib/docs/scrapers/babel.rb +++ b/lib/docs/scrapers/babel.rb @@ -23,10 +23,9 @@ class Babel < UrlScraper '
    ' end - def get_latest_version(options, &block) - fetch_doc('https://babeljs.io/docs/en/', options) do |doc| - block.call doc.at_css('a[href="/versions"] > h3').content - end + def get_latest_version(opts) + doc = fetch_doc('https://babeljs.io/docs/en/', opts) + doc.at_css('a[href="/versions"] > h3').content end end end diff --git a/lib/docs/scrapers/backbone.rb b/lib/docs/scrapers/backbone.rb index ad6220e561..2b33505e00 100644 --- a/lib/docs/scrapers/backbone.rb +++ b/lib/docs/scrapers/backbone.rb @@ -21,11 +21,9 @@ class Backbone < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://backbonejs.org/', options) do |doc| - version = doc.at_css('.version').content - block.call version[1...-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://backbonejs.org/', opts) + doc.at_css('.version').content[1...-1] end end end diff --git a/lib/docs/scrapers/bash.rb b/lib/docs/scrapers/bash.rb index 5556f5b987..92ef894a93 100644 --- a/lib/docs/scrapers/bash.rb +++ b/lib/docs/scrapers/bash.rb @@ -18,11 +18,9 @@ class Bash < UrlScraper Licensed under the GNU Free Documentation License. HTML - def get_latest_version(options, &block) - fetch('https://www.gnu.org/software/bash/manual/html_node/index.html', options) do |body| - version = body.scan(/, Version ([0-9.]+)/)[0][0] - block.call version[0...-1] - end + def get_latest_version(opts) + body = fetch('https://www.gnu.org/software/bash/manual/html_node/index.html', opts) + body.scan(/, Version ([0-9.]+)/)[0][0][0...-1] end end end diff --git a/lib/docs/scrapers/bluebird.rb b/lib/docs/scrapers/bluebird.rb index 8a960b876e..8f38120a18 100644 --- a/lib/docs/scrapers/bluebird.rb +++ b/lib/docs/scrapers/bluebird.rb @@ -19,8 +19,8 @@ class Bluebird < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('bluebird', options, &block) + def get_latest_version(opts) + get_npm_version('bluebird', opts) end end end diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb index aa0b4cc388..8571462e56 100644 --- a/lib/docs/scrapers/bootstrap.rb +++ b/lib/docs/scrapers/bootstrap.rb @@ -35,10 +35,9 @@ class Bootstrap < UrlScraper options[:only] = %w(getting-started/ css/ components/ javascript/) end - def get_latest_version(options, &block) - fetch_doc('https://getbootstrap.com/', options) do |doc| - block.call doc.at_css('#bd-versions').content.strip[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://getbootstrap.com/', opts) + doc.at_css('#bd-versions').content.strip[1..-1] end end end diff --git a/lib/docs/scrapers/bottle.rb b/lib/docs/scrapers/bottle.rb index 6e4a19a897..d0397ec723 100644 --- a/lib/docs/scrapers/bottle.rb +++ b/lib/docs/scrapers/bottle.rb @@ -28,11 +28,10 @@ class Bottle < UrlScraper self.base_url = "https://bottlepy.org/docs/#{self.version}/" end - def get_latest_version(options, &block) - fetch_doc('https://bottlepy.org/docs/stable/', options) do |doc| - label = doc.at_css('.sphinxsidebarwrapper > ul > li > b') - block.call label.content.sub(/Bottle /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://bottlepy.org/docs/stable/', opts) + label = doc.at_css('.sphinxsidebarwrapper > ul > li > b') + label.content.sub(/Bottle /, '') end end end diff --git a/lib/docs/scrapers/bower.rb b/lib/docs/scrapers/bower.rb index 1102ee75ff..aab2a1e905 100644 --- a/lib/docs/scrapers/bower.rb +++ b/lib/docs/scrapers/bower.rb @@ -20,8 +20,8 @@ class Bower < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('bower', options, &block) + def get_latest_version(opts) + get_npm_version('bower', opts) end end end diff --git a/lib/docs/scrapers/c.rb b/lib/docs/scrapers/c.rb index 0ab0ac3941..ec99f704c6 100644 --- a/lib/docs/scrapers/c.rb +++ b/lib/docs/scrapers/c.rb @@ -26,12 +26,11 @@ class C < FileScraper Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. HTML - def get_latest_version(options, &block) - fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', options) do |doc| - link = doc.at_css('a[title^="File:"]') - date = link.content.scan(/(\d+)\./)[0][0] - block.call DateTime.strptime(date, '%Y%m%d').to_time.to_i - end + def get_latest_version(opts) + doc = fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', opts) + link = doc.at_css('a[title^="File:"]') + date = link.content.scan(/(\d+)\./)[0][0] + DateTime.strptime(date, '%Y%m%d').to_time.to_i end private diff --git a/lib/docs/scrapers/cakephp.rb b/lib/docs/scrapers/cakephp.rb index b123ab7aea..6291b4ab10 100644 --- a/lib/docs/scrapers/cakephp.rb +++ b/lib/docs/scrapers/cakephp.rb @@ -71,10 +71,9 @@ class Cakephp < UrlScraper self.base_url = 'https://api.cakephp.org/2.7/' end - def get_latest_version(options, &block) - fetch_doc('https://api.cakephp.org/3.7/', options) do |doc| - block.call doc.at_css('.version-picker .dropdown-toggle').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://api.cakephp.org/3.7/', opts) + doc.at_css('.version-picker .dropdown-toggle').content.strip end private diff --git a/lib/docs/scrapers/chai.rb b/lib/docs/scrapers/chai.rb index 422bd5a95b..759f7540f9 100644 --- a/lib/docs/scrapers/chai.rb +++ b/lib/docs/scrapers/chai.rb @@ -24,8 +24,8 @@ class Chai < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('chai', options, &block) + def get_latest_version(opts) + get_npm_version('chai', opts) end end end diff --git a/lib/docs/scrapers/chef.rb b/lib/docs/scrapers/chef.rb index f9a248bd56..f0b7d6b095 100644 --- a/lib/docs/scrapers/chef.rb +++ b/lib/docs/scrapers/chef.rb @@ -48,10 +48,9 @@ class Chef < UrlScraper options[:only_patterns] = [/\A#{client_path}\//, /\A#{server_path}\//] end - def get_latest_version(options, &block) - fetch_doc('https://downloads.chef.io/chef', options) do |doc| - block.call doc.at_css('h1.product-heading > span').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://downloads.chef.io/chef', opts) + doc.at_css('h1.product-heading > span').content.strip end end end diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index 465a4493dd..b5785bd374 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -28,10 +28,9 @@ class Clojure < UrlScraper self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.7.0/' end - def get_latest_version(options, &block) - fetch_doc('http://clojure.github.io/clojure/index.html', options) do |doc| - block.call doc.at_css('#header-version').content[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('http://clojure.github.io/clojure/index.html', opts) + doc.at_css('#header-version').content[1..-1] end end end diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb index dde4721c64..7548a4a996 100644 --- a/lib/docs/scrapers/cmake.rb +++ b/lib/docs/scrapers/cmake.rb @@ -60,11 +60,10 @@ class Cmake < UrlScraper self.base_url = 'https://cmake.org/cmake/help/v3.5/' end - def get_latest_version(options, &block) - fetch_doc('https://cmake.org/documentation/', options) do |doc| - link = doc.at_css('.entry-content ul > li > strong > a > big') - block.call link.content.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://cmake.org/documentation/', opts) + link = doc.at_css('.entry-content ul > li > strong > a > big') + link.content.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/codeception.rb b/lib/docs/scrapers/codeception.rb index 2e28de7fba..caafc9cfa7 100644 --- a/lib/docs/scrapers/codeception.rb +++ b/lib/docs/scrapers/codeception.rb @@ -19,10 +19,9 @@ class Codeception < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://codeception.com/changelog', options) do |doc| - block.call doc.at_css('#page > h4').content - end + def get_latest_version(opts) + doc = fetch_doc('https://codeception.com/changelog', opts) + doc.at_css('#page > h4').content end end end diff --git a/lib/docs/scrapers/codeceptjs.rb b/lib/docs/scrapers/codeceptjs.rb index e3f4fda863..34d9b855ef 100644 --- a/lib/docs/scrapers/codeceptjs.rb +++ b/lib/docs/scrapers/codeceptjs.rb @@ -22,8 +22,8 @@ class Codeceptjs < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('codeceptjs', options, &block) + def get_latest_version(opts) + get_npm_version('codeceptjs', opts) end end end diff --git a/lib/docs/scrapers/codeigniter.rb b/lib/docs/scrapers/codeigniter.rb index 864cf70088..05258d9a50 100644 --- a/lib/docs/scrapers/codeigniter.rb +++ b/lib/docs/scrapers/codeigniter.rb @@ -39,11 +39,10 @@ class Codeigniter < UrlScraper self.release = '3.1.8' end - def get_latest_version(options, &block) - fetch_doc('https://codeigniter.com/user_guide/changelog.html', options) do |doc| - header = doc.at_css('#change-log h2') - block.call header.content.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://codeigniter.com/user_guide/changelog.html', opts) + header = doc.at_css('#change-log h2') + header.content.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/coffeescript.rb b/lib/docs/scrapers/coffeescript.rb index d848d20877..695f3697f9 100644 --- a/lib/docs/scrapers/coffeescript.rb +++ b/lib/docs/scrapers/coffeescript.rb @@ -31,8 +31,8 @@ class Coffeescript < UrlScraper options[:container] = '.container' end - def get_latest_version(options, &block) - get_npm_version('coffeescript', options, &block) + def get_latest_version(opts) + get_npm_version('coffeescript', opts) end end end diff --git a/lib/docs/scrapers/cordova.rb b/lib/docs/scrapers/cordova.rb index efe8fb0373..65cf7f60e9 100644 --- a/lib/docs/scrapers/cordova.rb +++ b/lib/docs/scrapers/cordova.rb @@ -43,13 +43,14 @@ class Cordova < UrlScraper self.base_url = 'https://cordova.apache.org/docs/en/6.x/' end - def get_latest_version(options, &block) - fetch_doc('https://cordova.apache.org/docs/en/latest/', options) do |doc| - label = doc.at_css('#versionDropdown').content.strip - version = label.scan(/([0-9.]+)/)[0][0] - version = version[0...-1] if version.end_with?('.') - block.call version - end + def get_latest_version(opts) + doc = fetch_doc('https://cordova.apache.org/docs/en/latest/', opts) + + label = doc.at_css('#versionDropdown').content.strip + version = label.scan(/([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + + version end end end diff --git a/lib/docs/scrapers/cpp.rb b/lib/docs/scrapers/cpp.rb index d26eae6ac3..f96ee8f1f6 100644 --- a/lib/docs/scrapers/cpp.rb +++ b/lib/docs/scrapers/cpp.rb @@ -35,12 +35,11 @@ class Cpp < FileScraper HTML # Same as get_latest_version in lib/docs/scrapers/c.rb - def get_latest_version(options, &block) - fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', options) do |doc| - link = doc.at_css('a[title^="File:"]') - date = link.content.scan(/(\d+)\./)[0][0] - block.call DateTime.strptime(date, '%Y%m%d').to_time.to_i - end + def get_latest_version(opts) + doc = fetch_doc('https://en.cppreference.com/w/Cppreference:Archives', opts) + link = doc.at_css('a[title^="File:"]') + date = link.content.scan(/(\d+)\./)[0][0] + DateTime.strptime(date, '%Y%m%d').to_time.to_i end private diff --git a/lib/docs/scrapers/crystal.rb b/lib/docs/scrapers/crystal.rb index e70317f2da..14537c7f0b 100644 --- a/lib/docs/scrapers/crystal.rb +++ b/lib/docs/scrapers/crystal.rb @@ -35,10 +35,9 @@ class Crystal < UrlScraper end } - def get_latest_version(options, &block) - fetch('https://crystal-lang.org/api', options) do |body| - block.call body.scan(/Crystal Docs ([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + body = fetch('https://crystal-lang.org/api', opts) + body.scan(/Crystal Docs ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/d.rb b/lib/docs/scrapers/d.rb index b0adaf3140..e1475b45ee 100644 --- a/lib/docs/scrapers/d.rb +++ b/lib/docs/scrapers/d.rb @@ -27,10 +27,9 @@ def initial_urls %w(https://dlang.org/phobos/index.html https://dlang.org/spec/intro.html) end - def get_latest_version(options, &block) - fetch_doc('https://dlang.org/changelog/', options) do |doc| - block.call doc.at_css('#content > ul > li:nth-child(2) > a')['id'] - end + def get_latest_version(opts) + doc = fetch_doc('https://dlang.org/changelog/', opts) + doc.at_css('#content > ul > li:nth-child(2) > a')['id'] end end end diff --git a/lib/docs/scrapers/d3.rb b/lib/docs/scrapers/d3.rb index cfbbafc959..e26c1f3dbe 100644 --- a/lib/docs/scrapers/d3.rb +++ b/lib/docs/scrapers/d3.rb @@ -59,8 +59,8 @@ class D3 < UrlScraper options[:only_patterns] = [/\.md\z/] end - def get_latest_version(options, &block) - get_npm_version('d3', options, &block) + def get_latest_version(opts) + get_npm_version('d3', opts) end end end diff --git a/lib/docs/scrapers/dart.rb b/lib/docs/scrapers/dart.rb index 42d20423d0..322bfe2aab 100644 --- a/lib/docs/scrapers/dart.rb +++ b/lib/docs/scrapers/dart.rb @@ -32,11 +32,10 @@ class Dart < FileScraper self.base_url = "https://api.dartlang.org/stable/#{release}/" end - def get_latest_version(options, &block) - fetch_doc('https://api.dartlang.org/', options) do |doc| - label = doc.at_css('footer > span').content.strip - block.call label.sub(/Dart /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://api.dartlang.org/', opts) + label = doc.at_css('footer > span').content.strip + label.sub(/Dart /, '') end end end diff --git a/lib/docs/scrapers/django.rb b/lib/docs/scrapers/django.rb index 746c0f4073..6d48c6d787 100644 --- a/lib/docs/scrapers/django.rb +++ b/lib/docs/scrapers/django.rb @@ -64,10 +64,9 @@ class Django < FileScraper self.base_url = 'https://docs.djangoproject.com/en/1.8/' end - def get_latest_version(options, &block) - fetch_doc('https://docs.djangoproject.com/', options) do |doc| - block.call doc.at_css('#doc-versions > li.current > span > strong').content - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.djangoproject.com/', opts) + doc.at_css('#doc-versions > li.current > span > strong').content end end end diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index dd849391f6..3ef60aabbf 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -138,11 +138,10 @@ def self.included(klass) options[:only_patterns] << /\Aswarm\// end - def get_latest_version(options, &block) - fetch_doc('https://docs.docker.com/', options) do |doc| - label = doc.at_css('.nav-container button.dropdown-toggle').content.strip - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.docker.com/', opts) + label = doc.at_css('.nav-container button.dropdown-toggle').content.strip + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/dojo.rb b/lib/docs/scrapers/dojo.rb index 66dccb6fd2..798989166e 100644 --- a/lib/docs/scrapers/dojo.rb +++ b/lib/docs/scrapers/dojo.rb @@ -36,10 +36,9 @@ class Dojo < UrlScraper urls.map { |url| "#{url}" }.join end - def get_latest_version(options, &block) - fetch_doc('https://dojotoolkit.org/api/', options) do |doc| - block.call doc.at_css('#versionSelector > option[selected]').content - end + def get_latest_version(opts) + doc = fetch_doc('https://dojotoolkit.org/api/', opts) + doc.at_css('#versionSelector > option[selected]').content end private diff --git a/lib/docs/scrapers/drupal.rb b/lib/docs/scrapers/drupal.rb index 92da419303..f29b585b73 100644 --- a/lib/docs/scrapers/drupal.rb +++ b/lib/docs/scrapers/drupal.rb @@ -99,13 +99,14 @@ class Drupal < UrlScraper ] end - def get_latest_version(options, &block) - fetch_doc('http://cgit.drupalcode.org/drupal', options) do |doc| - version = doc.at_css('td.form > form > select > option[selected]').content - version = version.scan(/([0-9.]+)/)[0][0] - version = version[0...-1] if version.end_with?('.') - block.call version - end + def get_latest_version(opts) + doc = fetch_doc('http://cgit.drupalcode.org/drupal', opts) + + version = doc.at_css('td.form > form > select > option[selected]').content + version = version.scan(/([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + + version end end end diff --git a/lib/docs/scrapers/electron.rb b/lib/docs/scrapers/electron.rb index dd3cf00a87..8e635f4916 100644 --- a/lib/docs/scrapers/electron.rb +++ b/lib/docs/scrapers/electron.rb @@ -23,10 +23,9 @@ class Electron < UrlScraper Licensed under the MIT license. HTML - def get_latest_version(options, &block) - fetch_doc('https://electronjs.org/docs', options) do |doc| - block.call doc.at_css('.docs-version').content - end + def get_latest_version(opts) + doc = fetch_doc('https://electronjs.org/docs', opts) + doc.at_css('.docs-version').content end end end diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index d5b8dbe6d7..a25cca4166 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -98,10 +98,9 @@ def initial_urls ] end - def get_latest_version(options, &block) - fetch_doc('https://hexdocs.pm/elixir/api-reference.html', options) do |doc| - block.call doc.at_css('h2.sidebar-projectVersion').content.strip[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://hexdocs.pm/elixir/api-reference.html', opts) + doc.at_css('h2.sidebar-projectVersion').content.strip[1..-1] end end end diff --git a/lib/docs/scrapers/ember.rb b/lib/docs/scrapers/ember.rb index 24a8817e94..6f853bb9e3 100644 --- a/lib/docs/scrapers/ember.rb +++ b/lib/docs/scrapers/ember.rb @@ -57,10 +57,9 @@ def initial_urls ) end - def get_latest_version(options, &block) - fetch_doc('https://emberjs.com/api/ember/release', options) do |doc| - block.call doc.at_css('.sidebar > .select-container .ember-power-select-selected-item').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://emberjs.com/api/ember/release', opts) + doc.at_css('.sidebar > .select-container .ember-power-select-selected-item').content.strip end end end diff --git a/lib/docs/scrapers/erlang.rb b/lib/docs/scrapers/erlang.rb index 0211da5593..14a87cf53b 100644 --- a/lib/docs/scrapers/erlang.rb +++ b/lib/docs/scrapers/erlang.rb @@ -56,10 +56,9 @@ class Erlang < FileScraper self.release = '18.3' end - def get_latest_version(options, &block) - fetch_doc('https://www.erlang.org/downloads', options) do |doc| - block.call doc.at_css('.col-lg-3 > ul > li').content.strip.sub(/OTP /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://www.erlang.org/downloads', opts) + doc.at_css('.col-lg-3 > ul > li').content.strip.sub(/OTP /, '') end end end diff --git a/lib/docs/scrapers/eslint.rb b/lib/docs/scrapers/eslint.rb index dac9c283c0..c213eacc2f 100644 --- a/lib/docs/scrapers/eslint.rb +++ b/lib/docs/scrapers/eslint.rb @@ -21,8 +21,8 @@ class Eslint < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('eslint', options, &block) + def get_latest_version(opts) + get_npm_version('eslint', opts) end end end diff --git a/lib/docs/scrapers/express.rb b/lib/docs/scrapers/express.rb index 67ba07e82e..990019fb88 100644 --- a/lib/docs/scrapers/express.rb +++ b/lib/docs/scrapers/express.rb @@ -29,8 +29,8 @@ class Express < UrlScraper Licensed under the Creative Commons Attribution-ShareAlike License v3.0. HTML - def get_latest_version(options, &block) - get_npm_version('express', options, &block) + def get_latest_version(opts) + get_npm_version('express', opts) end end end diff --git a/lib/docs/scrapers/falcon.rb b/lib/docs/scrapers/falcon.rb index cd5b70cd27..8ba691509c 100644 --- a/lib/docs/scrapers/falcon.rb +++ b/lib/docs/scrapers/falcon.rb @@ -34,10 +34,9 @@ class Falcon < UrlScraper self.base_url = "https://falcon.readthedocs.io/en/#{self.release}/" end - def get_latest_version(options, &block) - fetch_doc('https://falcon.readthedocs.io/en/stable/changes/index.html', options) do |doc| - block.call doc.at_css('#changelogs ul > li > a').content - end + def get_latest_version(opts) + doc = fetch_doc('https://falcon.readthedocs.io/en/stable/changes/index.html', opts) + doc.at_css('#changelogs ul > li > a').content end end end diff --git a/lib/docs/scrapers/fish.rb b/lib/docs/scrapers/fish.rb index 9340961a6d..c9a9880256 100644 --- a/lib/docs/scrapers/fish.rb +++ b/lib/docs/scrapers/fish.rb @@ -47,10 +47,9 @@ class Fish < UrlScraper self.base_url = "https://fishshell.com/docs/#{version}/" end - def get_latest_version(options, &block) - fetch_doc('http://fishshell.com/docs/current/index.html', options) do |doc| - block.call doc.at_css('#toc-index').content.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('http://fishshell.com/docs/current/index.html', opts) + doc.at_css('#toc-index').content.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/flow.rb b/lib/docs/scrapers/flow.rb index 546473f79c..b3b5a02f2a 100644 --- a/lib/docs/scrapers/flow.rb +++ b/lib/docs/scrapers/flow.rb @@ -19,8 +19,8 @@ class Flow < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('flow-bin', options, &block) + def get_latest_version(opts) + get_npm_version('flow-bin', opts) end end end diff --git a/lib/docs/scrapers/git.rb b/lib/docs/scrapers/git.rb index f10473d03f..9de5cb0d55 100644 --- a/lib/docs/scrapers/git.rb +++ b/lib/docs/scrapers/git.rb @@ -20,10 +20,9 @@ class Git < UrlScraper Licensed under the GNU General Public License version 2. HTML - def get_latest_version(options, &block) - fetch_doc('https://git-scm.com/', options) do |doc| - block.call doc.at_css('.version').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://git-scm.com/', opts) + doc.at_css('.version').content.strip end end end diff --git a/lib/docs/scrapers/gnu/gcc.rb b/lib/docs/scrapers/gnu/gcc.rb index 3252dd6dd7..565706d9e5 100644 --- a/lib/docs/scrapers/gnu/gcc.rb +++ b/lib/docs/scrapers/gnu/gcc.rb @@ -100,11 +100,10 @@ class Gcc < Gnu options[:replace_paths] = CPP_PATHS end - def get_latest_version(options, &block) - fetch_doc('https://gcc.gnu.org/onlinedocs/', options) do |doc| - label = doc.at_css('ul > li > ul > li > a').content.strip - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://gcc.gnu.org/onlinedocs/', opts) + label = doc.at_css('ul > li > ul > li > a').content.strip + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/gnu/gnu_fortran.rb b/lib/docs/scrapers/gnu/gnu_fortran.rb index f72f7d6555..dd18827ce2 100644 --- a/lib/docs/scrapers/gnu/gnu_fortran.rb +++ b/lib/docs/scrapers/gnu/gnu_fortran.rb @@ -26,11 +26,10 @@ class GnuFortran < Gnu self.base_url = "https://gcc.gnu.org/onlinedocs/gcc-#{release}/gfortran/" end - def get_latest_version(options, &block) - fetch_doc('https://gcc.gnu.org/onlinedocs/', options) do |doc| - label = doc.at_css('ul > li > ul > li > a').content.strip - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://gcc.gnu.org/onlinedocs/', opts) + label = doc.at_css('ul > li > ul > li > a').content.strip + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/go.rb b/lib/docs/scrapers/go.rb index 6f8f7a4a8d..8997b7b190 100644 --- a/lib/docs/scrapers/go.rb +++ b/lib/docs/scrapers/go.rb @@ -24,13 +24,14 @@ class Go < UrlScraper Licensed under the Creative Commons Attribution License 3.0. HTML - def get_latest_version(options, &block) - fetch_doc('https://golang.org/pkg/', options) do |doc| - footer = doc.at_css('#footer').content - version = footer.scan(/go([0-9.]+)/)[0][0] - version = version[0...-1] if version.end_with?('.') - block.call version - end + def get_latest_version(opts) + doc = fetch_doc('https://golang.org/pkg/', opts) + + footer = doc.at_css('#footer').content + version = footer.scan(/go([0-9.]+)/)[0][0] + version = version[0...-1] if version.end_with?('.') + + version end private diff --git a/lib/docs/scrapers/godot.rb b/lib/docs/scrapers/godot.rb index d43782c2c3..06c330b2b8 100644 --- a/lib/docs/scrapers/godot.rb +++ b/lib/docs/scrapers/godot.rb @@ -38,10 +38,9 @@ class Godot < UrlScraper self.base_url = "http://docs.godotengine.org/en/#{self.version}/" end - def get_latest_version(options, &block) - fetch_doc('https://docs.godotengine.org/', options) do |doc| - block.call doc.at_css('.version').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.godotengine.org/', opts) + doc.at_css('.version').content.strip end end end diff --git a/lib/docs/scrapers/graphite.rb b/lib/docs/scrapers/graphite.rb index d1d8b9d155..83e9314af8 100644 --- a/lib/docs/scrapers/graphite.rb +++ b/lib/docs/scrapers/graphite.rb @@ -18,10 +18,9 @@ class Graphite < UrlScraper Licensed under the Apache License, Version 2.0. HTML - def get_latest_version(options, &block) - fetch_doc('https://graphite.readthedocs.io/en/latest/releases.html', options) do |doc| - block.call doc.at_css('#release-notes li > a').content - end + def get_latest_version(opts) + doc = fetch_doc('https://graphite.readthedocs.io/en/latest/releases.html', opts) + doc.at_css('#release-notes li > a').content end end end diff --git a/lib/docs/scrapers/grunt.rb b/lib/docs/scrapers/grunt.rb index 1e8af9fbfd..469d10a033 100644 --- a/lib/docs/scrapers/grunt.rb +++ b/lib/docs/scrapers/grunt.rb @@ -27,8 +27,8 @@ class Grunt < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('grunt-cli', options, &block) + def get_latest_version(opts) + get_npm_version('grunt-cli', opts) end end end diff --git a/lib/docs/scrapers/handlebars.rb b/lib/docs/scrapers/handlebars.rb index 7df6310233..046cdf0fe2 100644 --- a/lib/docs/scrapers/handlebars.rb +++ b/lib/docs/scrapers/handlebars.rb @@ -20,8 +20,8 @@ class Handlebars < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('handlebars', options, &block) + def get_latest_version(opts) + get_npm_version('handlebars', opts) end end end diff --git a/lib/docs/scrapers/haskell.rb b/lib/docs/scrapers/haskell.rb index fc848a7a3a..fb118851c1 100755 --- a/lib/docs/scrapers/haskell.rb +++ b/lib/docs/scrapers/haskell.rb @@ -69,12 +69,11 @@ class Haskell < UrlScraper options[:only_patterns] = [/\Alibraries\//] end - def get_latest_version(options, &block) - fetch_doc('https://downloads.haskell.org/~ghc/latest/docs/html/', options) do |doc| - links = doc.css('a').to_a - versions = links.map {|link| link['href'].scan(/ghc-([0-9.]+)/)} - block.call versions.find {|version| !version.empty?}[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://downloads.haskell.org/~ghc/latest/docs/html/', opts) + links = doc.css('a').to_a + versions = links.map {|link| link['href'].scan(/ghc-([0-9.]+)/)} + versions.find {|version| !version.empty?}[0][0] end end end diff --git a/lib/docs/scrapers/haxe.rb b/lib/docs/scrapers/haxe.rb index 5a685efc2d..2dbab01ad8 100644 --- a/lib/docs/scrapers/haxe.rb +++ b/lib/docs/scrapers/haxe.rb @@ -67,11 +67,10 @@ class Haxe < UrlScraper self.base_url = 'https://api.haxe.org/python/' end - def get_latest_version(options, &block) - fetch_doc('https://api.haxe.org/', options) do |doc| - label = doc.at_css('.container.main-content h1 > small').content - block.call label.sub(/version /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://api.haxe.org/', opts) + label = doc.at_css('.container.main-content h1 > small').content + label.sub(/version /, '') end end end diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb index fef1ed0576..c5647709c6 100644 --- a/lib/docs/scrapers/homebrew.rb +++ b/lib/docs/scrapers/homebrew.rb @@ -20,10 +20,8 @@ class Homebrew < UrlScraper Licensed under the BSD 2-Clause License. HTML - def get_latest_version(options, &block) - get_latest_github_release('Homebrew', 'brew', options) do |release| - block.call release['name'] - end + def get_latest_version(opts) + get_latest_github_release('Homebrew', 'brew', opts)['name'] end end end diff --git a/lib/docs/scrapers/immutable.rb b/lib/docs/scrapers/immutable.rb index 342ce1073f..8b1b47a25c 100644 --- a/lib/docs/scrapers/immutable.rb +++ b/lib/docs/scrapers/immutable.rb @@ -55,8 +55,8 @@ class Immutable < UrlScraper capybara.html end - def get_latest_version(options, &block) - get_npm_version('immutable', options, &block) + def get_latest_version(opts) + get_npm_version('immutable', opts) end end end diff --git a/lib/docs/scrapers/influxdata.rb b/lib/docs/scrapers/influxdata.rb index 4fc98c16be..db160f9cac 100644 --- a/lib/docs/scrapers/influxdata.rb +++ b/lib/docs/scrapers/influxdata.rb @@ -47,11 +47,10 @@ class Influxdata < UrlScraper Licensed under the MIT license. HTML - def get_latest_version(options, &block) - fetch_doc('https://docs.influxdata.com/influxdb/', options) do |doc| - label = doc.at_css('.navbar--current-product').content.strip - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.influxdata.com/influxdb/', opts) + label = doc.at_css('.navbar--current-product').content.strip + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/jasmine.rb b/lib/docs/scrapers/jasmine.rb index 5f38e3d50a..14c5186919 100644 --- a/lib/docs/scrapers/jasmine.rb +++ b/lib/docs/scrapers/jasmine.rb @@ -18,10 +18,8 @@ class Jasmine < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_latest_github_release('jasmine', 'jasmine', options) do |release| - block.call release['name'] - end + def get_latest_version(opts) + get_latest_github_release('jasmine', 'jasmine', opts)['name'] end end end diff --git a/lib/docs/scrapers/jekyll.rb b/lib/docs/scrapers/jekyll.rb index a6af352f9c..500eee1029 100644 --- a/lib/docs/scrapers/jekyll.rb +++ b/lib/docs/scrapers/jekyll.rb @@ -29,10 +29,9 @@ class Jekyll < UrlScraper Licensed under the MIT license. HTML - def get_latest_version(options, &block) - fetch_doc('https://jekyllrb.com/docs/', options) do |doc| - block.call doc.at_css('.meta a').content[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://jekyllrb.com/docs/', opts) + doc.at_css('.meta a').content[1..-1] end end end diff --git a/lib/docs/scrapers/jest.rb b/lib/docs/scrapers/jest.rb index 71efcf5422..a495d93982 100644 --- a/lib/docs/scrapers/jest.rb +++ b/lib/docs/scrapers/jest.rb @@ -18,10 +18,9 @@ class Jest < UrlScraper Licensed under the BSD License. HTML - def get_latest_version(options, &block) - fetch_doc('https://jestjs.io/docs/en/getting-started', options) do |doc| - block.call doc.at_css('header > a > h3').content - end + def get_latest_version(opts) + doc = fetch_doc('https://jestjs.io/docs/en/getting-started', opts) + doc.at_css('header > a > h3').content end end end diff --git a/lib/docs/scrapers/jquery/jquery_core.rb b/lib/docs/scrapers/jquery/jquery_core.rb index dad609e706..a0c8b97a26 100644 --- a/lib/docs/scrapers/jquery/jquery_core.rb +++ b/lib/docs/scrapers/jquery/jquery_core.rb @@ -23,8 +23,8 @@ class JqueryCore < Jquery /index/i ] - def get_latest_version(options, &block) - get_npm_version('jquery', options, &block) + def get_latest_version(opts) + get_npm_version('jquery', opts) end end end diff --git a/lib/docs/scrapers/jquery/jquery_mobile.rb b/lib/docs/scrapers/jquery/jquery_mobile.rb index 53b2c6243c..5b856a95fc 100644 --- a/lib/docs/scrapers/jquery/jquery_mobile.rb +++ b/lib/docs/scrapers/jquery/jquery_mobile.rb @@ -17,11 +17,9 @@ class JqueryMobile < Jquery url.sub! 'http://api.jquerymobile.com/', 'https://api.jquerymobile.com/' end - def get_latest_version(options, &block) - fetch_doc('https://jquerymobile.com/', options) do |doc| - label = doc.at_css('.download-box > .download-option:last-child > span').content - block.call label.sub(/Version /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://jquerymobile.com/', opts) + doc.at_css('.download-box > .download-option:last-child > span').content.sub(/Version /, '') end end end diff --git a/lib/docs/scrapers/jquery/jquery_ui.rb b/lib/docs/scrapers/jquery/jquery_ui.rb index 05c276e180..021d1d2245 100644 --- a/lib/docs/scrapers/jquery/jquery_ui.rb +++ b/lib/docs/scrapers/jquery/jquery_ui.rb @@ -16,8 +16,8 @@ class JqueryUi < Jquery url.sub! 'http://api.jqueryui.com/', 'https://api.jqueryui.com/' end - def get_latest_version(options, &block) - get_npm_version('jquery-ui', options, &block) + def get_latest_version(opts) + get_npm_version('jquery-ui', opts) end end end diff --git a/lib/docs/scrapers/jsdoc.rb b/lib/docs/scrapers/jsdoc.rb index 39feca71a4..d88d46b60b 100644 --- a/lib/docs/scrapers/jsdoc.rb +++ b/lib/docs/scrapers/jsdoc.rb @@ -22,10 +22,8 @@ class Jsdoc < UrlScraper Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0. HTML - def get_latest_version(options, &block) - get_latest_github_release('jsdoc3', 'jsdoc', options) do |release| - block.call release['tag_name'] - end + def get_latest_version(opts) + get_latest_github_release('jsdoc3', 'jsdoc', opts)['tag_name'] end end end diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb index 0875835a3f..d152f05d28 100644 --- a/lib/docs/scrapers/julia.rb +++ b/lib/docs/scrapers/julia.rb @@ -50,10 +50,8 @@ class Julia < UrlScraper html_filters.push 'julia/entries_sphinx', 'julia/clean_html_sphinx', 'sphinx/clean_html' end - def get_latest_version(options, &block) - get_latest_github_release('JuliaLang', 'julia', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('JuliaLang', 'julia', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/knockout.rb b/lib/docs/scrapers/knockout.rb index 60af1540ee..6556bca876 100644 --- a/lib/docs/scrapers/knockout.rb +++ b/lib/docs/scrapers/knockout.rb @@ -34,10 +34,8 @@ class Knockout < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_latest_github_release('knockout', 'knockout', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('knockout', 'knockout', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/koa.rb b/lib/docs/scrapers/koa.rb index 4d90e30f0b..cac1492015 100644 --- a/lib/docs/scrapers/koa.rb +++ b/lib/docs/scrapers/koa.rb @@ -35,8 +35,8 @@ class Koa < Github Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('koa', options, &block) + def get_latest_version(opts) + get_npm_version('koa', opts) end end end diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb index 7539212d9f..5f508ae722 100644 --- a/lib/docs/scrapers/kotlin.rb +++ b/lib/docs/scrapers/kotlin.rb @@ -29,10 +29,8 @@ class Kotlin < UrlScraper Licensed under the Apache License, Version 2.0. HTML - def get_latest_version(options, &block) - get_latest_github_release('JetBrains', 'kotlin', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('JetBrains', 'kotlin', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/laravel.rb b/lib/docs/scrapers/laravel.rb index cdf32732dc..4fc173687d 100644 --- a/lib/docs/scrapers/laravel.rb +++ b/lib/docs/scrapers/laravel.rb @@ -134,10 +134,8 @@ class Laravel < UrlScraper end end - def get_latest_version(options, &block) - get_latest_github_release('laravel', 'laravel', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('laravel', 'laravel', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/leaflet.rb b/lib/docs/scrapers/leaflet.rb index 24bc61425f..38e497e7c9 100644 --- a/lib/docs/scrapers/leaflet.rb +++ b/lib/docs/scrapers/leaflet.rb @@ -39,11 +39,10 @@ class Leaflet < UrlScraper self.base_url = "https://leafletjs.com/reference-#{release}.html" end - def get_latest_version(options, &block) - fetch_doc('https://leafletjs.com/index.html', options) do |doc| - link = doc.css('ul > li > a').to_a.select {|node| node.content == 'Docs'}.first - block.call link['href'].scan(/reference-([0-9.]+)\.html/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://leafletjs.com/index.html', opts) + link = doc.css('ul > li > a').to_a.select {|node| node.content == 'Docs'}.first + link['href'].scan(/reference-([0-9.]+)\.html/)[0][0] end end end diff --git a/lib/docs/scrapers/less.rb b/lib/docs/scrapers/less.rb index 00c884eb14..b19bbe179f 100644 --- a/lib/docs/scrapers/less.rb +++ b/lib/docs/scrapers/less.rb @@ -22,11 +22,10 @@ class Less < UrlScraper Licensed under the Creative Commons Attribution License 3.0. HTML - def get_latest_version(options, &block) - fetch_doc('http://lesscss.org/features/', options) do |doc| - label = doc.at_css('.footer-links > li').content - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('http://lesscss.org/features/', opts) + label = doc.at_css('.footer-links > li').content + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/liquid.rb b/lib/docs/scrapers/liquid.rb index 4630b2d1c1..b8e40d59cf 100644 --- a/lib/docs/scrapers/liquid.rb +++ b/lib/docs/scrapers/liquid.rb @@ -20,10 +20,9 @@ class Liquid < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_github_tags('Shopify', 'liquid', options) do |tags| - block.call tags[0]['name'][1..-1] - end + def get_latest_version(opts) + tags = get_github_tags('Shopify', 'liquid', opts) + tags[0]['name'][1..-1] end end end diff --git a/lib/docs/scrapers/lodash.rb b/lib/docs/scrapers/lodash.rb index 5488b9abea..bce625e615 100644 --- a/lib/docs/scrapers/lodash.rb +++ b/lib/docs/scrapers/lodash.rb @@ -33,10 +33,9 @@ class Lodash < UrlScraper self.base_url = "https://lodash.com/docs/#{release}" end - def get_latest_version(options, &block) - fetch_doc('https://lodash.com/docs/', options) do |doc| - block.call doc.at_css('#version > option[selected]').content - end + def get_latest_version(opts) + doc = fetch_doc('https://lodash.com/docs/', opts) + doc.at_css('#version > option[selected]').content end end end diff --git a/lib/docs/scrapers/love.rb b/lib/docs/scrapers/love.rb index 019edbab31..887b796f72 100644 --- a/lib/docs/scrapers/love.rb +++ b/lib/docs/scrapers/love.rb @@ -40,10 +40,9 @@ class Love < UrlScraper Licensed under the GNU Free Documentation License, Version 1.3. HTML - def get_latest_version(options, &block) - fetch_doc('https://love2d.org/wiki/Version_History', options) do |doc| - block.call doc.at_css('#mw-content-text table a').content - end + def get_latest_version(opts) + doc = fetch_doc('https://love2d.org/wiki/Version_History', opts) + doc.at_css('#mw-content-text table a').content end end end diff --git a/lib/docs/scrapers/lua.rb b/lib/docs/scrapers/lua.rb index 30af5523e8..e3608918d5 100644 --- a/lib/docs/scrapers/lua.rb +++ b/lib/docs/scrapers/lua.rb @@ -27,10 +27,9 @@ class Lua < UrlScraper self.base_url = 'https://www.lua.org/manual/5.1/' end - def get_latest_version(options, &block) - fetch_doc('https://www.lua.org/manual/', options) do |doc| - block.call doc.at_css('p.menubar > a').content - end + def get_latest_version(opts) + doc = fetch_doc('https://www.lua.org/manual/', opts) + doc.at_css('p.menubar > a').content end end end diff --git a/lib/docs/scrapers/marionette.rb b/lib/docs/scrapers/marionette.rb index 12de6d0c12..fd1eab8eda 100644 --- a/lib/docs/scrapers/marionette.rb +++ b/lib/docs/scrapers/marionette.rb @@ -39,8 +39,8 @@ class Marionette < UrlScraper html_filters.push 'marionette/entries_v2' end - def get_latest_version(options, &block) - get_npm_version('backbone.marionette', options, &block) + def get_latest_version(opts) + get_npm_version('backbone.marionette', opts) end end end diff --git a/lib/docs/scrapers/markdown.rb b/lib/docs/scrapers/markdown.rb index 3400e270f0..b837c6928d 100644 --- a/lib/docs/scrapers/markdown.rb +++ b/lib/docs/scrapers/markdown.rb @@ -14,8 +14,8 @@ class Markdown < UrlScraper Licensed under the BSD License. HTML - def get_latest_version(options, &block) - block.call '1.0.0' + def get_latest_version(opts) + '1.0.0' end end end diff --git a/lib/docs/scrapers/matplotlib.rb b/lib/docs/scrapers/matplotlib.rb index 948955a6ae..4a882270c5 100644 --- a/lib/docs/scrapers/matplotlib.rb +++ b/lib/docs/scrapers/matplotlib.rb @@ -65,10 +65,8 @@ class Matplotlib < UrlScraper ] end - def get_latest_version(options, &block) - get_latest_github_release('matplotlib', 'matplotlib', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('matplotlib', 'matplotlib', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/mdn/mdn.rb b/lib/docs/scrapers/mdn/mdn.rb index ccb27af9a7..defb4533a6 100644 --- a/lib/docs/scrapers/mdn/mdn.rb +++ b/lib/docs/scrapers/mdn/mdn.rb @@ -21,10 +21,9 @@ class Mdn < UrlScraper Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later. HTML - def get_latest_version(opts, &block) - fetch_json("https://developer.mozilla.org/en-US/docs/feeds/json/tag/#{options[:mdn_tag]}", opts) do |json| - block.call DateTime.parse(json[0]['pubdate']).to_time.to_i - end + def get_latest_version(opts) + json = fetch_json("https://developer.mozilla.org/en-US/docs/feeds/json/tag/#{options[:mdn_tag]}", opts) + DateTime.parse(json[0]['pubdate']).to_time.to_i end private diff --git a/lib/docs/scrapers/meteor.rb b/lib/docs/scrapers/meteor.rb index 02b81bc328..a758d154aa 100644 --- a/lib/docs/scrapers/meteor.rb +++ b/lib/docs/scrapers/meteor.rb @@ -46,10 +46,9 @@ class Meteor < UrlScraper options[:fix_urls] = nil end - def get_latest_version(options, &block) - fetch_doc('https://docs.meteor.com/#/full/', options) do |doc| - block.call doc.at_css('select.version-select > option').content - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.meteor.com/#/full/', opts) + doc.at_css('select.version-select > option').content end end end diff --git a/lib/docs/scrapers/mocha.rb b/lib/docs/scrapers/mocha.rb index 6654d7540a..04945425e3 100644 --- a/lib/docs/scrapers/mocha.rb +++ b/lib/docs/scrapers/mocha.rb @@ -19,8 +19,8 @@ class Mocha < UrlScraper Licensed under the Creative Commons Attribution 4.0 International License. HTML - def get_latest_version(options, &block) - get_npm_version('mocha', options, &block) + def get_latest_version(opts) + get_npm_version('mocha', opts) end end end diff --git a/lib/docs/scrapers/modernizr.rb b/lib/docs/scrapers/modernizr.rb index 93a738bbb6..01ad49a748 100644 --- a/lib/docs/scrapers/modernizr.rb +++ b/lib/docs/scrapers/modernizr.rb @@ -16,8 +16,8 @@ class Modernizr < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('modernizr', options, &block) + def get_latest_version(opts) + get_npm_version('modernizr', opts) end end end diff --git a/lib/docs/scrapers/moment.rb b/lib/docs/scrapers/moment.rb index 9dd2710796..5b7491eab8 100644 --- a/lib/docs/scrapers/moment.rb +++ b/lib/docs/scrapers/moment.rb @@ -23,10 +23,9 @@ class Moment < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('http://momentjs.com/', options) do |doc| - block.call doc.at_css('.hero-title > h1 > span').content - end + def get_latest_version(opts) + doc = fetch_doc('http://momentjs.com/', opts) + doc.at_css('.hero-title > h1 > span').content end end end diff --git a/lib/docs/scrapers/mongoose.rb b/lib/docs/scrapers/mongoose.rb index 2d22199001..fbd4ca920e 100644 --- a/lib/docs/scrapers/mongoose.rb +++ b/lib/docs/scrapers/mongoose.rb @@ -27,11 +27,10 @@ class Mongoose < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://mongoosejs.com/docs/', options) do |doc| - label = doc.at_css('.pure-menu-link').content.strip - block.call label.sub(/Version /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://mongoosejs.com/docs/', opts) + label = doc.at_css('.pure-menu-link').content.strip + label.sub(/Version /, '') end end end diff --git a/lib/docs/scrapers/nginx.rb b/lib/docs/scrapers/nginx.rb index 07a4565f50..5354b8bd3a 100644 --- a/lib/docs/scrapers/nginx.rb +++ b/lib/docs/scrapers/nginx.rb @@ -26,11 +26,10 @@ class Nginx < UrlScraper Licensed under the BSD License. HTML - def get_latest_version(options, &block) - fetch_doc('https://nginx.org/en/download.html', options) do |doc| - table = doc.at_css('#content > table').inner_html - block.call table.scan(/nginx-([0-9.]+) table').inner_html + table.scan(/nginx-([0-9.]+) .docinfo > tbody > tr:last-child > td').content.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://nim-lang.org/docs/overview.html', opts) + doc.at_css('.container > .docinfo > tbody > tr:last-child > td').content.strip end end end diff --git a/lib/docs/scrapers/node.rb b/lib/docs/scrapers/node.rb index 36c14e9eb8..0e5ee8fa26 100644 --- a/lib/docs/scrapers/node.rb +++ b/lib/docs/scrapers/node.rb @@ -47,10 +47,9 @@ class Node < UrlScraper self.base_url = 'https://nodejs.org/dist/latest-v4.x/docs/api/' end - def get_latest_version(options, &block) - fetch_doc('https://nodejs.org/en/', options) do |doc| - block.call doc.at_css('#home-intro > .home-downloadblock:last-of-type > a')['data-version'][1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://nodejs.org/en/', opts) + doc.at_css('#home-intro > .home-downloadblock:last-of-type > a')['data-version'][1..-1] end end end diff --git a/lib/docs/scrapers/nokogiri2.rb b/lib/docs/scrapers/nokogiri2.rb index aca5d10c95..9da5daf4d1 100644 --- a/lib/docs/scrapers/nokogiri2.rb +++ b/lib/docs/scrapers/nokogiri2.rb @@ -20,10 +20,8 @@ class Nokogiri2 < Rdoc Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_latest_github_release('sparklemotion', 'nokogiri', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('sparklemotion', 'nokogiri', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb index 7ef727c007..e18531ab11 100644 --- a/lib/docs/scrapers/npm.rb +++ b/lib/docs/scrapers/npm.rb @@ -30,10 +30,8 @@ class Npm < UrlScraper npm is a trademark of npm, Inc. HTML - def get_latest_version(options, &block) - get_latest_github_release('npm', 'cli', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('npm', 'cli', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/numpy.rb b/lib/docs/scrapers/numpy.rb index 1fcc05d6b2..636fcf4a5a 100644 --- a/lib/docs/scrapers/numpy.rb +++ b/lib/docs/scrapers/numpy.rb @@ -50,10 +50,8 @@ class Numpy < FileScraper self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/" end - def get_latest_version(options, &block) - get_latest_github_release('numpy', 'numpy', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('numpy', 'numpy', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/openjdk.rb b/lib/docs/scrapers/openjdk.rb index a56a292808..c26bce4cac 100644 --- a/lib/docs/scrapers/openjdk.rb +++ b/lib/docs/scrapers/openjdk.rb @@ -87,7 +87,7 @@ def read_file(path) File.read(path).force_encoding('iso-8859-1').encode('utf-8') rescue nil end - def get_latest_version(options, &block) + def get_latest_version(opts) latest_version = 8 current_attempt = latest_version attempts = 0 @@ -95,17 +95,16 @@ def get_latest_version(options, &block) while attempts < 3 current_attempt += 1 - fetch_doc("https://packages.debian.org/sid/openjdk-#{current_attempt}-doc", options) do |doc| - if doc.at_css('.perror').nil? - latest_version = current_attempt - attempts = 0 - else - attempts += 1 - end + doc = fetch_doc("https://packages.debian.org/sid/openjdk-#{current_attempt}-doc", opts) + if doc.at_css('.perror').nil? + latest_version = current_attempt + attempts = 0 + else + attempts += 1 end end - block.call latest_version + latest_version end end end diff --git a/lib/docs/scrapers/opentsdb.rb b/lib/docs/scrapers/opentsdb.rb index 54a7701722..1de40478d8 100644 --- a/lib/docs/scrapers/opentsdb.rb +++ b/lib/docs/scrapers/opentsdb.rb @@ -19,10 +19,8 @@ class Opentsdb < UrlScraper Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses. HTML - def get_latest_version(options, &block) - get_latest_github_release('OpenTSDB', 'opentsdb', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('OpenTSDB', 'opentsdb', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/padrino.rb b/lib/docs/scrapers/padrino.rb index 78588ef4be..d34b7db5ab 100644 --- a/lib/docs/scrapers/padrino.rb +++ b/lib/docs/scrapers/padrino.rb @@ -24,10 +24,8 @@ class Padrino < UrlScraper request_one(url_for('index')).body end - def get_latest_version(options, &block) - get_github_tags('padrino', 'padrino-framework', options) do |tags| - block.call tags[0]['name'] - end + def get_latest_version(opts) + get_github_tags('padrino', 'padrino-framework', opts)[0]['name'] end end end diff --git a/lib/docs/scrapers/pandas.rb b/lib/docs/scrapers/pandas.rb index f50c44270e..a8c2ea5127 100644 --- a/lib/docs/scrapers/pandas.rb +++ b/lib/docs/scrapers/pandas.rb @@ -50,11 +50,10 @@ class Pandas < UrlScraper self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" end - def get_latest_version(options, &block) - fetch_doc('http://pandas.pydata.org/pandas-docs/stable/', options) do |doc| - label = doc.at_css('.body > .section > p').content - block.call label.scan(/Version: ([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('http://pandas.pydata.org/pandas-docs/stable/', opts) + label = doc.at_css('.body > .section > p').content + label.scan(/Version: ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/perl.rb b/lib/docs/scrapers/perl.rb index 136a6d7536..7e5ed8f8c2 100644 --- a/lib/docs/scrapers/perl.rb +++ b/lib/docs/scrapers/perl.rb @@ -44,10 +44,9 @@ class Perl < FileScraper self.base_url = "https://perldoc.perl.org/#{self.release}/" end - def get_latest_version(options, &block) - fetch('https://perldoc.perl.org/static/perlversion.js', options) do |body| - block.call body.scan(/>Perl ([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + body = fetch('https://perldoc.perl.org/static/perlversion.js', opts) + body.scan(/>Perl ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/phalcon.rb b/lib/docs/scrapers/phalcon.rb index 82a9cf8501..dd476329fe 100644 --- a/lib/docs/scrapers/phalcon.rb +++ b/lib/docs/scrapers/phalcon.rb @@ -30,10 +30,9 @@ class Phalcon < UrlScraper self.base_url = 'https://docs.phalconphp.com/en/2.0.0/' end - def get_latest_version(options, &block) - fetch_doc('https://docs.phalconphp.com/', options) do |doc| - block.call doc.at_css('.custom-select__version').content.strip.sub(/Version /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.phalconphp.com/', opts) + doc.at_css('.custom-select__version').content.strip.sub(/Version /, '') end end end diff --git a/lib/docs/scrapers/phaser.rb b/lib/docs/scrapers/phaser.rb index ef265e2e57..1939b1d0b8 100644 --- a/lib/docs/scrapers/phaser.rb +++ b/lib/docs/scrapers/phaser.rb @@ -26,10 +26,8 @@ class Phaser < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_latest_github_release('photonstorm', 'phaser', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('photonstorm', 'phaser', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/phoenix.rb b/lib/docs/scrapers/phoenix.rb index 08948b3cbf..2ad053e273 100644 --- a/lib/docs/scrapers/phoenix.rb +++ b/lib/docs/scrapers/phoenix.rb @@ -47,10 +47,9 @@ class Phoenix < UrlScraper end } - def get_latest_version(options, &block) - fetch_doc('https://hexdocs.pm/phoenix/Phoenix.html', options) do |doc| - block.call doc.at_css('.sidebar-projectVersion').content.strip[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://hexdocs.pm/phoenix/Phoenix.html', opts) + doc.at_css('.sidebar-projectVersion').content.strip[1..-1] end end end diff --git a/lib/docs/scrapers/php.rb b/lib/docs/scrapers/php.rb index b6aac0395d..181d8b67c1 100644 --- a/lib/docs/scrapers/php.rb +++ b/lib/docs/scrapers/php.rb @@ -67,11 +67,10 @@ class Php < FileScraper Licensed under the Creative Commons Attribution License v3.0 or later. HTML - def get_latest_version(options, &block) - fetch_doc('https://secure.php.net/manual/en/doc.changelog.php', options) do |doc| - label = doc.at_css('tbody.gen-changelog > tr > td').content - block.call label.split(',').last.strip - end + def get_latest_version(opts) + doc = fetch_doc('https://secure.php.net/manual/en/doc.changelog.php', opts) + label = doc.at_css('tbody.gen-changelog > tr > td').content + label.split(',').last.strip end end end diff --git a/lib/docs/scrapers/phpunit.rb b/lib/docs/scrapers/phpunit.rb index c5e8c396d3..5f2cbfeada 100644 --- a/lib/docs/scrapers/phpunit.rb +++ b/lib/docs/scrapers/phpunit.rb @@ -38,11 +38,10 @@ class Phpunit < UrlScraper self.base_url = "https://phpunit.de/manual/#{release}/en/" end - def get_latest_version(options, &block) - fetch_doc('https://phpunit.readthedocs.io/', options) do |doc| - label = doc.at_css('.rst-current-version').content.strip - block.call label.scan(/v: ([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://phpunit.readthedocs.io/', opts) + label = doc.at_css('.rst-current-version').content.strip + label.scan(/v: ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/postgresql.rb b/lib/docs/scrapers/postgresql.rb index 4946066b50..cc7a85c85c 100644 --- a/lib/docs/scrapers/postgresql.rb +++ b/lib/docs/scrapers/postgresql.rb @@ -81,11 +81,10 @@ class Postgresql < UrlScraper html_filters.insert_before 'postgresql/extract_metadata', 'postgresql/normalize_class_names' end - def get_latest_version(options, &block) - fetch_doc('https://www.postgresql.org/docs/current/index.html', options) do |doc| - label = doc.at_css('#pgContentWrap h1.title').content - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://www.postgresql.org/docs/current/index.html', opts) + label = doc.at_css('#pgContentWrap h1.title').content + label.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/pug.rb b/lib/docs/scrapers/pug.rb index 9084feb157..79a1b0a810 100644 --- a/lib/docs/scrapers/pug.rb +++ b/lib/docs/scrapers/pug.rb @@ -18,8 +18,8 @@ class Pug < UrlScraper Licensed under the MIT license. HTML - def get_latest_version(options, &block) - get_npm_version('pug', options, &block) + def get_latest_version(opts) + get_npm_version('pug', opts) end private diff --git a/lib/docs/scrapers/puppeteer.rb b/lib/docs/scrapers/puppeteer.rb index a1506c7a7f..043380d5e1 100644 --- a/lib/docs/scrapers/puppeteer.rb +++ b/lib/docs/scrapers/puppeteer.rb @@ -15,10 +15,9 @@ class Puppeteer < Github Licensed under the Apache License 2.0. HTML - def get_latest_version(options, &block) - get_github_file_contents('GoogleChrome', 'puppeteer', 'README.md', options) do |contents| - block.call contents.scan(/\/v([0-9.]+)\/docs\/api\.md/)[0][0] - end + def get_latest_version(opts) + contents = get_github_file_contents('GoogleChrome', 'puppeteer', 'README.md', opts) + contents.scan(/\/v([0-9.]+)\/docs\/api\.md/)[0][0] end end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 538c07225e..d5a5581db0 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -18,10 +18,8 @@ class Pygame < UrlScraper Licensed under the GNU LGPL License version 2.1. HTML - def get_latest_version(options, &block) - get_latest_github_release('pygame', 'pygame', options) do |release| - block.call release['tag_name'] - end + def get_latest_version(opts) + get_latest_github_release('pygame', 'pygame', opts)['tag_name'] end end end diff --git a/lib/docs/scrapers/python.rb b/lib/docs/scrapers/python.rb index 16ecc3668e..c790559119 100644 --- a/lib/docs/scrapers/python.rb +++ b/lib/docs/scrapers/python.rb @@ -51,10 +51,9 @@ class Python < FileScraper html_filters.push 'python/entries_v2', 'sphinx/clean_html', 'python/clean_html' end - def get_latest_version(options, &block) - fetch_doc('https://docs.python.org/', options) do |doc| - block.call doc.at_css('.version_switcher_placeholder').content - end + def get_latest_version(opts) + doc = fetch_doc('https://docs.python.org/', opts) + doc.at_css('.version_switcher_placeholder').content end end end diff --git a/lib/docs/scrapers/q.rb b/lib/docs/scrapers/q.rb index 0a16048856..a4c449c02d 100644 --- a/lib/docs/scrapers/q.rb +++ b/lib/docs/scrapers/q.rb @@ -20,8 +20,8 @@ class Q < Github Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('q', options, &block) + def get_latest_version(opts) + get_npm_version('q', opts) end end end diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb index 41c835e96f..a1098b20ef 100644 --- a/lib/docs/scrapers/qt.rb +++ b/lib/docs/scrapers/qt.rb @@ -118,11 +118,9 @@ class Qt < UrlScraper self.base_url = 'https://doc.qt.io/qt-5.6/' end - def get_latest_version(options, &block) - fetch_doc('https://doc.qt.io/qt-5/index.html', options) do |doc| - label = doc.at_css('.mainContent h1.title').content - block.call label.sub(/Qt /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://doc.qt.io/qt-5/index.html', opts) + doc.at_css('.mainContent h1.title').content.sub(/Qt /, '') end end end diff --git a/lib/docs/scrapers/ramda.rb b/lib/docs/scrapers/ramda.rb index d3751e3814..0b86e365ea 100644 --- a/lib/docs/scrapers/ramda.rb +++ b/lib/docs/scrapers/ramda.rb @@ -16,10 +16,9 @@ class Ramda < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://ramdajs.com/docs/', options) do |doc| - block.call doc.at_css('.navbar-brand > .version').content[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://ramdajs.com/docs/', opts) + doc.at_css('.navbar-brand > .version').content[1..-1] end end end diff --git a/lib/docs/scrapers/rdoc/minitest.rb b/lib/docs/scrapers/rdoc/minitest.rb index f676010db4..2a4249fcc8 100644 --- a/lib/docs/scrapers/rdoc/minitest.rb +++ b/lib/docs/scrapers/rdoc/minitest.rb @@ -22,10 +22,9 @@ class Minitest < Rdoc Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_github_file_contents('seattlerb', 'minitest', 'History.rdoc', options) do |contents| - block.call contents.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + contents = get_github_file_contents('seattlerb', 'minitest', 'History.rdoc', opts) + contents.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/rdoc/rails.rb b/lib/docs/scrapers/rdoc/rails.rb index 9cb2ab9bee..771c2f6487 100644 --- a/lib/docs/scrapers/rdoc/rails.rb +++ b/lib/docs/scrapers/rdoc/rails.rb @@ -94,10 +94,8 @@ class Rails < Rdoc self.release = '4.1.16' end - def get_latest_version(options, &block) - get_latest_github_release('rails', 'rails', options) do |release| - block.call release['name'] - end + def get_latest_version(opts) + get_latest_github_release('rails', 'rails', opts)['name'] end end end diff --git a/lib/docs/scrapers/rdoc/ruby.rb b/lib/docs/scrapers/rdoc/ruby.rb index 292540db54..bc064660f2 100644 --- a/lib/docs/scrapers/rdoc/ruby.rb +++ b/lib/docs/scrapers/rdoc/ruby.rb @@ -85,14 +85,13 @@ class Ruby < Rdoc self.release = '2.2.10' end - def get_latest_version(options, &block) - get_github_tags('ruby', 'ruby', options) do |tags| - tags.each do |tag| - version = tag['name'].gsub(/_/, '.')[1..-1] - if !/^([0-9.]+)$/.match(version).nil? && version.count('.') == 2 - block.call version - break - end + def get_latest_version(opts) + tags = get_github_tags('ruby', 'ruby', opts) + tags.each do |tag| + version = tag['name'].gsub(/_/, '.')[1..-1] + + if !/^([0-9.]+)$/.match(version).nil? && version.count('.') == 2 + return version end end end diff --git a/lib/docs/scrapers/react.rb b/lib/docs/scrapers/react.rb index 5403824491..3c41ea5a10 100644 --- a/lib/docs/scrapers/react.rb +++ b/lib/docs/scrapers/react.rb @@ -31,10 +31,9 @@ class React < UrlScraper Licensed under the Creative Commons Attribution 4.0 International Public License. HTML - def get_latest_version(options, &block) - fetch_doc('https://reactjs.org/docs/getting-started.html', options) do |doc| - block.call doc.at_css('a[href="/versions"]').content.strip[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://reactjs.org/docs/getting-started.html', opts) + doc.at_css('a[href="/versions"]').content.strip[1..-1] end end end diff --git a/lib/docs/scrapers/react_native.rb b/lib/docs/scrapers/react_native.rb index ac5bd25058..fe87e492fe 100644 --- a/lib/docs/scrapers/react_native.rb +++ b/lib/docs/scrapers/react_native.rb @@ -31,10 +31,9 @@ class ReactNative < UrlScraper Licensed under the Creative Commons Attribution 4.0 International Public License. HTML - def get_latest_version(options, &block) - fetch_doc('https://facebook.github.io/react-native/docs/getting-started.html', options) do |doc| - block.call doc.at_css('header > a > h3').content - end + def get_latest_version(opts) + doc = fetch_doc('https://facebook.github.io/react-native/docs/getting-started.html', opts) + doc.at_css('header > a > h3').content end end end diff --git a/lib/docs/scrapers/redis.rb b/lib/docs/scrapers/redis.rb index 89a675985e..81440a82d5 100644 --- a/lib/docs/scrapers/redis.rb +++ b/lib/docs/scrapers/redis.rb @@ -20,11 +20,10 @@ class Redis < UrlScraper Licensed under the Creative Commons Attribution-ShareAlike License 4.0. HTML - def get_latest_version(options, &block) - fetch('http://download.redis.io/redis-stable/00-RELEASENOTES', options) do |body| - body = body.lines[1..-1].join - block.call body.scan(/Redis ([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + body = fetch('http://download.redis.io/redis-stable/00-RELEASENOTES', opts) + body = body.lines[1..-1].join + body.scan(/Redis ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/redux.rb b/lib/docs/scrapers/redux.rb index 09738bb397..14f8e8b4eb 100644 --- a/lib/docs/scrapers/redux.rb +++ b/lib/docs/scrapers/redux.rb @@ -21,8 +21,8 @@ class Redux < UrlScraper request_one('http://redux.js.org/index.html').body end - def get_latest_version(options, &block) - get_npm_version('redux', options, &block) + def get_latest_version(opts) + get_npm_version('redux', opts) end end end diff --git a/lib/docs/scrapers/relay.rb b/lib/docs/scrapers/relay.rb index 90423ac6e3..807d6e1d55 100644 --- a/lib/docs/scrapers/relay.rb +++ b/lib/docs/scrapers/relay.rb @@ -19,10 +19,9 @@ class Relay < UrlScraper Licensed under the BSD License. HTML - def get_latest_version(options, &block) - fetch_doc('http://facebook.github.io/relay/en/', options) do |doc| - block.call doc.at_css('header > a > h3').content[1..-1] - end + def get_latest_version(opts) + doc = fetch_doc('http://facebook.github.io/relay/en/', opts) + doc.at_css('header > a > h3').content[1..-1] end end end diff --git a/lib/docs/scrapers/requirejs.rb b/lib/docs/scrapers/requirejs.rb index cf417a3ef7..80ecc722f9 100644 --- a/lib/docs/scrapers/requirejs.rb +++ b/lib/docs/scrapers/requirejs.rb @@ -31,8 +31,8 @@ class Requirejs < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('requirejs', options, &block) + def get_latest_version(opts) + get_npm_version('requirejs', opts) end end end diff --git a/lib/docs/scrapers/rethinkdb.rb b/lib/docs/scrapers/rethinkdb.rb index 27d913e08f..3a6b87cf3e 100644 --- a/lib/docs/scrapers/rethinkdb.rb +++ b/lib/docs/scrapers/rethinkdb.rb @@ -58,10 +58,8 @@ class Rethinkdb < UrlScraper CODE end - def get_latest_version(options, &block) - get_latest_github_release('rethinkdb', 'rethinkdb', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('rethinkdb', 'rethinkdb', opts)['tag_name'][1..-1] end private diff --git a/lib/docs/scrapers/rust.rb b/lib/docs/scrapers/rust.rb index 7c8d15196b..635afc1c5c 100644 --- a/lib/docs/scrapers/rust.rb +++ b/lib/docs/scrapers/rust.rb @@ -39,11 +39,10 @@ class Rust < UrlScraper Licensed under the Apache License, Version 2.0 or the MIT license, at your option. HTML - def get_latest_version(options, &block) - fetch_doc('https://www.rust-lang.org/', options) do |doc| - label = doc.at_css('.button-download + p > a').content - block.call label.sub(/Version /, '') - end + def get_latest_version(opts) + doc = fetch_doc('https://www.rust-lang.org/', opts) + label = doc.at_css('.button-download + p > a').content + label.sub(/Version /, '') end private diff --git a/lib/docs/scrapers/sass.rb b/lib/docs/scrapers/sass.rb index f493289bf7..228a533773 100644 --- a/lib/docs/scrapers/sass.rb +++ b/lib/docs/scrapers/sass.rb @@ -24,10 +24,8 @@ class Sass < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_github_file_contents('sass', 'sass', 'VERSION', options) do |contents| - block.call contents.strip - end + def get_latest_version(opts) + get_github_file_contents('sass', 'sass', 'VERSION', opts).strip end end end diff --git a/lib/docs/scrapers/scikit_image.rb b/lib/docs/scrapers/scikit_image.rb index 3c454bcb59..a595958198 100644 --- a/lib/docs/scrapers/scikit_image.rb +++ b/lib/docs/scrapers/scikit_image.rb @@ -21,10 +21,9 @@ class ScikitImage < UrlScraper Licensed under the BSD 3-clause License. HTML - def get_latest_version(options, &block) - get_github_tags('scikit-image', 'scikit-image', options) do |tags| - block.call tags[0]['name'][1..-1] - end + def get_latest_version(opts) + tags = get_github_tags('scikit-image', 'scikit-image', opts) + tags[0]['name'][1..-1] end end end diff --git a/lib/docs/scrapers/scikit_learn.rb b/lib/docs/scrapers/scikit_learn.rb index 0d7fc90d0f..973c9d7e54 100644 --- a/lib/docs/scrapers/scikit_learn.rb +++ b/lib/docs/scrapers/scikit_learn.rb @@ -25,11 +25,9 @@ class ScikitLearn < UrlScraper Licensed under the 3-clause BSD License. HTML - def get_latest_version(options, &block) - fetch_doc('https://scikit-learn.org/stable/documentation.html', options) do |doc| - label = doc.at_css('.body h1').content - block.call label.scan(/([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://scikit-learn.org/stable/documentation.html', opts) + doc.at_css('.body h1').content.scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/sinon.rb b/lib/docs/scrapers/sinon.rb index a1bd06cc9a..632348dcd8 100644 --- a/lib/docs/scrapers/sinon.rb +++ b/lib/docs/scrapers/sinon.rb @@ -53,10 +53,9 @@ class Sinon < UrlScraper self.base_url = "https://sinonjs.org/releases/v#{release}/" end - def get_latest_version(options, &block) - fetch('https://sinonjs.org/', options) do |body| - block.call body.scan(/\/releases\/v([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + body = fetch('https://sinonjs.org/', opts) + body.scan(/\/releases\/v([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/socketio.rb b/lib/docs/scrapers/socketio.rb index 8518ff5397..e9bc264ae2 100644 --- a/lib/docs/scrapers/socketio.rb +++ b/lib/docs/scrapers/socketio.rb @@ -21,8 +21,8 @@ class Socketio < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - get_npm_version('socket.io', options, &block) + def get_latest_version(opts) + get_npm_version('socket.io', opts) end end end diff --git a/lib/docs/scrapers/sqlite.rb b/lib/docs/scrapers/sqlite.rb index 27720111e4..d3a5fa6b37 100644 --- a/lib/docs/scrapers/sqlite.rb +++ b/lib/docs/scrapers/sqlite.rb @@ -41,10 +41,9 @@ class Sqlite < FileScraper options[:attribution] = 'SQLite is in the Public Domain.' - def get_latest_version(options, &block) - fetch_doc('https://sqlite.org/chronology.html', options) do |doc| - block.call doc.at_css('#chrontab > tbody > tr > td:last-child > a').content - end + def get_latest_version(opts) + doc = fetch_doc('https://sqlite.org/chronology.html', opts) + doc.at_css('#chrontab > tbody > tr > td:last-child > a').content end private diff --git a/lib/docs/scrapers/statsmodels.rb b/lib/docs/scrapers/statsmodels.rb index 0c9bfd06c9..db2eacb262 100644 --- a/lib/docs/scrapers/statsmodels.rb +++ b/lib/docs/scrapers/statsmodels.rb @@ -21,10 +21,9 @@ class Statsmodels < UrlScraper Licensed under the 3-clause BSD License. HTML - def get_latest_version(options, &block) - fetch_doc('http://www.statsmodels.org/stable/', options) do |doc| - block.call doc.at_css('.sphinxsidebarwrapper h3 + p > b').content - end + def get_latest_version(opts) + doc = fetch_doc('http://www.statsmodels.org/stable/', opts) + doc.at_css('.sphinxsidebarwrapper h3 + p > b').content end end end diff --git a/lib/docs/scrapers/support_tables.rb b/lib/docs/scrapers/support_tables.rb index 90cd7f4fa2..d04072daf9 100644 --- a/lib/docs/scrapers/support_tables.rb +++ b/lib/docs/scrapers/support_tables.rb @@ -179,11 +179,10 @@ def support_to_note_indicators(support) HTML - def get_latest_version(options, &block) - fetch('https://feeds.feedburner.com/WhenCanIUse?format=xml', options) do |body| - timestamp = body.scan(/([^<]+)<\/updated>/)[0][0] - block.call DateTime.parse(timestamp).to_time.to_i - end + def get_latest_version(opts) + body = fetch('https://feeds.feedburner.com/WhenCanIUse?format=xml', opts) + timestamp = body.scan(/([^<]+)<\/updated>/)[0][0] + DateTime.parse(timestamp).to_time.to_i end end end diff --git a/lib/docs/scrapers/symfony.rb b/lib/docs/scrapers/symfony.rb index acd105daec..439456f064 100644 --- a/lib/docs/scrapers/symfony.rb +++ b/lib/docs/scrapers/symfony.rb @@ -71,10 +71,8 @@ class Symfony < UrlScraper self.base_url = "https://api.symfony.com/#{version}/" end - def get_latest_version(options, &block) - get_latest_github_release('symfony', 'symfony', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('symfony', 'symfony', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/tcl_tk.rb b/lib/docs/scrapers/tcl_tk.rb index 3dcc5765a3..bca840c609 100644 --- a/lib/docs/scrapers/tcl_tk.rb +++ b/lib/docs/scrapers/tcl_tk.rb @@ -26,11 +26,9 @@ class TclTk < UrlScraper Licensed under Tcl/Tk terms HTML - def get_latest_version(options, &block) - fetch_doc('https://www.tcl.tk/man/tcl/contents.htm', options) do |doc| - label = doc.at_css('h2').content - block.call label.scan(/Tk([0-9.]+)/)[0][0] - end + def get_latest_version(opts) + doc = fetch_doc('https://www.tcl.tk/man/tcl/contents.htm', opts) + doc.at_css('h2').content.scan(/Tk([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/tensorflow.rb b/lib/docs/scrapers/tensorflow.rb index dfd898757c..8ac1ca65fe 100644 --- a/lib/docs/scrapers/tensorflow.rb +++ b/lib/docs/scrapers/tensorflow.rb @@ -56,10 +56,8 @@ class Tensorflow < UrlScraper /\Aextend/] end - def get_latest_version(options, &block) - get_latest_github_release('tensorflow', 'tensorflow', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('tensorflow', 'tensorflow', opts)['tag_name'][1..-1] end private diff --git a/lib/docs/scrapers/terraform.rb b/lib/docs/scrapers/terraform.rb index 73d47e86e0..0965ad069e 100644 --- a/lib/docs/scrapers/terraform.rb +++ b/lib/docs/scrapers/terraform.rb @@ -19,10 +19,9 @@ class Terraform < UrlScraper Licensed under the MPL 2.0 License. HTML - def get_latest_version(options, &block) - get_github_file_contents('hashicorp', 'terraform-website', 'content/config.rb', options) do |contents| - block.call contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] - end + def get_latest_version(opts) + contents = get_github_file_contents('hashicorp', 'terraform-website', 'content/config.rb', opts) + contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] end end end diff --git a/lib/docs/scrapers/twig.rb b/lib/docs/scrapers/twig.rb index 58c7e2ef5f..e52ff6bddb 100755 --- a/lib/docs/scrapers/twig.rb +++ b/lib/docs/scrapers/twig.rb @@ -29,10 +29,9 @@ class Twig < UrlScraper self.base_url = 'https://twig.symfony.com/doc/1.x/' end - def get_latest_version(options, &block) - get_github_tags('twigphp', 'Twig', options) do |tags| - block.call tags[0]['name'][1..-1] - end + def get_latest_version(opts) + tags = get_github_tags('twigphp', 'Twig', opts) + tags[0]['name'][1..-1] end end end diff --git a/lib/docs/scrapers/typescript.rb b/lib/docs/scrapers/typescript.rb index 9e62d6a981..63d1c9afd5 100644 --- a/lib/docs/scrapers/typescript.rb +++ b/lib/docs/scrapers/typescript.rb @@ -25,10 +25,8 @@ class Typescript < UrlScraper Licensed under the Apache License, Version 2.0. HTML - def get_latest_version(options, &block) - get_latest_github_release('Microsoft', 'TypeScript', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('Microsoft', 'TypeScript', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/underscore.rb b/lib/docs/scrapers/underscore.rb index 127dd5d31b..a09b4acbe4 100644 --- a/lib/docs/scrapers/underscore.rb +++ b/lib/docs/scrapers/underscore.rb @@ -21,10 +21,9 @@ class Underscore < UrlScraper Licensed under the MIT License. HTML - def get_latest_version(options, &block) - fetch_doc('https://underscorejs.org/', options) do |doc| - block.call doc.at_css('.version').content[1...-1] - end + def get_latest_version(opts) + doc = fetch_doc('https://underscorejs.org/', opts) + doc.at_css('.version').content[1...-1] end end end diff --git a/lib/docs/scrapers/vagrant.rb b/lib/docs/scrapers/vagrant.rb index 0e89dad108..7400fc8c9f 100644 --- a/lib/docs/scrapers/vagrant.rb +++ b/lib/docs/scrapers/vagrant.rb @@ -19,10 +19,9 @@ class Vagrant < UrlScraper Licensed under the MPL 2.0 License. HTML - def get_latest_version(options, &block) - get_github_file_contents('hashicorp', 'vagrant', 'website/config.rb', options) do |contents| - block.call contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] - end + def get_latest_version(opts) + contents = get_github_file_contents('hashicorp', 'vagrant', 'website/config.rb', opts) + contents.scan(/version\s+=\s+"([0-9.]+)"/)[0][0] end end end diff --git a/lib/docs/scrapers/vue.rb b/lib/docs/scrapers/vue.rb index cbb6b15e3b..db48b898ab 100644 --- a/lib/docs/scrapers/vue.rb +++ b/lib/docs/scrapers/vue.rb @@ -33,10 +33,8 @@ class Vue < UrlScraper self.initial_paths = %w(/api/index.html) end - def get_latest_version(options, &block) - get_latest_github_release('vuejs', 'vue', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('vuejs', 'vue', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/vulkan.rb b/lib/docs/scrapers/vulkan.rb index 111e405f70..da5d696db7 100644 --- a/lib/docs/scrapers/vulkan.rb +++ b/lib/docs/scrapers/vulkan.rb @@ -21,10 +21,9 @@ class Vulkan < UrlScraper Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc. HTML - def get_latest_version(options, &block) - get_github_tags('KhronosGroup', 'Vulkan-Docs', options) do |tags| - block.call tags[0]['name'][1..-1] - end + def get_latest_version(opts) + tags = get_github_tags('KhronosGroup', 'Vulkan-Docs', opts) + tags[0]['name'][1..-1] end end end diff --git a/lib/docs/scrapers/webpack.rb b/lib/docs/scrapers/webpack.rb index 9d7303edcf..7af2cf1169 100644 --- a/lib/docs/scrapers/webpack.rb +++ b/lib/docs/scrapers/webpack.rb @@ -69,8 +69,8 @@ class Webpack < UrlScraper HTML end - def get_latest_version(options, &block) - get_npm_version('webpack', options, &block) + def get_latest_version(opts) + get_npm_version('webpack', opts) end end end diff --git a/lib/docs/scrapers/yarn.rb b/lib/docs/scrapers/yarn.rb index 26f7c0ccc8..d63e7121c2 100644 --- a/lib/docs/scrapers/yarn.rb +++ b/lib/docs/scrapers/yarn.rb @@ -21,10 +21,8 @@ class Yarn < UrlScraper Licensed under the BSD License. HTML - def get_latest_version(options, &block) - get_latest_github_release('yarnpkg', 'yarn', options) do |release| - block.call release['tag_name'][1..-1] - end + def get_latest_version(opts) + get_latest_github_release('yarnpkg', 'yarn', opts)['tag_name'][1..-1] end end end diff --git a/lib/docs/scrapers/yii.rb b/lib/docs/scrapers/yii.rb index 0d087abb8f..b05c5bf710 100755 --- a/lib/docs/scrapers/yii.rb +++ b/lib/docs/scrapers/yii.rb @@ -35,10 +35,8 @@ class Yii < UrlScraper options[:container] = '.grid_9' end - def get_latest_version(options, &block) - get_latest_github_release('yiisoft', 'yii2', options) do |release| - block.call release['tag_name'] - end + def get_latest_version(opts) + get_latest_github_release('yiisoft', 'yii2', opts)['tag_name'] end end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index e684cdbc95..b7e251fbe0 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -62,17 +62,15 @@ class UpdatesCLI < Thor logger.debug("Checking #{doc.name}") instance = doc.versions.first.new + scraper_version = instance.get_scraper_version(opts) + latest_version = instance.get_latest_version(opts) - instance.get_scraper_version(opts) do |scraper_version| - instance.get_latest_version(opts) do |latest_version| - return { - name: doc.name, - scraper_version: format_version(scraper_version), - latest_version: format_version(latest_version), - is_outdated: instance.is_outdated(scraper_version, latest_version) - } - end - end + { + name: doc.name, + scraper_version: format_version(scraper_version), + latest_version: format_version(latest_version), + is_outdated: instance.is_outdated(scraper_version, latest_version) + } rescue NotImplementedError logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented") error_result(doc, '`get_latest_version` is not implemented') @@ -87,7 +85,7 @@ class UpdatesCLI < Thor # If the version is numeric and greater than or equal to 1e9 it's probably a timestamp return str if str.match(/^(\d)+$/).nil? or str.to_i < 1e9 - DateTime.strptime(str, '%s').strftime('%B %-d, %Y') + DateTime.strptime(str, '%s').strftime('%F') end def error_result(doc, reason) @@ -150,46 +148,45 @@ class UpdatesCLI < Thor logger.info('Uploading the results to a new GitHub issue') logger.info('Checking if the GitHub token belongs to the correct user') - github_get('/user') do |user| - # Only allow the DevDocs bot to upload reports - if user['login'] == UPLOAD_USER - issue = results_to_issue(outdated_results, up_to_date_results, failed_results) - - logger.info('Creating a new GitHub issue') - github_post("/repos/#{UPLOAD_REPO}/issues", issue) do |created_issue| - search_params = { - q: "Documentation versions report in:title author:#{UPLOAD_USER} is:issue repo:#{UPLOAD_REPO}", - sort: 'created', - order: 'desc' - } - - logger.info('Checking if the previous issue is still open') - github_get('/search/issues', search_params) do |matching_issues| - previous_issue = matching_issues['items'].find {|item| item['number'] != created_issue['number']} - - if previous_issue.nil? - logger.info('No previous issue found') - log_upload_success(created_issue) - else - comment = "This report was superseded by ##{created_issue['number']}." - - logger.info('Commenting on the previous issue') - github_post("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}/comments", {body: comment}) do |_| - if previous_issue['closed_at'].nil? - logger.info('Closing the previous issue') - github_patch("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}", {state: 'closed'}) do |_| - log_upload_success(created_issue) - end - else - logger.info('The previous issue has already been closed') - log_upload_success(created_issue) - end - end - end - end - end + user = github_get('/user') + + # Only allow the DevDocs bot to upload reports + unless user['login'] == UPLOAD_USER + logger.error("Only #{UPLOAD_USER} is supposed to upload the results to a new issue. The specified github token is not for #{UPLOAD_USER}.") + return + end + + logger.info('Creating a new GitHub issue') + + issue = results_to_issue(outdated_results, up_to_date_results, failed_results) + created_issue = github_post("/repos/#{UPLOAD_REPO}/issues", issue) + + logger.info('Checking if the previous issue is still open') + + search_params = { + q: "Documentation versions report in:title author:#{UPLOAD_USER} is:issue repo:#{UPLOAD_REPO}", + sort: 'created', + order: 'desc' + } + + matching_issues = github_get('/search/issues', search_params) + previous_issue = matching_issues['items'].find {|item| item['number'] != created_issue['number']} + + if previous_issue.nil? + logger.info('No previous issue found') + log_upload_success(created_issue) + else + logger.info('Commenting on the previous issue') + + comment = "This report was superseded by ##{created_issue['number']}." + github_post("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}/comments", {body: comment}) + if previous_issue['closed_at'].nil? + logger.info('Closing the previous issue') + github_patch("/repos/#{UPLOAD_REPO}/issues/#{previous_issue['number']}", {state: 'closed'}) + log_upload_success(created_issue) else - logger.error("Only #{UPLOAD_USER} is supposed to upload the results to a new issue. The specified github token is not for #{UPLOAD_USER}.") + logger.info('The previous issue has already been closed') + log_upload_success(created_issue) end end end @@ -266,19 +263,19 @@ The #{outdated_results.length + up_to_date_results.length + failed_results.lengt # HTTP utilities # - def github_get(endpoint, params = {}, &block) - github_request(endpoint, {method: :get, params: params}, &block) + def github_get(endpoint, params = {}) + github_request(endpoint, {method: :get, params: params}) end - def github_post(endpoint, params, &block) - github_request(endpoint, {method: :post, body: params.to_json}, &block) + def github_post(endpoint, params) + github_request(endpoint, {method: :post, body: params.to_json}) end - def github_patch(endpoint, params, &block) - github_request(endpoint, {method: :patch, body: params.to_json}, &block) + def github_patch(endpoint, params) + github_request(endpoint, {method: :patch, body: params.to_json}) end - def github_request(endpoint, opts, &block) + def github_request(endpoint, opts) url = "https://api.github.com#{endpoint}" # GitHub token authentication @@ -292,16 +289,15 @@ The #{outdated_results.length + up_to_date_results.length + failed_results.lengt end logger.debug("Making a #{opts[:method]} request to #{url}") - - Docs::Request.run(url, opts) do |response| - # response.success? is false if the response code is 201 - # GitHub returns 201 Created after an issue is created - if response.success? || response.code == 201 - block.call JSON.parse(response.body) - else - logger.error("Couldn't make a #{opts[:method]} request to #{url} (response code #{response.code})") - block.call nil - end + response = Docs::Request.run(url, opts) + + # response.success? is false if the response code is 201 + # GitHub returns 201 Created after an issue is created + if response.success? || response.code == 201 + JSON.parse(response.body) + else + logger.error("Couldn't make a #{opts[:method]} request to #{url} (response code #{response.code})") + nil end end From 227fbfe70f5422e10ebba3c2d82bfa42c8d49335 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 10 Mar 2019 03:26:23 +0100 Subject: [PATCH 0081/2822] Update issue message and issue repository --- lib/tasks/updates.thor | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index b7e251fbe0..66134581bd 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -1,11 +1,9 @@ class UpdatesCLI < Thor # The GitHub user that is allowed to upload reports - # TODO: Update this before creating a PR UPLOAD_USER = 'devdocs-bot' # The repository to create an issue in when uploading the results - # TODO: Update this before creating a PR - UPLOAD_REPO = 'jmerle/devdocs' + UPLOAD_REPO = 'freeCodeCamp/devdocs' def self.to_s 'Updates' @@ -207,7 +205,7 @@ class UpdatesCLI < Thor This is an automatically created issue which contains information about the version status of the documentations available on DevDocs. The results of this report can be used by maintainers when updating outdated documentations. -Maintainers can close this issue when all documentations are up-to-date. This issue is automatically closed when the next report is created.#{travis_str} +Maintainers can close this issue when all documentations are up-to-date. The issue is also automatically closed when the next report is created.#{travis_str} ## Results From 1b35b21dd6021371a3c5b27608d4582a9be188c2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 10 Mar 2019 04:05:14 +0100 Subject: [PATCH 0082/2822] Update contributing.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d1f848bdf2..d1f1f851be 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -61,7 +61,7 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. -To ask that an existing documentation be updated, please use the [Trello board](https://trello.com/c/2B0hmW7M/52-request-updates-here). +To ask that an existing documentation be updated, first check the last two [Documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Aupdated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date for at least 2 reports (a new report is automatically created every month). ## Coding conventions From 11eeadbc0a7a6b098cdf04775e4738b01cbabba5 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 10 Mar 2019 23:15:40 +0100 Subject: [PATCH 0083/2822] Better error handling and added a 15s timeout on HTTP requests --- lib/docs/core/doc.rb | 7 ++++--- lib/tasks/updates.thor | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index 0b913ef6b8..4bdfcf1509 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -223,13 +223,14 @@ def fetch(url, opts) end opts[:logger].debug("Fetching #{url}") - response = Request.run(url, { headers: headers }) + response = Request.run(url, { connecttimeout: 15, headers: headers }) if response.success? response.body else - opts[:logger].error("Couldn't fetch #{url} (response code #{response.code})") - nil + reason = response.timed_out? ? "Timed out while fetching #{url}" : "Couldn't fetch #{url} (response code #{response.code})" + opts[:logger].error(reason) + raise reason end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index 66134581bd..20ef20b2c1 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -72,9 +72,9 @@ class UpdatesCLI < Thor rescue NotImplementedError logger.warn("Couldn't check #{doc.name}, get_latest_version is not implemented") error_result(doc, '`get_latest_version` is not implemented') - rescue - logger.error("Error while checking #{doc.name}") - raise + rescue => error + logger.error("Error while checking #{doc.name}\n#{error.full_message.strip}") + error_result(doc, error.message.gsub(/'/, '`')) end def format_version(version) From 3cb97f71b32ad622b513655372df291b5216ce93 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 11 Mar 2019 10:47:32 +0100 Subject: [PATCH 0084/2822] fetching -> connecting to --- lib/docs/core/doc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index 4bdfcf1509..b50957c53a 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -228,7 +228,7 @@ def fetch(url, opts) if response.success? response.body else - reason = response.timed_out? ? "Timed out while fetching #{url}" : "Couldn't fetch #{url} (response code #{response.code})" + reason = response.timed_out? ? "Timed out while connecting to #{url}" : "Couldn't fetch #{url} (response code #{response.code})" opts[:logger].error(reason) raise reason end From 5e35914d7ea2fdbedadcba7ea0dc767e3ae10a97 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Wed, 20 Mar 2019 08:57:07 -0300 Subject: [PATCH 0085/2822] Clojure: add support for v1.10 --- lib/docs/scrapers/clojure.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index c6bdcdea6a..cc183e7e4a 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -13,9 +13,14 @@ class Clojure < UrlScraper Licensed under the Eclipse Public License 1.0. HTML + version '1.10' do + self.release = '1.10' + self.base_url = 'https://clojure.github.io/clojure/' + end + version '1.9' do self.release = '1.9' - self.base_url = 'https://clojure.github.io/clojure/' + self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.9.0/' end version '1.8' do From 8c80bb8e31d2c591cca1c26dddb6d56b849c46be Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Thu, 21 Mar 2019 04:19:19 -0300 Subject: [PATCH 0086/2822] Clojure: show version status (stable/legacy) --- lib/docs/scrapers/clojure.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index cc183e7e4a..806146a0a7 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -14,22 +14,22 @@ class Clojure < UrlScraper HTML version '1.10' do - self.release = '1.10' + self.release = '1.10 (stable)' self.base_url = 'https://clojure.github.io/clojure/' end version '1.9' do - self.release = '1.9' + self.release = '1.9 (legacy)' self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.9.0/' end version '1.8' do - self.release = '1.8' + self.release = '1.8 (legacy)' self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.8.0/' end version '1.7' do - self.release = '1.7' + self.release = '1.7 (legacy)' self.base_url = 'https://clojure.github.io/clojure/branch-clojure-1.7.0/' end end From 4e315cf306049353b130f199019223893ea54b38 Mon Sep 17 00:00:00 2001 From: Leandro Doctors Date: Thu, 21 Mar 2019 04:21:57 -0300 Subject: [PATCH 0087/2822] Clojure: add support for latest development branch Currently 1.11 --- lib/docs/scrapers/clojure.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index 806146a0a7..6389f566e0 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -13,6 +13,11 @@ class Clojure < UrlScraper Licensed under the Eclipse Public License 1.0. HTML + version '(current master)' do + self.release = '1.11 (in development)' + self.base_url = 'https://clojure.github.io/clojure/branch-master/' + end + version '1.10' do self.release = '1.10 (stable)' self.base_url = 'https://clojure.github.io/clojure/' From 935b36dbb0e73ce0a81f2a43a7c667365308ba7b Mon Sep 17 00:00:00 2001 From: Francisco Zavala Date: Tue, 16 Apr 2019 21:22:46 -0500 Subject: [PATCH 0088/2822] Fixed place 'Added in' in header --- lib/docs/filters/ramda/clean_html.rb | 2 +- lib/docs/scrapers/ramda.rb | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/docs/filters/ramda/clean_html.rb b/lib/docs/filters/ramda/clean_html.rb index fd9158f5c9..cd69a2ef37 100644 --- a/lib/docs/filters/ramda/clean_html.rb +++ b/lib/docs/filters/ramda/clean_html.rb @@ -11,7 +11,7 @@ def call css('.card').each do |card| title = card.at_css('h2') added_in = card.at_css('small') - added_in.parent = title + added_in.parent = title if added_in.present? end css('.params').each do |node| diff --git a/lib/docs/scrapers/ramda.rb b/lib/docs/scrapers/ramda.rb index 09ff46c87b..450ae48184 100644 --- a/lib/docs/scrapers/ramda.rb +++ b/lib/docs/scrapers/ramda.rb @@ -1,7 +1,7 @@ module Docs class Ramda < UrlScraper self.type = 'ramda' - self.release = '0.25.0' + self.release = '0.26.1' self.base_url = "http://ramdajs.com/#{release}/docs/" self.links = { home: 'http://ramdajs.com/', @@ -17,4 +17,3 @@ class Ramda < UrlScraper HTML end end - From cda737ceec8992a1af0307b7f80278a1d6af7125 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Fri, 26 Apr 2019 20:04:13 +1000 Subject: [PATCH 0089/2822] basic scrapping working --- .gitignore | 1 + lib/docs/filters/trio/clean_html.rb | 21 +++++++++ lib/docs/filters/trio/entries.rb | 21 +++++++++ lib/docs/scrapers/trio.rb | 24 ++++++++++ public/docs/docs.json | 70 ++++++++++++++++++++++++++++- 5 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 lib/docs/filters/trio/clean_html.rb create mode 100644 lib/docs/filters/trio/entries.rb create mode 100644 lib/docs/scrapers/trio.rb diff --git a/.gitignore b/.gitignore index 1060fcf0c7..27f04dd497 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ public/fonts public/docs/**/* docs/**/* !docs/*.md +vendor diff --git a/lib/docs/filters/trio/clean_html.rb b/lib/docs/filters/trio/clean_html.rb new file mode 100644 index 0000000000..5c2ef228e4 --- /dev/null +++ b/lib/docs/filters/trio/clean_html.rb @@ -0,0 +1,21 @@ +module Docs + class Trio + class CleanHtmlFilter < Filter + def call + @doc = at_css('div[role="main"]') + css('.section, [itemprop=articleBody]').each do |node| + node.replace node.children + end + + css('.headerlink').remove + + css('dt').each do |node| + new_node = doc.document.create_element "h3" + new_node.content = node.inner_text[0...-1] + node.replace new_node + end + doc + end + end + end +end diff --git a/lib/docs/filters/trio/entries.rb b/lib/docs/filters/trio/entries.rb new file mode 100644 index 0000000000..64387d6e9c --- /dev/null +++ b/lib/docs/filters/trio/entries.rb @@ -0,0 +1,21 @@ +module Docs + class Trio + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').text[0...-1] + end + + def get_type + at_css('h1').text[0...-1] + end + + def additional_entries + css('.descname').each_with_object [] do |node, entries| + name = node.previous.text + node.text + id = node.parent['id'] + entries << [name, id] + end + end + end + end +end diff --git a/lib/docs/scrapers/trio.rb b/lib/docs/scrapers/trio.rb new file mode 100644 index 0000000000..cf90f77d79 --- /dev/null +++ b/lib/docs/scrapers/trio.rb @@ -0,0 +1,24 @@ +module Docs + class Trio < UrlScraper + self.type = 'simple' + self.release = '0.11' + self.base_url = 'https://trio.readthedocs.io/en/latest/' + self.root_path = 'index.html' + self.links = { + home: 'https://trio.readthedocs.io/', + code: 'https://github.com/python-trio/trio' + } + + html_filters.push 'trio/entries', 'trio/clean_html' + + options[:attribution] = <<-HTML + HTML + options[:only_patterns] = [ + /reference-core/, + /reference-io/, + /reference-testing/, + /reference-hazmat/, + ] + + end +end diff --git a/public/docs/docs.json b/public/docs/docs.json index 0637a088a0..eff8727c46 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -1 +1,69 @@ -[] \ No newline at end of file +[ + { + "name": "Chef", + "slug": "chef~12", + "type": "sphinx_simple", + "links": { + "home": "https://www.chef.io/", + "code": "https://github.com/chef/chef" + }, + "version": "12", + "release": "12.13", + "mtime": 1556264506, + "db_size": 7170006 + }, + { + "name": "CSS", + "slug": "css", + "type": "mdn", + "mtime": 1543099045, + "db_size": 12415944 + }, + { + "name": "DOM", + "slug": "dom", + "type": "mdn", + "mtime": 1543157862, + "db_size": 33998524 + }, + { + "name": "DOM Events", + "slug": "dom_events", + "type": "mdn", + "mtime": 1543099589, + "db_size": 1752500 + }, + { + "name": "HTML", + "slug": "html", + "type": "mdn", + "mtime": 1543097764, + "db_size": 4141596 + }, + { + "name": "HTTP", + "slug": "http", + "type": "mdn", + "mtime": 1543099392, + "db_size": 4731727 + }, + { + "name": "JavaScript", + "slug": "javascript", + "type": "mdn", + "mtime": 1543098529, + "db_size": 6462141 + }, + { + "name": "Trio", + "slug": "trio", + "type": "simple", + "links": { + "home": "https://trio.readthedocs.io/", + "code": "https://github.com/python-trio/trio" + }, + "release": "0.11", + "mtime": 1556272773, + "db_size": 736670 + } +] \ No newline at end of file From 09e47c49f1c9c3b67d2a93c90a8c7ef28208e319 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Fri, 26 Apr 2019 20:43:31 +1000 Subject: [PATCH 0090/2822] improve titles and pre --- Gemfile | 2 +- lib/docs/filters/trio/clean_html.rb | 18 ++++++++++++++++-- lib/docs/filters/trio/entries.rb | 23 ++++++++++++++++++++++- public/docs/docs.json | 4 ++-- 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 31b57064fc..da6e8ba076 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' -ruby '2.6.0' +ruby '2.6.2' gem 'rake' gem 'thor' diff --git a/lib/docs/filters/trio/clean_html.rb b/lib/docs/filters/trio/clean_html.rb index 5c2ef228e4..3d3517c27b 100644 --- a/lib/docs/filters/trio/clean_html.rb +++ b/lib/docs/filters/trio/clean_html.rb @@ -10,10 +10,24 @@ def call css('.headerlink').remove css('dt').each do |node| - new_node = doc.document.create_element "h3" - new_node.content = node.inner_text[0...-1] + if node.parent.classes.include? 'class' + new_node = doc.document.create_element 'h2' + else + new_node = doc.document.create_element "h3" + end + new_node['id'] = node['id'] + new_node.content = node.inner_text node.replace new_node end + + css('pre').each do |node| + classes = node.parent.parent.classes + if classes.include? 'highlight-python3' + node['class'] = 'language-python' + node['data-language'] = 'python' + end + node.parent.parent.replace(node) + end doc end end diff --git a/lib/docs/filters/trio/entries.rb b/lib/docs/filters/trio/entries.rb index 64387d6e9c..7bd7e1240c 100644 --- a/lib/docs/filters/trio/entries.rb +++ b/lib/docs/filters/trio/entries.rb @@ -11,7 +11,28 @@ def get_type def additional_entries css('.descname').each_with_object [] do |node, entries| - name = node.previous.text + node.text + + name = node.text + if node.previous.classes.include? 'descclassname' + name = node.previous.text + name + end + name.strip! + + dl = node.parent.parent + + if dl.classes.include?('attribute') or dl.classes.include?('method') + parent = dl.parent.previous_element + cls = '' + if n = parent.at_css('.descname') + if n.text == "The nursery interface" + cls += "Nursery." + else + cls += n.text + '.' + end + end + name = cls + name + end + id = node.parent['id'] entries << [name, id] end diff --git a/public/docs/docs.json b/public/docs/docs.json index eff8727c46..ce43dbf302 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -63,7 +63,7 @@ "code": "https://github.com/python-trio/trio" }, "release": "0.11", - "mtime": 1556272773, - "db_size": 736670 + "mtime": 1556275385, + "db_size": 746040 } ] \ No newline at end of file From 94b50f3cc303c2c3d1da72bd4c13e875f1347783 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Fri, 26 Apr 2019 21:56:05 +1000 Subject: [PATCH 0091/2822] improve entries and display of parameters --- lib/docs/filters/trio/clean_html.rb | 31 +++++++++++++++++++++++------ lib/docs/filters/trio/entries.rb | 7 ++++++- public/docs/docs.json | 4 ++-- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/lib/docs/filters/trio/clean_html.rb b/lib/docs/filters/trio/clean_html.rb index 3d3517c27b..17542601e6 100644 --- a/lib/docs/filters/trio/clean_html.rb +++ b/lib/docs/filters/trio/clean_html.rb @@ -10,14 +10,24 @@ def call css('.headerlink').remove css('dt').each do |node| - if node.parent.classes.include? 'class' - new_node = doc.document.create_element 'h2' + node.name = 'h3' + if node.parent.classes.include? 'field-list' + node.name = 'h4' + node['style'] = 'margin: 0' + if node.text == 'Parameters' or node.text == 'Raises' + node.next_element.css('strong').each do |n| + n.name = 'code' + end + end else - new_node = doc.document.create_element "h3" + code = doc.document.create_element 'code' + if em = node.at_css('.property') + code.inner_html = "#{em.text.strip} " + em.remove + end + code.inner_html += node.inner_text.strip + node.inner_html = code end - new_node['id'] = node['id'] - new_node.content = node.inner_text - node.replace new_node end css('pre').each do |node| @@ -28,6 +38,15 @@ def call end node.parent.parent.replace(node) end + + css('.admonition').each do |node| + node.name = 'blockquote' + node.at_css('.admonition-title').name = 'h4' + # new_node = node.document.create_element 'blockquote' + # new_node.inner_html = node.inner_html + # node.replace new_node + end + doc end end diff --git a/lib/docs/filters/trio/entries.rb b/lib/docs/filters/trio/entries.rb index 7bd7e1240c..bb5207f045 100644 --- a/lib/docs/filters/trio/entries.rb +++ b/lib/docs/filters/trio/entries.rb @@ -20,9 +20,14 @@ def additional_entries dl = node.parent.parent - if dl.classes.include?('attribute') or dl.classes.include?('method') + if dl.classes.include?('attribute') \ + or dl.classes.include?('method') \ + or dl.classes.include?('data') parent = dl.parent.previous_element cls = '' + if n = parent.at_css('.descclassname') + cls += n.text + end if n = parent.at_css('.descname') if n.text == "The nursery interface" cls += "Nursery." diff --git a/public/docs/docs.json b/public/docs/docs.json index ce43dbf302..df09fc48f9 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -63,7 +63,7 @@ "code": "https://github.com/python-trio/trio" }, "release": "0.11", - "mtime": 1556275385, - "db_size": 746040 + "mtime": 1556279513, + "db_size": 757201 } ] \ No newline at end of file From 65c222011551e4fb0e35d8b966934c80e48255c8 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sat, 27 Apr 2019 10:56:43 +1000 Subject: [PATCH 0092/2822] clean up entries.rb --- lib/docs/filters/trio/entries.rb | 3 +-- public/docs/docs.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/docs/filters/trio/entries.rb b/lib/docs/filters/trio/entries.rb index bb5207f045..4ee6aab1fd 100644 --- a/lib/docs/filters/trio/entries.rb +++ b/lib/docs/filters/trio/entries.rb @@ -38,8 +38,7 @@ def additional_entries name = cls + name end - id = node.parent['id'] - entries << [name, id] + entries << [name, node.parent['id']] end end end diff --git a/public/docs/docs.json b/public/docs/docs.json index df09fc48f9..e27f82eedc 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -63,7 +63,7 @@ "code": "https://github.com/python-trio/trio" }, "release": "0.11", - "mtime": 1556279513, + "mtime": 1556326478, "db_size": 757201 } ] \ No newline at end of file From 409f2c2332d73647ad7bb5f8ca6b19ea080267eb Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 28 Apr 2019 08:05:52 +1000 Subject: [PATCH 0093/2822] add attributions for trio --- lib/docs/scrapers/trio.rb | 7 +++++-- public/docs/docs.json | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/docs/scrapers/trio.rb b/lib/docs/scrapers/trio.rb index cf90f77d79..041d6564b3 100644 --- a/lib/docs/scrapers/trio.rb +++ b/lib/docs/scrapers/trio.rb @@ -11,8 +11,6 @@ class Trio < UrlScraper html_filters.push 'trio/entries', 'trio/clean_html' - options[:attribution] = <<-HTML - HTML options[:only_patterns] = [ /reference-core/, /reference-io/, @@ -20,5 +18,10 @@ class Trio < UrlScraper /reference-hazmat/, ] + options[:attribution] = <<-HTML + © 2017-2019 Nathaniel Smith
    + Licensed under MIT and Apache2. + HTML + end end diff --git a/public/docs/docs.json b/public/docs/docs.json index e27f82eedc..039aa7c2de 100644 --- a/public/docs/docs.json +++ b/public/docs/docs.json @@ -63,7 +63,7 @@ "code": "https://github.com/python-trio/trio" }, "release": "0.11", - "mtime": 1556326478, - "db_size": 757201 + "mtime": 1556402796, + "db_size": 757536 } ] \ No newline at end of file From 383459c8b4519fcb67a9cbaaf613e38436cfc418 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 28 Apr 2019 09:10:01 +1000 Subject: [PATCH 0094/2822] add trio icons --- public/icons/docs/trio/16.png | Bin 0 -> 794 bytes public/icons/docs/trio/16@2.png | Bin 0 -> 1805 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/icons/docs/trio/16.png create mode 100644 public/icons/docs/trio/16@2.png diff --git a/public/icons/docs/trio/16.png b/public/icons/docs/trio/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f1fbc1faa4bc52af5a5d8070453a3bc2a4422224 GIT binary patch literal 794 zcmV+#1LgdQP)Alu;1J|1;H~LE*5k%ilVn(qV0xJW=e^H5u^}CNJY@aLhG&2hrsUHrt5w)(}Qk>XajSe ze*Zah=FFe)pIBB|yN1{mv2%TnTubZ84NU;qzYL8gj_kS;ah~^>**RhcGs7`G2xQF0 zw$p`Q(;SahfS~hL)u{?pB~Voyk2NhBpV9kd#j)EH)0{V4xOmUCGb*wz5V=4m?_oBJ z3`ruiA9=WXwt{>KSt!lBf5p*#*Eg8i88h|GG^&A|19J|592lmn(0$Wj-J??_JtIGX zPz*De0Yk@*vFtB5l~z@Onid-PW%NMZ(vb@o<`0h8ej1?yz?Yw?M6UG*t3<3?MIa(! z3xbx#`)=d|0IxXKm=`;Et9#l0`b}oY9_pa(#o2A=VOFY&na?hkrJhge+Nvs@rUF$R zN2XN(;AQczHEVNU|ETZG-PtER%>aPxDFCEc+cSaCg7SEY_8_c~Fl=ZO)FuG{_h~4v z`Q5zi0dbSf%!e6Ns3X5TzS38B<=MII4~)2%lp<#KNmbseNUcID0DzMz)}F+Ksj3tn z9D|u!e}9;{uE8qV^DlXxpKzX6%`+6wN)XpTAQC`CI(1;6 zA5060sG1zVA<$|N6%a8K5&kBh^@3k|l|$HXu-St@DYw}3sxSy`A^rn{h(3czh$x$g z0dRrOY@n42@y$w$fX@eGy`j literal 0 HcmV?d00001 diff --git a/public/icons/docs/trio/16@2.png b/public/icons/docs/trio/16@2.png new file mode 100644 index 0000000000000000000000000000000000000000..afc8808184c47bde5366ae395d4e5a56bcff8056 GIT binary patch literal 1805 zcmV+o2lDudP)RFRt&*-pi=$xNRLuOt7M-{VSdg_Y{DUqT0R|Il z`DlC3`|OYV(O*mHfU%Q%?=SZ~=e*DJex2WYi2q@fMLQyX;OOnL;3h|&jyQI|S6}hP zrRd=0g3np;%DtppPjWIykOb-A$o+J9`KzNRn)WtV5B^^W6hF1OlyIFS1CmG)a7iKr zoI6P1hdb*kc8{gYT@C^B_6x}Z$sidZK@w!4ueX~e`^&u5uRnCf2>_U)B&dWWk+AFs zQ}_J4`R=y#j9_3x*_v%nTu}modPV|D>XXcpWTsqw2LQPM{s!<%K&5NmU!=@PZ1Aj4&m{%H z-3*{}r2b$m@Umz}M15!f4B-JuS&(u8TVO&SfIk47pIn>B=6nD-fEpnFYrukA0h|S} zF36bpo6kF2?UFpu-*3x4I&R`WXLL1GmjSFvES#0xvbVYV__=Fx7s+f#%KGqO z1-sQ-X3Kd5N~7CvoVR*gPw6vTKPp|dr8uEDf5_PhPY{ir(P#_+_HA7D0-&7$ZwxE! zj#dt&r}chMvQI}#PRJ@so_clOFanVneqL?z!!U)tB;3)4!l@> z0KkTk1ZFO4N|SWYu$Pk!k%8=*+O2sW{-!PEzt1|=pN0F{mqNk>027cf91vjY z83|PQSVMU_BRw-7YkW??G(rNH<)NvN^5f?tLAbaR4FCZTew-rU)6>4;&1W_4E5*rk znUX+=lORhar~rWcEM#GU4{Vdbf>uD$nbv=!Mnx;SAd?#TGAy)`!ykzMF z4+-ud6?<#;@b95ASWh8}y(1K)V1;BJgI{#^vQB z!xA2M{B+YTW~d-|7m06z_&UKaMYQBj!0OKEkIzLcz%luhqm#}nNVzZW0`GGDe(Tkn z04Bx7+&&uU%wOdf8-# z&>`Wo*eRtE%sGZ-$^9oB0PI}* zz;3~!A?#2Ip~aDtL!09Le;6o5C=L*xqj%1|OS(_!m`{f19O!s7E&JL%sapSV?f2^l zs{-_ogy<}!hLh@h9CX>_`9N`xoG0@n+dx-GxLjkqYGlAUQCLgd}aLg zN77HXw^w=qxZ`InWdu5saZM#+@)?io0La(GV6CIoL9ED58$9C`qz_so5~>0K{L=^N z-S;CJwTr$P71gxX5UdA~$>B+L0N}P5BF(#>t2{ENc1wu^KMb7ucT~QVarE>!JpA^O z5V(8wM4DgP9jzPyE}|_@j*r(pw617XYikg5vmiG~(qW1{yPjV%>@pgmD-Z#ZY5R^% ziXA_bBRZD`@i4%Z@7Leo1~8Rimwh?C(3rbw>r{~YNk%{oWCYsPZ^27BC$qM{v;Lm` vk?XHG0RULA=Jn~4zX}oU>5NwPjkWeaRYIemAL3r700000NkvXXu0mjf?}1uy literal 0 HcmV?d00001 From 46f7a32522fc2d0c4ebf3a63fef106841abf453b Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 28 Apr 2019 09:16:14 +1000 Subject: [PATCH 0095/2822] add trio SOURCE icon --- public/icons/docs/trio/SOURCE | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/icons/docs/trio/SOURCE diff --git a/public/icons/docs/trio/SOURCE b/public/icons/docs/trio/SOURCE new file mode 100644 index 0000000000..52a2abeacb --- /dev/null +++ b/public/icons/docs/trio/SOURCE @@ -0,0 +1 @@ +https://github.com/python-trio/trio/blob/37de153f858e29df3a19db9fffcd0fb3f2308951/logo/logo-transparent-no-text.svg From 32a83f3e447648cbe84cc9fb074ef39a9edb226b Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 28 Apr 2019 09:26:23 +1000 Subject: [PATCH 0096/2822] fix attribution --- lib/docs/scrapers/trio.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/trio.rb b/lib/docs/scrapers/trio.rb index 041d6564b3..8eb7cd269f 100644 --- a/lib/docs/scrapers/trio.rb +++ b/lib/docs/scrapers/trio.rb @@ -19,7 +19,7 @@ class Trio < UrlScraper ] options[:attribution] = <<-HTML - © 2017-2019 Nathaniel Smith
    + © 2017-2019 Nathaniel J. Smith
    Licensed under MIT and Apache2. HTML From 737369cf09592e94a850bfc13b44a4810f7a3d16 Mon Sep 17 00:00:00 2001 From: Mathieu PATUREL Date: Sun, 28 Apr 2019 16:46:10 +1000 Subject: [PATCH 0097/2822] fix gemfile i changed it manually earlier because I have 2.6.2 install on my machine --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index da6e8ba076..31b57064fc 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' -ruby '2.6.2' +ruby '2.6.0' gem 'rake' gem 'thor' From b45090f369bc8fa7681237eca0def4c730f5f5a2 Mon Sep 17 00:00:00 2001 From: Emil Maruszczak Date: Mon, 29 Apr 2019 00:57:50 +0200 Subject: [PATCH 0098/2822] Add Mkdocs abstract scraper --- assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_mkdocs.scss | 15 +++++++++++++++ lib/docs/filters/mkdocs/clean_html.rb | 18 ++++++++++++++++++ lib/docs/scrapers/mkdocs.rb | 5 +++++ 4 files changed, 39 insertions(+) create mode 100644 assets/stylesheets/pages/_mkdocs.scss create mode 100644 lib/docs/filters/mkdocs/clean_html.rb create mode 100644 lib/docs/scrapers/mkdocs.rb diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 2a64e5c97d..d2005cb2cb 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -71,6 +71,7 @@ 'pages/lua', 'pages/mdn', 'pages/meteor', + 'pages/mkdocs', 'pages/modernizr', 'pages/moment', 'pages/nginx', diff --git a/assets/stylesheets/pages/_mkdocs.scss b/assets/stylesheets/pages/_mkdocs.scss new file mode 100644 index 0000000000..e70ff66cad --- /dev/null +++ b/assets/stylesheets/pages/_mkdocs.scss @@ -0,0 +1,15 @@ +%mkdocs { + h2 { @extend %block-heading; } + h3 { @extend %block-label, %label-blue; } + h4 { @extend %block-label; } + + blockquote { @extend %note; } + + strong { font-weight: var(--bolderFontWeight); } + + p > code, li > code { @extend %label; } +} + +._mkdocs { + @extend %mkdocs; +} diff --git a/lib/docs/filters/mkdocs/clean_html.rb b/lib/docs/filters/mkdocs/clean_html.rb new file mode 100644 index 0000000000..c346d23e48 --- /dev/null +++ b/lib/docs/filters/mkdocs/clean_html.rb @@ -0,0 +1,18 @@ +module Docs + class Mkdocs + class CleanHtmlFilter < Docs::Filter + def call + css('.toclink').each do |node| + node.parent.content = node.content + node.remove + end + + css('pre').each do |node| + node.content = node.at_css('code').content + end + + at_css('#main-content') + end + end + end +end diff --git a/lib/docs/scrapers/mkdocs.rb b/lib/docs/scrapers/mkdocs.rb new file mode 100644 index 0000000000..c0f5d5e59e --- /dev/null +++ b/lib/docs/scrapers/mkdocs.rb @@ -0,0 +1,5 @@ +module Docs + class Mkdocs < Scraper + self.abstract = true + end +end From 14623be6285120a78c9d4f33cd831e48600efa6f Mon Sep 17 00:00:00 2001 From: Emil Maruszczak Date: Mon, 29 Apr 2019 01:02:25 +0200 Subject: [PATCH 0099/2822] Add Django Rest Framework scrapper --- lib/docs/filters/rest_framework/clean_html.rb | 36 +++++++++++ lib/docs/filters/rest_framework/entries.rb | 60 ++++++++++++++++++ lib/docs/scrapers/rest_framework.rb | 37 +++++++++++ public/icons/docs/rest_framework/16.png | Bin 0 -> 1166 bytes public/icons/docs/rest_framework/16@2x.png | Bin 0 -> 4254 bytes public/icons/docs/rest_framework/SOURCE | 1 + 6 files changed, 134 insertions(+) create mode 100644 lib/docs/filters/rest_framework/clean_html.rb create mode 100644 lib/docs/filters/rest_framework/entries.rb create mode 100644 lib/docs/scrapers/rest_framework.rb create mode 100644 public/icons/docs/rest_framework/16.png create mode 100644 public/icons/docs/rest_framework/16@2x.png create mode 100644 public/icons/docs/rest_framework/SOURCE diff --git a/lib/docs/filters/rest_framework/clean_html.rb b/lib/docs/filters/rest_framework/clean_html.rb new file mode 100644 index 0000000000..007b33b247 --- /dev/null +++ b/lib/docs/filters/rest_framework/clean_html.rb @@ -0,0 +1,36 @@ +module Docs + class RestFramework + class CleanHtmlFilter < Docs::Filter + def call + css('hr').remove + + css('.badges').each do |node| + node.remove + end + + css('pre').each do |node| + node['data-language'] = 'python' + end + + css('h1').each do |node| + node['style'] = nil + end + + # Translate source files links to DevDocs links + links = Nokogiri::XML::Node.new('p', doc) + links['class'] = '_links' + + css('a.github').each do |node| + span = node.at_css('span') + node.content = span.content + span.remove + node['class'] = '_links-link' + links.add_child(node) + end + doc.add_child(links) + + doc + end + end + end +end diff --git a/lib/docs/filters/rest_framework/entries.rb b/lib/docs/filters/rest_framework/entries.rb new file mode 100644 index 0000000000..53b2fce032 --- /dev/null +++ b/lib/docs/filters/rest_framework/entries.rb @@ -0,0 +1,60 @@ +module Docs + class RestFramework + class EntriesFilter < Docs::EntriesFilter + + def get_name + name = css('h1').first.content + name.slice! 'Tutorial ' + name = '0: ' + name if name.include? 'Quickstart' + name + end + + def get_type + case subpath + when /\Atutorial/ + 'Tutorial' + when /\Aapi-guide/ + 'API Guide' + end + end + + def additional_entries + return [] if type == nil || type == 'Tutorial' + + # Framework classes are provided in two different ways: + # - as H2's after H1 category titled: + accepted_headers = ['API Reference', 'API Guide'] + # - as headers (1 or 2) with these endings: + endings = ['Validator', 'Field', 'View', 'Mixin', 'Default', 'Serializer'] + + # To avoid writing down all the endings + # and to ensure all entries in API categories are matched + # two different ways of finding them are used + + entries = [] + + local_type = 'Ref: ' + name + in_category = false + + css('h1, h2').each do |node| + # Third party category contains entries that could be matched (and shouldn't be) + break if node.content === 'Third party packages' + + if in_category + if node.name === 'h1' + in_category = false + next + end + entries << [node.content, node['id'], local_type] + elsif accepted_headers.include? node.content + in_category = true + elsif endings.any? { |word| node.content.ends_with?(word) } + entries << [node.content, node['id'], local_type] + end + end + + entries + end + end + end +end diff --git a/lib/docs/scrapers/rest_framework.rb b/lib/docs/scrapers/rest_framework.rb new file mode 100644 index 0000000000..fa64b08031 --- /dev/null +++ b/lib/docs/scrapers/rest_framework.rb @@ -0,0 +1,37 @@ +module Docs + class RestFramework < UrlScraper + self.name = 'Django REST Framework' + self.release = '3.9.2' + self.slug = 'rest_framework' + self.type = 'mkdocs' + self.base_url = 'https://www.django-rest-framework.org/' + self.root_path = 'index.html' + self.links = { + home: 'https://www.django-rest-framework.org/', + code: 'https://github.com/encode/django-rest-framework' + } + + html_filters.push 'mkdocs/clean_html', 'rest_framework/clean_html', 'rest_framework/entries' + + options[:skip_patterns] = [ + /\Atopics\//, + /\Acommunity\//, + ] + + options[:attribution] = <<-HTML + Copyright 2011–present Encode OSS Ltd
    + Licensed under the BSD License. + HTML + + private + + def handle_response(response) + # Some scrapped urls don't have ending slash + # which leads to page duplication + if !response.url.path.ends_with?('/') && !response.url.path.ends_with?('index.html') + response.url.path << '/' + end + super + end + end +end diff --git a/public/icons/docs/rest_framework/16.png b/public/icons/docs/rest_framework/16.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e33539d613144de4e7e708cf760355cdc835e5 GIT binary patch literal 1166 zcmb7Du}T9$6nrN~Vj_W9s1OfC?8QpOCMXw@Q;Z^lhzQ0H5J3@ZJ6o;AfCM|i#zL@2 zYas~!fnsYRVj(2Xc(>>6?G`%W-R{o3H~Tir9xvCcg?uS5B88yluV5@PdNcTrymuQI zGTRGPU%LD??=DZly(#h$t>eKkh>FjVF^`}T!NMCvBW=<{H3jaRET&8&a?~`~ z4A{2XIhjmO9VzB*2A@znamMe295oF#gBCJgwXASKj+zFW0TXu+F9`0+;GCRcY}^8p z1UEtB5@LgE;HN9xfN?Zi2Vuz{zeWeq?n|gYL9h!#9qT&Xg{=b?vDiaUXKB literal 0 HcmV?d00001 diff --git a/public/icons/docs/rest_framework/16@2x.png b/public/icons/docs/rest_framework/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ea76baed6b8a7a5b5b2d4157d5294e4bf72b93 GIT binary patch literal 4254 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_nK45N51cYF`EvWH0gbb!C6dA|o!MdcMQDhk-#r+tbA{B!ZJsLE!#-po)P7jO19q zm;vZ*EFhMFfn@VY(tyiibhnV=5TYGGtmQDr5bFpgn1+F(i3$NyeGl^tF`+QvAu#HI z0S^J95+Nv2k(v;RNq``8hfWBP5(>on9%LrbQ2M6Q1&(!1 Date: Thu, 2 May 2019 17:23:56 +0200 Subject: [PATCH 0100/2822] Use Mkdocs as base for RestFramework --- lib/docs/scrapers/mkdocs.rb | 16 +++++++++++++++- lib/docs/scrapers/rest_framework.rb | 15 ++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lib/docs/scrapers/mkdocs.rb b/lib/docs/scrapers/mkdocs.rb index c0f5d5e59e..20559863de 100644 --- a/lib/docs/scrapers/mkdocs.rb +++ b/lib/docs/scrapers/mkdocs.rb @@ -1,5 +1,19 @@ module Docs - class Mkdocs < Scraper + class Mkdocs < UrlScraper self.abstract = true + self.type = 'mkdocs' + + html_filters.push 'mkdocs/clean_html' + + private + + def handle_response(response) + # Some scrapped urls don't have ending slash + # which leads to page duplication + if !response.url.path.ends_with?('/') && !response.url.path.ends_with?('index.html') + response.url.path << '/' + end + super + end end end diff --git a/lib/docs/scrapers/rest_framework.rb b/lib/docs/scrapers/rest_framework.rb index fa64b08031..16e8544966 100644 --- a/lib/docs/scrapers/rest_framework.rb +++ b/lib/docs/scrapers/rest_framework.rb @@ -1,5 +1,5 @@ module Docs - class RestFramework < UrlScraper + class RestFramework < Mkdocs self.name = 'Django REST Framework' self.release = '3.9.2' self.slug = 'rest_framework' @@ -11,7 +11,7 @@ class RestFramework < UrlScraper code: 'https://github.com/encode/django-rest-framework' } - html_filters.push 'mkdocs/clean_html', 'rest_framework/clean_html', 'rest_framework/entries' + html_filters.push 'rest_framework/clean_html', 'rest_framework/entries' options[:skip_patterns] = [ /\Atopics\//, @@ -22,16 +22,5 @@ class RestFramework < UrlScraper Copyright 2011–present Encode OSS Ltd
    Licensed under the BSD License. HTML - - private - - def handle_response(response) - # Some scrapped urls don't have ending slash - # which leads to page duplication - if !response.url.path.ends_with?('/') && !response.url.path.ends_with?('index.html') - response.url.path << '/' - end - super - end end end From 6c12d53a465e47da1ab7e6325862eef4f7c666af Mon Sep 17 00:00:00 2001 From: Emil Maruszczak Date: Thu, 2 May 2019 17:25:34 +0200 Subject: [PATCH 0101/2822] Cleanup redundant bits --- assets/stylesheets/pages/_mkdocs.scss | 6 +----- lib/docs/filters/mkdocs/clean_html.rb | 1 - lib/docs/filters/rest_framework/clean_html.rb | 13 +++---------- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/assets/stylesheets/pages/_mkdocs.scss b/assets/stylesheets/pages/_mkdocs.scss index e70ff66cad..e374474c84 100644 --- a/assets/stylesheets/pages/_mkdocs.scss +++ b/assets/stylesheets/pages/_mkdocs.scss @@ -1,4 +1,4 @@ -%mkdocs { +._mkdocs { h2 { @extend %block-heading; } h3 { @extend %block-label, %label-blue; } h4 { @extend %block-label; } @@ -9,7 +9,3 @@ p > code, li > code { @extend %label; } } - -._mkdocs { - @extend %mkdocs; -} diff --git a/lib/docs/filters/mkdocs/clean_html.rb b/lib/docs/filters/mkdocs/clean_html.rb index c346d23e48..2eef9cdc27 100644 --- a/lib/docs/filters/mkdocs/clean_html.rb +++ b/lib/docs/filters/mkdocs/clean_html.rb @@ -4,7 +4,6 @@ class CleanHtmlFilter < Docs::Filter def call css('.toclink').each do |node| node.parent.content = node.content - node.remove end css('pre').each do |node| diff --git a/lib/docs/filters/rest_framework/clean_html.rb b/lib/docs/filters/rest_framework/clean_html.rb index 007b33b247..87d048b91b 100644 --- a/lib/docs/filters/rest_framework/clean_html.rb +++ b/lib/docs/filters/rest_framework/clean_html.rb @@ -4,17 +4,11 @@ class CleanHtmlFilter < Docs::Filter def call css('hr').remove - css('.badges').each do |node| - node.remove - end + css('.badges').remove - css('pre').each do |node| - node['data-language'] = 'python' - end + css('pre').attr('data-language', 'python') - css('h1').each do |node| - node['style'] = nil - end + css('h1').attr('style', nil) # Translate source files links to DevDocs links links = Nokogiri::XML::Node.new('p', doc) @@ -23,7 +17,6 @@ def call css('a.github').each do |node| span = node.at_css('span') node.content = span.content - span.remove node['class'] = '_links-link' links.add_child(node) end From 1bc20dbc0dd00c336cbbd39cd44414c20417041e Mon Sep 17 00:00:00 2001 From: Jed Fox Date: Fri, 3 May 2019 09:41:10 -0400 Subject: [PATCH 0102/2822] =?UTF-8?q?Don=E2=80=99t=20throw=20when=20the=20?= =?UTF-8?q?`CSS`=20global=20is=20not=20defined?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/javascripts/app/app.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index ab67a92a97..b097ea36dc 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -252,7 +252,7 @@ matchMedia: !!window.matchMedia insertAdjacentHTML: !!document.body.insertAdjacentHTML defaultPrevented: document.createEvent('CustomEvent').defaultPrevented is false - cssVariables: CSS.supports and CSS.supports('(--t: 0)') + cssVariables: !!CSS?.supports?('(--t: 0)') for key, value of features when not value Raven.captureMessage "unsupported/#{key}", level: 'info' From ec4e867053ac428f0a9c97a0d508222119112403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20G=C3=BCnther?= Date: Tue, 7 May 2019 08:35:25 +0200 Subject: [PATCH 0103/2822] Update padrino to 0.14.4 --- lib/docs/scrapers/padrino.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/padrino.rb b/lib/docs/scrapers/padrino.rb index 218f173133..04ed3f64c7 100644 --- a/lib/docs/scrapers/padrino.rb +++ b/lib/docs/scrapers/padrino.rb @@ -2,7 +2,7 @@ module Docs class Padrino < UrlScraper self.slug = 'padrino' self.type = 'rubydoc' - self.release = '0.14.1' + self.release = '0.14.4' self.base_url = 'http://www.rubydoc.info/github/padrino/padrino-framework/' self.root_path = 'file/README.rdoc' self.initial_paths = %w(index2) @@ -16,7 +16,7 @@ class Padrino < UrlScraper options[:container] = ->(filter) { filter.root_page? ? '#filecontents' : '#content' } options[:attribution] = <<-HTML - © 2010–2016 Padrino
    + © 2010–2019 Padrino
    Licensed under the MIT License. HTML From cc87443c3d2738b8ec2d57784e4ec899a7473cc6 Mon Sep 17 00:00:00 2001 From: Emil Maruszczak Date: Tue, 14 May 2019 23:47:07 +0200 Subject: [PATCH 0104/2822] Remove duplicated type --- lib/docs/scrapers/rest_framework.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/docs/scrapers/rest_framework.rb b/lib/docs/scrapers/rest_framework.rb index 16e8544966..d81c22abd4 100644 --- a/lib/docs/scrapers/rest_framework.rb +++ b/lib/docs/scrapers/rest_framework.rb @@ -3,7 +3,6 @@ class RestFramework < Mkdocs self.name = 'Django REST Framework' self.release = '3.9.2' self.slug = 'rest_framework' - self.type = 'mkdocs' self.base_url = 'https://www.django-rest-framework.org/' self.root_path = 'index.html' self.links = { From 0ced6fee9b5933cfb0c3f72a5d29836acd3f9c9f Mon Sep 17 00:00:00 2001 From: Jaco du Plessis Date: Wed, 22 May 2019 11:44:32 +0200 Subject: [PATCH 0105/2822] Update Django docs versions Added 2.2 as new version and update the 1.11 LTS. --- lib/docs/scrapers/django.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/django.rb b/lib/docs/scrapers/django.rb index 4527354035..7ab20f7fc2 100644 --- a/lib/docs/scrapers/django.rb +++ b/lib/docs/scrapers/django.rb @@ -34,8 +34,13 @@ class Django < FileScraper Licensed under the BSD License. HTML + version '2.2' do + self.release = '2.2.1' + self.base_url = 'https://docs.djangoproject.com/en/2.2/' + end + version '2.1' do - self.release = '2.1.0' + self.release = '2.1.8' self.base_url = 'https://docs.djangoproject.com/en/2.1/' end @@ -45,7 +50,7 @@ class Django < FileScraper end version '1.11' do - self.release = '1.11.9' + self.release = '1.11.20' self.base_url = 'https://docs.djangoproject.com/en/1.11/' end From 35f6f719e3ba09cfcd60824ff96ac8a4fc86e244 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 26 May 2019 19:48:53 +0200 Subject: [PATCH 0106/2822] Load layout preferences client-side from cookies --- assets/javascripts/app/app.coffee | 2 ++ assets/javascripts/app/settings.coffee | 22 +++++++++++++++++++ .../views/content/settings_page.coffee | 10 +-------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index ab67a92a97..c638e17926 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -26,6 +26,8 @@ @document = new app.views.Document @mobile = new app.views.Mobile if @isMobile() + @settings.initLayout() + if document.body.hasAttribute('data-doc') @DOC = JSON.parse(document.body.getAttribute('data-doc')) @bootOne() diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 8d309c4174..ed09d980d1 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -19,6 +19,9 @@ class app.Settings 'news' ] + LAYOUTS = ['_max-width', '_sidebar-hidden', '_native-scrollbars'] + SIDEBAR_HIDDEN_LAYOUT = '_sidebar-hidden' + @defaults: count: 0 hideDisabled: false @@ -38,6 +41,7 @@ class app.Settings set: (key, value) -> @store.set(key, value) delete @cache[key] + @toggleDark(value) if key == 'dark' return del: (key) -> @@ -63,6 +67,8 @@ class app.Settings return setLayout: (name, enable) -> + @toggleLayout(name, enable) + layout = (@store.get('layout') || '').split(' ') $.arrayDelete(layout, '') @@ -81,6 +87,9 @@ class app.Settings layout = (@store.get('layout') || '').split(' ') layout.indexOf(name) isnt -1 + getAllLayouts: -> + return LAYOUTS + setSize: (value) -> @set 'size', value return @@ -104,3 +113,16 @@ class app.Settings @store.reset() @cache = {} return + + initLayout: -> + @toggleDark(@get('dark')) + @toggleLayout(layout, @hasLayout(layout)) for layout in LAYOUTS + + toggleDark: (enable) -> + classList = document.documentElement.classList + classList[if enable then 'remove' else 'add']('_theme-default') + classList[if enable then 'add' else 'remove']('_theme-dark') + + toggleLayout: (layout, enable) -> + document.body.classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT + document.body.classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index e39b17dfb3..147c01bae0 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -1,7 +1,4 @@ class app.views.SettingsPage extends app.View - LAYOUTS = ['_max-width', '_sidebar-hidden', '_native-scrollbars'] - SIDEBAR_HIDDEN_LAYOUT = '_sidebar-hidden' - @className: '_static' @events: @@ -17,23 +14,18 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') - settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS + settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.getAllLayouts() settings getTitle: -> 'Preferences' toggleDark: (enable) -> - html = document.documentElement - html.classList.toggle('_theme-default') - html.classList.toggle('_theme-dark') app.settings.set('dark', !!enable) app.appCache?.updateInBackground() return toggleLayout: (layout, enable) -> - document.body.classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT - document.body.classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') app.settings.setLayout(layout, enable) app.appCache?.updateInBackground() return From 0c42db5749d531697e453b70d0f8936d0a1768c1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 26 May 2019 22:36:01 +0200 Subject: [PATCH 0107/2822] Simplify toggleLayout --- assets/javascripts/app/settings.coffee | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index ed09d980d1..5068a76c11 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -124,5 +124,6 @@ class app.Settings classList[if enable then 'add' else 'remove']('_theme-dark') toggleLayout: (layout, enable) -> - document.body.classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT - document.body.classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') + classList = document.body.classList + classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT + classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') From 4ce7dbcfd58873857fc4c613d4c6b4bbb9d90f12 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 11 Jun 2019 23:01:37 +0200 Subject: [PATCH 0108/2822] Remove hardcoded username and fix broken methods --- .github/CONTRIBUTING.md | 2 +- lib/docs/scrapers/async.rb | 2 +- lib/docs/scrapers/drupal.rb | 9 ++------- lib/docs/scrapers/perl.rb | 5 +++-- lib/docs/scrapers/phalcon.rb | 2 +- lib/docs/scrapers/sass.rb | 2 +- lib/docs/scrapers/statsmodels.rb | 2 +- lib/tasks/updates.thor | 2 +- 8 files changed, 11 insertions(+), 15 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 06558d3629..d0fccff564 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -61,7 +61,7 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. -To ask that an existing documentation be updated, first check the last two [Documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Aupdated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date for at least 2 reports (a new report is automatically created every month). +To ask that an existing documentation be updated, first check the last two [Documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Aupdated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. ## Coding conventions diff --git a/lib/docs/scrapers/async.rb b/lib/docs/scrapers/async.rb index 67498eed99..61615b54c8 100644 --- a/lib/docs/scrapers/async.rb +++ b/lib/docs/scrapers/async.rb @@ -19,7 +19,7 @@ class Async < UrlScraper HTML def get_latest_version(opts) - doc = fetch_doc('https://caolan.github.io/async/', opts) + doc = fetch_doc('https://caolan.github.io/async/v3/', opts) doc.at_css('#version-dropdown > a').content.strip[1..-1] end end diff --git a/lib/docs/scrapers/drupal.rb b/lib/docs/scrapers/drupal.rb index f29b585b73..3798caecf6 100644 --- a/lib/docs/scrapers/drupal.rb +++ b/lib/docs/scrapers/drupal.rb @@ -100,13 +100,8 @@ class Drupal < UrlScraper end def get_latest_version(opts) - doc = fetch_doc('http://cgit.drupalcode.org/drupal', opts) - - version = doc.at_css('td.form > form > select > option[selected]').content - version = version.scan(/([0-9.]+)/)[0][0] - version = version[0...-1] if version.end_with?('.') - - version + json = fetch_json('https://packagist.org/packages/drupal/drupal.json', opts) + json['package']['versions'].keys.find {|version| !version.end_with?('-dev')} end end end diff --git a/lib/docs/scrapers/perl.rb b/lib/docs/scrapers/perl.rb index 7e5ed8f8c2..ebf0a65375 100644 --- a/lib/docs/scrapers/perl.rb +++ b/lib/docs/scrapers/perl.rb @@ -45,8 +45,9 @@ class Perl < FileScraper end def get_latest_version(opts) - body = fetch('https://perldoc.perl.org/static/perlversion.js', opts) - body.scan(/>Perl ([0-9.]+)/)[0][0] + doc = fetch_doc('https://perldoc.perl.org/', opts) + header = doc.at_css('h2.h1').content + header.scan(/Perl ([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/phalcon.rb b/lib/docs/scrapers/phalcon.rb index dd476329fe..c6ca63f2a1 100644 --- a/lib/docs/scrapers/phalcon.rb +++ b/lib/docs/scrapers/phalcon.rb @@ -32,7 +32,7 @@ class Phalcon < UrlScraper def get_latest_version(opts) doc = fetch_doc('https://docs.phalconphp.com/', opts) - doc.at_css('.custom-select__version').content.strip.sub(/Version /, '') + doc.at_css('.header__lang.expand > div > ul > li > a').content end end end diff --git a/lib/docs/scrapers/sass.rb b/lib/docs/scrapers/sass.rb index 228a533773..c81753d276 100644 --- a/lib/docs/scrapers/sass.rb +++ b/lib/docs/scrapers/sass.rb @@ -25,7 +25,7 @@ class Sass < UrlScraper HTML def get_latest_version(opts) - get_github_file_contents('sass', 'sass', 'VERSION', opts).strip + get_latest_github_release('sass', 'libsass', opts)['tag_name'] end end end diff --git a/lib/docs/scrapers/statsmodels.rb b/lib/docs/scrapers/statsmodels.rb index db2eacb262..3e8a357c49 100644 --- a/lib/docs/scrapers/statsmodels.rb +++ b/lib/docs/scrapers/statsmodels.rb @@ -23,7 +23,7 @@ class Statsmodels < UrlScraper def get_latest_version(opts) doc = fetch_doc('http://www.statsmodels.org/stable/', opts) - doc.at_css('.sphinxsidebarwrapper h3 + p > b').content + doc.at_css('.sphinxsidebarwrapper h3 + p > b').content[1..-1] end end end diff --git a/lib/tasks/updates.thor b/lib/tasks/updates.thor index 20ef20b2c1..c715f75258 100644 --- a/lib/tasks/updates.thor +++ b/lib/tasks/updates.thor @@ -139,7 +139,7 @@ class UpdatesCLI < Thor def upload_results(outdated_results, up_to_date_results, failed_results) # We can't create issues without a GitHub token unless options.key?(:github_token) - logger.error('Please specify a GitHub token with the public_repo permission for devdocs-bot with the --github-token parameter') + logger.error("Please specify a GitHub token with the public_repo permission for #{UPLOAD_USER} with the --github-token parameter") return end From c828b1167b5104dfdf6e11b10ffdee26db7e2b33 Mon Sep 17 00:00:00 2001 From: Matthew Dixon Date: Tue, 11 Jun 2019 17:11:31 -0400 Subject: [PATCH 0109/2822] Update pandas documentation (0.24.2) --- lib/docs/scrapers/pandas.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/scrapers/pandas.rb b/lib/docs/scrapers/pandas.rb index 1355a0122c..f6b8c7a478 100644 --- a/lib/docs/scrapers/pandas.rb +++ b/lib/docs/scrapers/pandas.rb @@ -20,6 +20,11 @@ class Pandas < UrlScraper Licensed under the 3-clause BSD License. HTML + version '0.24' do + self.release = '0.24.2' + self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + end + version '0.23' do self.release = '0.23.4' self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" From d63487d9738c2afa215d10f61e3ab047048cb82e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 18 Jun 2019 23:46:24 +0200 Subject: [PATCH 0110/2822] Simplify layouts array --- assets/javascripts/app/settings.coffee | 7 ++----- assets/javascripts/views/content/settings_page.coffee | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 5068a76c11..daf3379a5f 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -19,7 +19,7 @@ class app.Settings 'news' ] - LAYOUTS = ['_max-width', '_sidebar-hidden', '_native-scrollbars'] + LAYOUTS: ['_max-width', '_sidebar-hidden', '_native-scrollbars'] SIDEBAR_HIDDEN_LAYOUT = '_sidebar-hidden' @defaults: @@ -87,9 +87,6 @@ class app.Settings layout = (@store.get('layout') || '').split(' ') layout.indexOf(name) isnt -1 - getAllLayouts: -> - return LAYOUTS - setSize: (value) -> @set 'size', value return @@ -116,7 +113,7 @@ class app.Settings initLayout: -> @toggleDark(@get('dark')) - @toggleLayout(layout, @hasLayout(layout)) for layout in LAYOUTS + @toggleLayout(layout, @hasLayout(layout)) for layout in @LAYOUTS toggleDark: (enable) -> classList = document.documentElement.classList diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index 147c01bae0..c1027e9c38 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -14,7 +14,7 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') - settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.getAllLayouts() + settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS settings getTitle: -> From 7084d9f082e589e651f5296896c5d76c55ad0c75 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 20 Jun 2019 21:40:15 +0200 Subject: [PATCH 0111/2822] Improve get_latest_github_release --- docs/scraper-reference.md | 2 +- lib/docs/core/doc.rb | 4 +++- lib/docs/scrapers/homebrew.rb | 2 +- lib/docs/scrapers/jasmine.rb | 2 +- lib/docs/scrapers/jsdoc.rb | 2 +- lib/docs/scrapers/julia.rb | 2 +- lib/docs/scrapers/knockout.rb | 2 +- lib/docs/scrapers/kotlin.rb | 2 +- lib/docs/scrapers/laravel.rb | 2 +- lib/docs/scrapers/matplotlib.rb | 2 +- lib/docs/scrapers/nokogiri2.rb | 2 +- lib/docs/scrapers/npm.rb | 2 +- lib/docs/scrapers/numpy.rb | 2 +- lib/docs/scrapers/opentsdb.rb | 2 +- lib/docs/scrapers/phaser.rb | 2 +- lib/docs/scrapers/pygame.rb | 2 +- lib/docs/scrapers/rdoc/rails.rb | 2 +- lib/docs/scrapers/rethinkdb.rb | 2 +- lib/docs/scrapers/sass.rb | 2 +- lib/docs/scrapers/symfony.rb | 2 +- lib/docs/scrapers/tensorflow.rb | 2 +- lib/docs/scrapers/typescript.rb | 2 +- lib/docs/scrapers/vue.rb | 2 +- lib/docs/scrapers/yarn.rb | 2 +- lib/docs/scrapers/yii.rb | 2 +- 25 files changed, 27 insertions(+), 25 deletions(-) diff --git a/docs/scraper-reference.md b/docs/scraper-reference.md index de7d3f1521..4da0d2e51d 100644 --- a/docs/scraper-reference.md +++ b/docs/scraper-reference.md @@ -212,7 +212,7 @@ To make life easier, there are a few utility methods that you can use in `get_la Example: [lib/docs/scrapers/bower.rb](../lib/docs/scrapers/bower.rb) * `get_latest_github_release(owner, repo, opts)` - Returns the latest GitHub release of the given repository ([format](https://developer.github.com/v3/repos/releases/#get-the-latest-release)). + Returns the tag name of the latest GitHub release of the given repository. If the tag name is preceeded by a "v", the "v" will be removed. Example: [lib/docs/scrapers/jsdoc.rb](../lib/docs/scrapers/jsdoc.rb) * `get_github_tags(owner, repo, opts)` diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index b50957c53a..da21daf873 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -249,7 +249,9 @@ def get_npm_version(package, opts) end def get_latest_github_release(owner, repo, opts) - fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", opts) + release = fetch_json("https://api.github.com/repos/#{owner}/#{repo}/releases/latest", opts) + tag_name = release['tag_name'] + tag_name.start_with?('v') ? tag_name[1..-1] : tag_name end def get_github_tags(owner, repo, opts) diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb index c5647709c6..9dd1581a9f 100644 --- a/lib/docs/scrapers/homebrew.rb +++ b/lib/docs/scrapers/homebrew.rb @@ -21,7 +21,7 @@ class Homebrew < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('Homebrew', 'brew', opts)['name'] + get_latest_github_release('Homebrew', 'brew', opts) end end end diff --git a/lib/docs/scrapers/jasmine.rb b/lib/docs/scrapers/jasmine.rb index 14c5186919..b1971ecdb3 100644 --- a/lib/docs/scrapers/jasmine.rb +++ b/lib/docs/scrapers/jasmine.rb @@ -19,7 +19,7 @@ class Jasmine < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('jasmine', 'jasmine', opts)['name'] + get_latest_github_release('jasmine', 'jasmine', opts) end end end diff --git a/lib/docs/scrapers/jsdoc.rb b/lib/docs/scrapers/jsdoc.rb index d88d46b60b..df27e578d3 100644 --- a/lib/docs/scrapers/jsdoc.rb +++ b/lib/docs/scrapers/jsdoc.rb @@ -23,7 +23,7 @@ class Jsdoc < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('jsdoc3', 'jsdoc', opts)['tag_name'] + get_latest_github_release('jsdoc3', 'jsdoc', opts) end end end diff --git a/lib/docs/scrapers/julia.rb b/lib/docs/scrapers/julia.rb index d152f05d28..c9c96da60b 100644 --- a/lib/docs/scrapers/julia.rb +++ b/lib/docs/scrapers/julia.rb @@ -51,7 +51,7 @@ class Julia < UrlScraper end def get_latest_version(opts) - get_latest_github_release('JuliaLang', 'julia', opts)['tag_name'][1..-1] + get_latest_github_release('JuliaLang', 'julia', opts) end end end diff --git a/lib/docs/scrapers/knockout.rb b/lib/docs/scrapers/knockout.rb index 6556bca876..efad86f0a6 100644 --- a/lib/docs/scrapers/knockout.rb +++ b/lib/docs/scrapers/knockout.rb @@ -35,7 +35,7 @@ class Knockout < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('knockout', 'knockout', opts)['tag_name'][1..-1] + get_latest_github_release('knockout', 'knockout', opts) end end end diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb index 5f508ae722..5055b65e7d 100644 --- a/lib/docs/scrapers/kotlin.rb +++ b/lib/docs/scrapers/kotlin.rb @@ -30,7 +30,7 @@ class Kotlin < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('JetBrains', 'kotlin', opts)['tag_name'][1..-1] + get_latest_github_release('JetBrains', 'kotlin', opts) end end end diff --git a/lib/docs/scrapers/laravel.rb b/lib/docs/scrapers/laravel.rb index 4fc173687d..e45b0bed19 100644 --- a/lib/docs/scrapers/laravel.rb +++ b/lib/docs/scrapers/laravel.rb @@ -135,7 +135,7 @@ class Laravel < UrlScraper end def get_latest_version(opts) - get_latest_github_release('laravel', 'laravel', opts)['tag_name'][1..-1] + get_latest_github_release('laravel', 'laravel', opts) end end end diff --git a/lib/docs/scrapers/matplotlib.rb b/lib/docs/scrapers/matplotlib.rb index 4a882270c5..eeecea71d8 100644 --- a/lib/docs/scrapers/matplotlib.rb +++ b/lib/docs/scrapers/matplotlib.rb @@ -66,7 +66,7 @@ class Matplotlib < UrlScraper end def get_latest_version(opts) - get_latest_github_release('matplotlib', 'matplotlib', opts)['tag_name'][1..-1] + get_latest_github_release('matplotlib', 'matplotlib', opts) end end end diff --git a/lib/docs/scrapers/nokogiri2.rb b/lib/docs/scrapers/nokogiri2.rb index 9da5daf4d1..7c28ca9252 100644 --- a/lib/docs/scrapers/nokogiri2.rb +++ b/lib/docs/scrapers/nokogiri2.rb @@ -21,7 +21,7 @@ class Nokogiri2 < Rdoc HTML def get_latest_version(opts) - get_latest_github_release('sparklemotion', 'nokogiri', opts)['tag_name'][1..-1] + get_latest_github_release('sparklemotion', 'nokogiri', opts) end end end diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb index e18531ab11..3f868a3c09 100644 --- a/lib/docs/scrapers/npm.rb +++ b/lib/docs/scrapers/npm.rb @@ -31,7 +31,7 @@ class Npm < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('npm', 'cli', opts)['tag_name'][1..-1] + get_latest_github_release('npm', 'cli', opts) end end end diff --git a/lib/docs/scrapers/numpy.rb b/lib/docs/scrapers/numpy.rb index 636fcf4a5a..84de6cab13 100644 --- a/lib/docs/scrapers/numpy.rb +++ b/lib/docs/scrapers/numpy.rb @@ -51,7 +51,7 @@ class Numpy < FileScraper end def get_latest_version(opts) - get_latest_github_release('numpy', 'numpy', opts)['tag_name'][1..-1] + get_latest_github_release('numpy', 'numpy', opts) end end end diff --git a/lib/docs/scrapers/opentsdb.rb b/lib/docs/scrapers/opentsdb.rb index 1de40478d8..6eec407c57 100644 --- a/lib/docs/scrapers/opentsdb.rb +++ b/lib/docs/scrapers/opentsdb.rb @@ -20,7 +20,7 @@ class Opentsdb < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('OpenTSDB', 'opentsdb', opts)['tag_name'][1..-1] + get_latest_github_release('OpenTSDB', 'opentsdb', opts) end end end diff --git a/lib/docs/scrapers/phaser.rb b/lib/docs/scrapers/phaser.rb index 1939b1d0b8..bd5f411c19 100644 --- a/lib/docs/scrapers/phaser.rb +++ b/lib/docs/scrapers/phaser.rb @@ -27,7 +27,7 @@ class Phaser < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('photonstorm', 'phaser', opts)['tag_name'][1..-1] + get_latest_github_release('photonstorm', 'phaser', opts) end end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index d5a5581db0..94c3d508c9 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -19,7 +19,7 @@ class Pygame < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('pygame', 'pygame', opts)['tag_name'] + get_latest_github_release('pygame', 'pygame', opts) end end end diff --git a/lib/docs/scrapers/rdoc/rails.rb b/lib/docs/scrapers/rdoc/rails.rb index 771c2f6487..0dec42a9db 100644 --- a/lib/docs/scrapers/rdoc/rails.rb +++ b/lib/docs/scrapers/rdoc/rails.rb @@ -95,7 +95,7 @@ class Rails < Rdoc end def get_latest_version(opts) - get_latest_github_release('rails', 'rails', opts)['name'] + get_latest_github_release('rails', 'rails', opts) end end end diff --git a/lib/docs/scrapers/rethinkdb.rb b/lib/docs/scrapers/rethinkdb.rb index 3a6b87cf3e..35d8d334af 100644 --- a/lib/docs/scrapers/rethinkdb.rb +++ b/lib/docs/scrapers/rethinkdb.rb @@ -59,7 +59,7 @@ class Rethinkdb < UrlScraper end def get_latest_version(opts) - get_latest_github_release('rethinkdb', 'rethinkdb', opts)['tag_name'][1..-1] + get_latest_github_release('rethinkdb', 'rethinkdb', opts) end private diff --git a/lib/docs/scrapers/sass.rb b/lib/docs/scrapers/sass.rb index c81753d276..c9774cdf0f 100644 --- a/lib/docs/scrapers/sass.rb +++ b/lib/docs/scrapers/sass.rb @@ -25,7 +25,7 @@ class Sass < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('sass', 'libsass', opts)['tag_name'] + get_latest_github_release('sass', 'libsass', opts) end end end diff --git a/lib/docs/scrapers/symfony.rb b/lib/docs/scrapers/symfony.rb index 439456f064..4bdde05431 100644 --- a/lib/docs/scrapers/symfony.rb +++ b/lib/docs/scrapers/symfony.rb @@ -72,7 +72,7 @@ class Symfony < UrlScraper end def get_latest_version(opts) - get_latest_github_release('symfony', 'symfony', opts)['tag_name'][1..-1] + get_latest_github_release('symfony', 'symfony', opts) end end end diff --git a/lib/docs/scrapers/tensorflow.rb b/lib/docs/scrapers/tensorflow.rb index 8ac1ca65fe..9638b5168e 100644 --- a/lib/docs/scrapers/tensorflow.rb +++ b/lib/docs/scrapers/tensorflow.rb @@ -57,7 +57,7 @@ class Tensorflow < UrlScraper end def get_latest_version(opts) - get_latest_github_release('tensorflow', 'tensorflow', opts)['tag_name'][1..-1] + get_latest_github_release('tensorflow', 'tensorflow', opts) end private diff --git a/lib/docs/scrapers/typescript.rb b/lib/docs/scrapers/typescript.rb index 63d1c9afd5..777f5dd640 100644 --- a/lib/docs/scrapers/typescript.rb +++ b/lib/docs/scrapers/typescript.rb @@ -26,7 +26,7 @@ class Typescript < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('Microsoft', 'TypeScript', opts)['tag_name'][1..-1] + get_latest_github_release('Microsoft', 'TypeScript', opts) end end end diff --git a/lib/docs/scrapers/vue.rb b/lib/docs/scrapers/vue.rb index db48b898ab..333ade1d33 100644 --- a/lib/docs/scrapers/vue.rb +++ b/lib/docs/scrapers/vue.rb @@ -34,7 +34,7 @@ class Vue < UrlScraper end def get_latest_version(opts) - get_latest_github_release('vuejs', 'vue', opts)['tag_name'][1..-1] + get_latest_github_release('vuejs', 'vue', opts) end end end diff --git a/lib/docs/scrapers/yarn.rb b/lib/docs/scrapers/yarn.rb index d63e7121c2..c45695af82 100644 --- a/lib/docs/scrapers/yarn.rb +++ b/lib/docs/scrapers/yarn.rb @@ -22,7 +22,7 @@ class Yarn < UrlScraper HTML def get_latest_version(opts) - get_latest_github_release('yarnpkg', 'yarn', opts)['tag_name'][1..-1] + get_latest_github_release('yarnpkg', 'yarn', opts) end end end diff --git a/lib/docs/scrapers/yii.rb b/lib/docs/scrapers/yii.rb index b05c5bf710..eaabdbf02a 100755 --- a/lib/docs/scrapers/yii.rb +++ b/lib/docs/scrapers/yii.rb @@ -36,7 +36,7 @@ class Yii < UrlScraper end def get_latest_version(opts) - get_latest_github_release('yiisoft', 'yii2', opts)['tag_name'] + get_latest_github_release('yiisoft', 'yii2', opts) end end end From 0529f8087055ec87a9158063004357ebd2aaad2c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 20 Jun 2019 21:42:19 +0200 Subject: [PATCH 0112/2822] Fix typo --- docs/scraper-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scraper-reference.md b/docs/scraper-reference.md index 4da0d2e51d..c287238809 100644 --- a/docs/scraper-reference.md +++ b/docs/scraper-reference.md @@ -212,7 +212,7 @@ To make life easier, there are a few utility methods that you can use in `get_la Example: [lib/docs/scrapers/bower.rb](../lib/docs/scrapers/bower.rb) * `get_latest_github_release(owner, repo, opts)` - Returns the tag name of the latest GitHub release of the given repository. If the tag name is preceeded by a "v", the "v" will be removed. + Returns the tag name of the latest GitHub release of the given repository. If the tag name is preceded by a "v", the "v" will be removed. Example: [lib/docs/scrapers/jsdoc.rb](../lib/docs/scrapers/jsdoc.rb) * `get_github_tags(owner, repo, opts)` From 9663ab67ff1fb74ad8f98d7f4eda1fdc8b8a0ccb Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Jul 2019 21:00:00 +0200 Subject: [PATCH 0113/2822] Update manifest_asset_urls --- lib/app.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/app.rb b/lib/app.rb index a9f8f5a903..9e4f9dcc73 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -201,10 +201,8 @@ def manifest_asset_urls @@manifest_asset_urls ||= [ javascript_path('application', asset_host: false), stylesheet_path('application'), - image_path('docs-1.png'), - image_path('docs-1@2x.png'), - image_path('docs-2.png'), - image_path('docs-2@2x.png'), + image_path('docs.png'), + image_path('docs@2x.png'), asset_path('docs.js') ] end From e2063f3256aed191a6f3e41b9c6136836dd59977 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 6 Jul 2019 21:01:42 +0200 Subject: [PATCH 0114/2822] Fix paths --- lib/app.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/app.rb b/lib/app.rb index 9e4f9dcc73..cc2ba434b8 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -201,8 +201,8 @@ def manifest_asset_urls @@manifest_asset_urls ||= [ javascript_path('application', asset_host: false), stylesheet_path('application'), - image_path('docs.png'), - image_path('docs@2x.png'), + image_path('sprites/docs.png'), + image_path('sprites/docs@2x.png'), asset_path('docs.js') ] end From 8ed1f4ace1136c9ee4f45c9063d0980fefe18ede Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 00:55:58 +0200 Subject: [PATCH 0115/2822] Replace AppCache with a service worker --- README.md | 2 +- assets/javascripts/app/app.coffee | 12 ++-- assets/javascripts/app/appcache.coffee | 42 ------------ assets/javascripts/app/config.coffee.erb | 1 + assets/javascripts/app/serviceworker.coffee | 55 ++++++++++++++++ assets/javascripts/app/update_checker.coffee | 6 +- .../templates/pages/offline_tmpl.coffee | 6 +- .../views/content/entry_page.coffee | 2 +- .../views/content/settings_page.coffee | 2 - .../javascripts/views/layout/resizer.coffee | 4 +- .../javascripts/views/layout/settings.coffee | 10 +-- lib/app.rb | 10 +-- test/app_test.rb | 52 --------------- views/index.erb | 2 +- views/manifest.erb | 14 ---- views/service-worker.js.erb | 64 +++++++++++++++++++ views/unsupported.erb | 4 +- 17 files changed, 144 insertions(+), 144 deletions(-) delete mode 100644 assets/javascripts/app/appcache.coffee create mode 100644 assets/javascripts/app/serviceworker.coffee delete mode 100644 views/manifest.erb create mode 100644 views/service-worker.js.erb diff --git a/README.md b/README.md index 3c652e9fd2..d8d921432f 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Contributions are welcome. Please read the [contributing guidelines](./.github/C * [Doc Browser](https://github.com/qwfy/doc-browser) is a native Linux app that supports DevDocs docsets * [GNOME Application](https://github.com/hardpixel/devdocs-desktop) GTK3 application with search integrated in headerbar * [macOS Application](https://github.com/dteoh/devdocs-macos) -* [Android Application](https://github.com/Merith-TK/devdocs_webapp_kotlin) is a fully working, advanced WebView with AppCache enabled +* [Android Application](https://github.com/Merith-TK/devdocs_webapp_kotlin) is a fully working, advanced WebView ## Copyright / License diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index c638e17926..0d2d9814e9 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -13,7 +13,7 @@ @el = $('._app') @localStorage = new LocalStorageStore - @appCache = new app.AppCache if app.AppCache.isEnabled() + @serviceWorker = new app.ServiceWorker if app.ServiceWorker.isEnabled() @settings = new app.Settings @db = new app.DB() @@ -149,7 +149,7 @@ saveDocs: -> @settings.setDocs(doc.slug for doc in @docs.all()) @db.migrate() - @appCache?.updateInBackground() + @serviceWorker?.updateInBackground() welcomeBack: -> visitCount = @settings.get('count') @@ -169,14 +169,14 @@ reload: -> @docs.clearCache() @disabledDocs.clearCache() - if @appCache then @appCache.reload() else @reboot() + if @serviceWorker then @serviceWorker.reload() else @reboot() return reset: -> @localStorage.reset() @settings.reset() @db?.reset() - @appCache?.update() + @serviceWorker?.update() window.location = '/' return @@ -195,9 +195,9 @@ return indexHost: -> - # Can't load the index files from the host/CDN when applicationCache is + # Can't load the index files from the host/CDN when service worker is # enabled because it doesn't support caching URLs that use CORS. - @config[if @appCache and @settings.hasDocs() then 'index_path' else 'docs_origin'] + @config[if @serviceWorker and @settings.hasDocs() then 'index_path' else 'docs_origin'] onBootError: (args...) -> @trigger 'bootError' diff --git a/assets/javascripts/app/appcache.coffee b/assets/javascripts/app/appcache.coffee deleted file mode 100644 index 235cae0211..0000000000 --- a/assets/javascripts/app/appcache.coffee +++ /dev/null @@ -1,42 +0,0 @@ -class app.AppCache - $.extend @prototype, Events - - @isEnabled: -> - try - applicationCache and applicationCache.status isnt applicationCache.UNCACHED - catch - - constructor: -> - @cache = applicationCache - @notifyUpdate = true - @onUpdateReady() if @cache.status is @cache.UPDATEREADY - - $.on @cache, 'progress', @onProgress - $.on @cache, 'updateready', @onUpdateReady - - update: -> - @notifyUpdate = true - @notifyProgress = true - try @cache.update() catch - return - - updateInBackground: -> - @notifyUpdate = false - @notifyProgress = false - try @cache.update() catch - return - - reload: -> - $.on @cache, 'updateready noupdate error', -> app.reboot() - @notifyUpdate = false - @notifyProgress = true - try @cache.update() catch - return - - onProgress: (event) => - @trigger 'progress', event if @notifyProgress - return - - onUpdateReady: => - @trigger 'updateready' if @notifyUpdate - return diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index ec26b69737..765da0b503 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -13,3 +13,4 @@ app.config = version: <%= Time.now.to_i %> release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' + service_worker_path: '/service-worker.js' diff --git a/assets/javascripts/app/serviceworker.coffee b/assets/javascripts/app/serviceworker.coffee new file mode 100644 index 0000000000..2faab8f2f9 --- /dev/null +++ b/assets/javascripts/app/serviceworker.coffee @@ -0,0 +1,55 @@ +class app.ServiceWorker + $.extend @prototype, Events + + @isEnabled: -> + !!navigator.serviceWorker + + constructor: -> + @registration = null + @installingRegistration = null + @notifyUpdate = true + + navigator.serviceWorker.register(app.config.service_worker_path, {scope: '/'}) + .then((registration) => @updateRegistration(registration)) + .catch((error) -> console.error 'Could not register service worker:', error) + + update: -> + return unless @registration + @notifyUpdate = true + return @doUpdate() + + updateInBackground: -> + return unless @registration + @notifyUpdate = false + return @doUpdate() + + reload: -> + return @updateInBackground().then(() -> app.reboot()) + + doUpdate: -> + return @registration.update().catch(->) + + updateRegistration: (registration) -> + $.off @registration, 'updatefound', @onUpdateFound if @registration + $.off @installingRegistration, 'statechange', @onStateChange if @installingRegistration + + @registration = registration + @installingRegistration = null + + $.on @registration, 'updatefound', @onUpdateFound + return + + onUpdateFound: () => + @installingRegistration = @registration.installing + $.on @installingRegistration, 'statechange', @onStateChange + return + + onStateChange: () => + if @installingRegistration.state == 'installed' and navigator.serviceWorker.controller + @updateRegistration(@installingRegistration) + @onUpdateReady() + return + + onUpdateReady: -> + @trigger 'updateready' if @notifyUpdate + return diff --git a/assets/javascripts/app/update_checker.coffee b/assets/javascripts/app/update_checker.coffee index 5630b4889c..b98c6563b0 100644 --- a/assets/javascripts/app/update_checker.coffee +++ b/assets/javascripts/app/update_checker.coffee @@ -3,13 +3,13 @@ class app.UpdateChecker @lastCheck = Date.now() $.on window, 'focus', @onFocus - app.appCache.on 'updateready', @onUpdateReady if app.appCache + app.serviceWorker.on 'updateready', @onUpdateReady if app.serviceWorker setTimeout @checkDocs, 0 check: -> - if app.appCache - app.appCache.update() + if app.serviceWorker + app.serviceWorker.update() else ajax url: $('script[src*="application"]').getAttribute('src') diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index a9a3c21ce2..52705605ac 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -26,7 +26,7 @@ app.templates.offlinePage = (docs) -> """
    How does this work?
    Each page is cached as a key-value pair in IndexedDB (downloaded from a single file).
    - The app also uses AppCache and localStorage to cache the assets and index files. + The app also uses Service Workers and localStorage to cache the assets and index files.
    Can I close the tab/browser?
    #{canICloseTheTab()}
    What if I don't update a documentation? @@ -41,10 +41,10 @@ app.templates.offlinePage = (docs) -> """ """ canICloseTheTab = -> - if app.AppCache.isEnabled() + if app.ServiceWorker.isEnabled() """ Yes! Even offline, you can open a new tab, go to devdocs.io, and everything will work as if you were online (provided you installed all the documentations you want to use beforehand). """ else - """ No. AppCache isn't available in your browser (or is disabled), so loading devdocs.io offline won't work.
    + """ No. Service Workers aren't available in your browser (or are disabled), so loading devdocs.io offline won't work.
    The current tab will continue to function even when you go offline (provided you installed all the documentations beforehand). """ app.templates.offlineDoc = (doc, status) -> diff --git a/assets/javascripts/views/content/entry_page.coffee b/assets/javascripts/views/content/entry_page.coffee index beae4d775a..d11291a339 100644 --- a/assets/javascripts/views/content/entry_page.coffee +++ b/assets/javascripts/views/content/entry_page.coffee @@ -123,7 +123,7 @@ class app.views.EntryPage extends app.View @render @tmpl('pageLoadError') @resetClass() @addClass @constructor.errorClass - app.appCache?.update() + app.serviceWorker?.update() return cache: -> diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index c1027e9c38..af2e9a9d5e 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -22,12 +22,10 @@ class app.views.SettingsPage extends app.View toggleDark: (enable) -> app.settings.set('dark', !!enable) - app.appCache?.updateInBackground() return toggleLayout: (layout, enable) -> app.settings.setLayout(layout, enable) - app.appCache?.updateInBackground() return toggleSmoothScroll: (enable) -> diff --git a/assets/javascripts/views/layout/resizer.coffee b/assets/javascripts/views/layout/resizer.coffee index 86bb46f5ab..8f0ce9c4b1 100644 --- a/assets/javascripts/views/layout/resizer.coffee +++ b/assets/javascripts/views/layout/resizer.coffee @@ -26,9 +26,7 @@ class app.views.Resizer extends app.View newSize = "#{value}px" @style.innerHTML = @style.innerHTML.replace(new RegExp(@size, 'g'), newSize) @size = newSize - if save - app.settings.setSize(value) - app.appCache?.updateInBackground() + app.settings.setSize(value) if save return onDragStart: (event) => diff --git a/assets/javascripts/views/layout/settings.coffee b/assets/javascripts/views/layout/settings.coffee index 7888118a48..6941b9cd25 100644 --- a/assets/javascripts/views/layout/settings.coffee +++ b/assets/javascripts/views/layout/settings.coffee @@ -25,7 +25,6 @@ class app.views.Settings extends app.View if super @render() document.body.classList.remove(SIDEBAR_HIDDEN_LAYOUT) - app.appCache?.on 'progress', @onAppCacheProgress return deactivate: -> @@ -33,7 +32,6 @@ class app.views.Settings extends app.View @resetClass() @docPicker.detach() document.body.classList.add(SIDEBAR_HIDDEN_LAYOUT) if app.settings.hasLayout(SIDEBAR_HIDDEN_LAYOUT) - app.appCache?.off 'progress', @onAppCacheProgress return render: -> @@ -52,7 +50,7 @@ class app.views.Settings extends app.View docs = @docPicker.getSelectedDocs() app.settings.setDocs(docs) - @saveBtn.textContent = if app.appCache then 'Downloading\u2026' else 'Saving\u2026' + @saveBtn.textContent = 'Saving\u2026' disabledDocs = new app.collections.Docs(doc for doc in app.docs.all() when docs.indexOf(doc.slug) is -1) disabledDocs.uninstall -> app.db.migrate() @@ -83,9 +81,3 @@ class app.views.Settings extends app.View $.stopEvent(event) app.router.show '/' return - - onAppCacheProgress: (event) => - if event.lengthComputable - percentage = Math.round event.loaded * 100 / event.total - @saveBtn.textContent = "Downloading\u2026 (#{percentage}%)" - return diff --git a/lib/app.rb b/lib/app.rb index 32cac31ba5..18dbe9013c 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -220,7 +220,7 @@ def dark_theme? app_theme == 'dark' end - def redirect_via_js(path) # courtesy of HTML5 App Cache + def redirect_via_js(path) response.set_cookie :initial_path, value: path, expires: Time.now + 15, path: '/' redirect '/', 302 end @@ -243,15 +243,15 @@ def supports_js_redirection? end end - get '/manifest.appcache' do - content_type 'text/cache-manifest' + get '/service-worker.js' do + content_type 'application/javascript' expires 0, :'no-cache' - erb :manifest + erb :'service-worker.js' end get '/' do return redirect "/#q=#{params[:q]}" if params[:q] - return redirect '/' unless request.query_string.empty? # courtesy of HTML5 App Cache + return redirect '/' unless request.query_string.empty? response.headers['Content-Security-Policy'] = settings.csp if settings.csp erb :index end diff --git a/test/app_test.rb b/test/app_test.rb index 92a24acdf8..909eb42c9c 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -106,58 +106,6 @@ def app end end - describe "/manifest.appcache" do - it "works" do - get '/manifest.appcache' - assert last_response.ok? - end - - it "works with cookie" do - set_cookie('docs=css/html~5') - get '/manifest.appcache' - assert last_response.ok? - assert_includes last_response.body, '/css/index.json?1420139788' - assert_includes last_response.body, '/html~5/index.json?1420139791' - end - - it "ignores invalid docs in the cookie" do - set_cookie('docs=foo') - get '/manifest.appcache' - assert last_response.ok? - refute_includes last_response.body, 'foo' - end - - it "has the word 'default' when no 'dark' cookie is set" do - get '/manifest.appcache' - assert_includes last_response.body, '# default' - refute_includes last_response.body, '# dark' - end - - it "has the word 'dark' when the cookie is set" do - set_cookie('dark=1') - get '/manifest.appcache' - assert_includes last_response.body, '# dark' - refute_includes last_response.body, '# default' - end - - it "sets default size" do - get '/manifest.appcache' - assert_includes last_response.body, '20rem' - end - - it "sets size from cookie" do - set_cookie('size=42') - get '/manifest.appcache' - assert_includes last_response.body, '42px' - end - - it "sets layout from cookie" do - set_cookie('layout=foo_layout') - get '/manifest.appcache' - assert_includes last_response.body, 'foo_layout' - end - end - describe "/[doc]" do it "renders when the doc exists and isn't enabled" do set_cookie('docs=html~5') diff --git a/views/index.erb b/views/index.erb index 022e927f3f..8e42c3c788 100644 --- a/views/index.erb +++ b/views/index.erb @@ -1,5 +1,5 @@ - prefix="og: http://ogp.me/ns#" lang="en" class="_booting _theme-<%= app_theme %>"> + diff --git a/views/manifest.erb b/views/manifest.erb deleted file mode 100644 index 9d2df923be..0000000000 --- a/views/manifest.erb +++ /dev/null @@ -1,14 +0,0 @@ -CACHE MANIFEST -# <%= app_theme %> <%= app_size %> <%= app_layout %> - -CACHE: -/ -<%= manifest_asset_urls.join "\n" %> -<%= doc_index_urls.join "\n" %> - -NETWORK: -/s/ -* - -FALLBACK: -/ / diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb new file mode 100644 index 0000000000..74ce45b288 --- /dev/null +++ b/views/service-worker.js.erb @@ -0,0 +1,64 @@ +<%# Use the hash of the application.js file as cache name, or 'app' if not running in production %> +<%# This ensures that the cache is always updated if the hash of the application.js file changes %> +const cacheName = '<%= javascript_path('application', asset_host: false).scan(/application-([^\.]+)\.js/).last&.first || 'app' %>'; + +<%# Paths to cache when the service worker is installed %> +const cachePaths = [ + '/', + '/favicon.ico', + '/manifest.json', + '/images/webapp-icon-32.png', + '/images/webapp-icon-60.png', + '/images/webapp-icon-80.png', + '/images/webapp-icon-128.png', + '/images/webapp-icon-256.png', + '/images/webapp-icon-512.png', + '<%= manifest_asset_urls.join "',\n '" %>', + '<%= doc_index_urls.join "',\n '" %>', +]; + +<%# Set-up the cache %> +self.addEventListener('install', event => { + self.skipWaiting(); + + event.waitUntil( + caches.open(cacheName).then(cache => cache.addAll(cachePaths)), + ); +}); + +<%# Remove old caches %> +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(keys => Promise.all( + keys.map(key => { + if (key !== cacheName) { + return caches.delete(key); + } + }) + )) + ); +}); + +<%# Handle HTTP requests %> +self.addEventListener('fetch', event => { + event.respondWith( + caches.match(event.request).then(response => { + if (response) { + return response; + } + + return fetch(event.request) + .catch(err => { + const url = new URL(event.request.url); + + <%# Return the index page from the cache if the user is visiting a url like devdocs.io/javascript/global_objects/array/find %> + <%# The index page will make sure the correct documentation or a proper offline page is shown %> + if (url.origin === location.origin && !url.pathname.includes('.')) { + return caches.match('/').then(response => response || err); + } + + return err; + }); + }) + ); +}); diff --git a/views/unsupported.erb b/views/unsupported.erb index a01b7c7e4c..77064160be 100644 --- a/views/unsupported.erb +++ b/views/unsupported.erb @@ -11,9 +11,9 @@

    DevDocs is an API documentation browser which supports the following browsers:

    • Recent versions of Firefox, Chrome, or Opera
    • -
    • Safari 9.1+
    • +
    • Safari 11.1+
    • Edge 16+
    • -
    • iOS 10+
    • +
    • iOS 11.3+

    If you're unable to upgrade, we apologize. From ec8616e289fc1b2eff7cdd623d1713f00fee1f68 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 03:25:42 +0200 Subject: [PATCH 0116/2822] Service worker refactoring --- assets/javascripts/app/serviceworker.coffee | 18 ++----- views/service-worker.js.erb | 52 ++++++++++----------- 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/assets/javascripts/app/serviceworker.coffee b/assets/javascripts/app/serviceworker.coffee index 2faab8f2f9..8bdd5064e0 100644 --- a/assets/javascripts/app/serviceworker.coffee +++ b/assets/javascripts/app/serviceworker.coffee @@ -6,7 +6,6 @@ class app.ServiceWorker constructor: -> @registration = null - @installingRegistration = null @notifyUpdate = true navigator.serviceWorker.register(app.config.service_worker_path, {scope: '/'}) @@ -16,37 +15,30 @@ class app.ServiceWorker update: -> return unless @registration @notifyUpdate = true - return @doUpdate() + return @registration.update().catch(->) updateInBackground: -> return unless @registration @notifyUpdate = false - return @doUpdate() + return @registration.update().catch(->) reload: -> return @updateInBackground().then(() -> app.reboot()) - doUpdate: -> - return @registration.update().catch(->) - updateRegistration: (registration) -> - $.off @registration, 'updatefound', @onUpdateFound if @registration - $.off @installingRegistration, 'statechange', @onStateChange if @installingRegistration - @registration = registration - @installingRegistration = null - $.on @registration, 'updatefound', @onUpdateFound return onUpdateFound: () => + $.off @installingRegistration, 'statechange', @onStateChange() if @installingRegistration @installingRegistration = @registration.installing $.on @installingRegistration, 'statechange', @onStateChange return onStateChange: () => - if @installingRegistration.state == 'installed' and navigator.serviceWorker.controller - @updateRegistration(@installingRegistration) + if @installingRegistration and @installingRegistration.state == 'installed' and navigator.serviceWorker.controller + @installingRegistration = null @onUpdateReady() return diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 74ce45b288..498ef716fb 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -1,4 +1,4 @@ -<%# Use the hash of the application.js file as cache name, or 'app' if not running in production %> +<%# Use the hash of the application.js file as cache name or 'app' if not running in production %> <%# This ensures that the cache is always updated if the hash of the application.js file changes %> const cacheName = '<%= javascript_path('application', asset_host: false).scan(/application-([^\.]+)\.js/).last&.first || 'app' %>'; @@ -28,37 +28,33 @@ self.addEventListener('install', event => { <%# Remove old caches %> self.addEventListener('activate', event => { - event.waitUntil( - caches.keys().then(keys => Promise.all( - keys.map(key => { - if (key !== cacheName) { - return caches.delete(key); - } - }) - )) - ); + event.waitUntil((async () => { + const keys = await caches.keys(); + const jobs = keys.map(key => key !== cacheName ? caches.delete(key) : Promise.resolve()); + return await Promise.all(jobs); + })()); }); <%# Handle HTTP requests %> self.addEventListener('fetch', event => { - event.respondWith( - caches.match(event.request).then(response => { - if (response) { - return response; + event.respondWith((async () => { + const cachedResponse = await caches.match(event.request); + if (cachedResponse) return cachedResponse; + + try { + const response = await fetch(event.request); + return response; + } catch (err) { + const url = new URL(event.request.url); + + <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/javascript/global_objects/array/find %> + <%# The index page will make sure the correct documentation or a proper offline page is shown %> + if (url.origin === location.origin && !url.pathname.includes('.')) { + const cachedIndex = await caches.match('/'); + if (cachedIndex) return cachedIndex; } - return fetch(event.request) - .catch(err => { - const url = new URL(event.request.url); - - <%# Return the index page from the cache if the user is visiting a url like devdocs.io/javascript/global_objects/array/find %> - <%# The index page will make sure the correct documentation or a proper offline page is shown %> - if (url.origin === location.origin && !url.pathname.includes('.')) { - return caches.match('/').then(response => response || err); - } - - return err; - }); - }) - ); + throw err; + } + })()); }); From 0e9aa8847b3a205dfed240c4f82292508e44cf6b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 14:11:39 +0200 Subject: [PATCH 0117/2822] Add preference to bypass service worker cache --- assets/javascripts/app/settings.coffee | 6 ++++++ assets/javascripts/templates/pages/settings_tmpl.coffee | 4 ++++ assets/javascripts/views/content/settings_page.coffee | 7 +++++++ docs/adding-docs.md | 2 ++ lib/app.rb | 4 ++++ views/service-worker.js.erb | 6 +++++- 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index daf3379a5f..7b731e0be6 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -5,6 +5,7 @@ class app.Settings 'manualUpdate' 'fastScroll' 'arrowScroll' + 'bypassCache' 'docs' 'dark' 'layout' @@ -91,6 +92,11 @@ class app.Settings @set 'size', value return + setBypassCache: (value) -> + @set 'bypassCache', value + app.serviceWorker?.updateInBackground() + return + dump: -> @store.dump() diff --git a/assets/javascripts/templates/pages/settings_tmpl.coffee b/assets/javascripts/templates/pages/settings_tmpl.coffee index 1d439edb5e..4a2066f1ec 100644 --- a/assets/javascripts/templates/pages/settings_tmpl.coffee +++ b/assets/javascripts/templates/pages/settings_tmpl.coffee @@ -15,6 +15,10 @@ app.templates.settingsPage = (settings) -> """ Automatically hide and show the sidebar Tip: drag the edge of the sidebar to resize it. + diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index af2e9a9d5e..96904a1315 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -14,6 +14,7 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') + settings.bypassCache = app.settings.get('bypassCache') settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS settings @@ -32,6 +33,10 @@ class app.views.SettingsPage extends app.View app.settings.set('fastScroll', !enable) return + toggleBypassCache: (enable) -> + app.settings.setBypassCache(!!enable) + return + toggle: (name, enable) -> app.settings.set(name, enable) return @@ -75,6 +80,8 @@ class app.views.SettingsPage extends app.View @toggleSmoothScroll input.checked when 'import' @import input.files[0], input + when 'bypassCache' + @toggleBypassCache input.checked else @toggle input.name, input.checked return diff --git a/docs/adding-docs.md b/docs/adding-docs.md index dfc96cb150..4b34b0458b 100644 --- a/docs/adding-docs.md +++ b/docs/adding-docs.md @@ -2,6 +2,8 @@ Adding a documentation may look like a daunting task but once you get the hang o **Note:** please read the [contributing guidelines](../.github/CONTRIBUTING.md) before submitting a new documentation. +**Note:** when editing any of the files in the `assets` directory or the `public` directory, you'll have to bypass the service worker cache. To do this, go to the Preferences page on your local instance of DevDocs, check "Bypass Service Worker cache" and refresh the page. + 1. Create a subclass of `Docs::UrlScraper` or `Docs::FileScraper` in the `lib/docs/scrapers/` directory. Its name should be the [PascalCase](http://api.rubyonrails.org/classes/String.html#method-i-camelize) equivalent of the filename (e.g. `my_doc` → `MyDoc`) 2. Add the appropriate class attributes and filter options (see the [Scraper Reference](./scraper-reference.md) page). 3. Check that the scraper is listed in `thor docs:list`. diff --git a/lib/app.rb b/lib/app.rb index 18dbe9013c..d6d3032655 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -220,6 +220,10 @@ def dark_theme? app_theme == 'dark' end + def bypass_cache? + !memoized_cookies['bypassCache'].nil? + end + def redirect_via_js(path) response.set_cookie :initial_path, value: path, expires: Time.now + 15, path: '/' redirect '/', 302 diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 498ef716fb..e9028f4d56 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -31,13 +31,16 @@ self.addEventListener('activate', event => { event.waitUntil((async () => { const keys = await caches.keys(); const jobs = keys.map(key => key !== cacheName ? caches.delete(key) : Promise.resolve()); - return await Promise.all(jobs); + return Promise.all(jobs); })()); }); <%# Handle HTTP requests %> self.addEventListener('fetch', event => { event.respondWith((async () => { + <% if bypass_cache? %> + return fetch(event.request); + <% else %> const cachedResponse = await caches.match(event.request); if (cachedResponse) return cachedResponse; @@ -56,5 +59,6 @@ self.addEventListener('fetch', event => { throw err; } + <% end %> })()); }); From 7af10a020d6d1200696eb77ae01b483e8d392d17 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 14:19:04 +0200 Subject: [PATCH 0118/2822] Cache debug.js when not running in production --- docs/maintainers.md | 2 +- views/service-worker.js.erb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/maintainers.md b/docs/maintainers.md index 1369816d06..455e650154 100644 --- a/docs/maintainers.md +++ b/docs/maintainers.md @@ -84,7 +84,7 @@ In addition to the [publicly-documented commands](https://github.com/freeCodeCam Once docs have been uploaded via `thor docs:upload` (if applicable), deploying DevDocs is as simple as running `git push heroku master`. See [Heroku's documentation](https://devcenter.heroku.com/articles/git) for more information. -- If you're deploying documentation updates, verify that the documentations work properly once the deploy is done (you will need to reload [devdocs.io](https://devdocs.io/) a couple times for the application cache to update and the new version to load). +- If you're deploying documentation updates, verify that the documentations work properly once the deploy is done (you will need to reload [devdocs.io](https://devdocs.io/) a couple times for the service worker to update and the new version to load). - If you're deploying frontend changes, monitor [Sentry](https://sentry.io/devdocs/devdocs-js/) for new JS errors once the deploy is done. - If you're deploying server changes, monitor New Relic (accessible through [the Heroku dashboard](https://dashboard.heroku.com/apps/devdocs)) for Ruby exceptions and throughput or response time changes once the deploy is done. diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index e9028f4d56..e2986edefb 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -14,7 +14,8 @@ const cachePaths = [ '/images/webapp-icon-256.png', '/images/webapp-icon-512.png', '<%= manifest_asset_urls.join "',\n '" %>', - '<%= doc_index_urls.join "',\n '" %>', + '<%= doc_index_urls.join "',\n '" %>',<% unless App.production? %> + '<%= javascript_path('debug') %>',<% end %> ]; <%# Set-up the cache %> From 35dd78f1916932e25549ffa3e58aace38354b56f Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 14:30:31 +0200 Subject: [PATCH 0119/2822] Refactoring --- README.md | 2 +- lib/app.rb | 9 +++++---- views/service-worker.js.erb | 5 ++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d8d921432f..5114e7e8ff 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ The web app is all client-side JavaScript, written in [CoffeeScript](http://coff Many of the code's design decisions were driven by the fact that the app uses XHR to load content directly into the main frame. This includes stripping the original documents of most of their HTML markup (e.g. scripts and stylesheets) to avoid polluting the main frame, and prefixing all CSS class names with an underscore to prevent conflicts. -Another driving factor is performance and the fact that everything happens in the browser. `applicationCache` (which comes with its own set of constraints) and `localStorage` are used to speed up the boot time, while memory consumption is kept in check by allowing the user to pick his/her own set of documentations. The search algorithm is kept simple because it needs to be fast even searching through 100,000 strings. +Another driving factor is performance and the fact that everything happens in the browser. A service worker (which comes with its own set of constraints) and `localStorage` are used to speed up the boot time, while memory consumption is kept in check by allowing the user to pick his/her own set of documentations. The search algorithm is kept simple because it needs to be fast even searching through 100,000 strings. DevDocs being a developer tool, the browser requirements are high: diff --git a/lib/app.rb b/lib/app.rb index d6d3032655..4e2b749cc2 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -192,16 +192,17 @@ def query_string_for_redirection request.query_string.empty? ? nil : "?#{request.query_string}" end - def manifest_asset_urls - @@manifest_asset_urls ||= [ + def service_worker_asset_urls + @@service_worker_asset_urls ||= [ javascript_path('application', asset_host: false), stylesheet_path('application'), image_path('docs-1.png'), image_path('docs-1@2x.png'), image_path('docs-2.png'), image_path('docs-2@2x.png'), - asset_path('docs.js') - ] + asset_path('docs.js'), + App.production? ? nil : javascript_path('debug'), + ].compact end def app_size diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index e2986edefb..c962564b03 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -13,9 +13,8 @@ const cachePaths = [ '/images/webapp-icon-128.png', '/images/webapp-icon-256.png', '/images/webapp-icon-512.png', - '<%= manifest_asset_urls.join "',\n '" %>', - '<%= doc_index_urls.join "',\n '" %>',<% unless App.production? %> - '<%= javascript_path('debug') %>',<% end %> + '<%= service_worker_asset_urls.join "',\n '" %>', + '<%= doc_index_urls.join "',\n '" %>', ]; <%# Set-up the cache %> From aaf9904cb35a520addb5ffff10845d9b7c1bcdba Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 7 Jul 2019 15:21:29 +0200 Subject: [PATCH 0120/2822] Remove redundant server-side styling --- lib/app.rb | 12 ------------ views/index.erb | 4 ++-- views/other.erb | 4 ++-- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/lib/app.rb b/lib/app.rb index 4e2b749cc2..c89328adbc 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -209,18 +209,6 @@ def app_size @app_size ||= memoized_cookies['size'].nil? ? '20rem' : "#{memoized_cookies['size']}px" end - def app_layout - memoized_cookies['layout'] - end - - def app_theme - @app_theme ||= memoized_cookies['dark'].nil? ? 'default' : 'dark' - end - - def dark_theme? - app_theme == 'dark' - end - def bypass_cache? !memoized_cookies['bypassCache'].nil? end diff --git a/views/index.erb b/views/index.erb index 8e42c3c788..c161fe3c42 100644 --- a/views/index.erb +++ b/views/index.erb @@ -1,5 +1,5 @@ - + @@ -32,7 +32,7 @@ <%= stylesheet_tag 'application' %> -> + <%= erb :app -%> <%= javascript_tag 'application', asset_host: false %> diff --git a/views/other.erb b/views/other.erb index ee9b8de176..635770293d 100644 --- a/views/other.erb +++ b/views/other.erb @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@ <%= stylesheet_tag 'application' %> - data-doc="<%= CGI::escape_html @doc.to_json %>"> + <%= erb :app -%> <%= javascript_tag 'application', asset_host: false %><% unless App.production? %> From dd23a6c7b70f6408a824d6db7080d5512482034b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 8 Jul 2019 01:42:34 +0200 Subject: [PATCH 0121/2822] Move all styling configuration to the client --- assets/javascripts/app/app.coffee | 4 ++-- assets/javascripts/app/serviceworker.coffee | 4 ++-- assets/javascripts/app/settings.coffee | 21 ++++++++++++++++++++ lib/app.rb | 4 ---- public/images/webapp-icon-192.png | Bin 0 -> 32187 bytes public/manifest.json | 6 ++++++ views/app.erb | 6 ------ views/service-worker.js.erb | 12 +++-------- 8 files changed, 34 insertions(+), 23 deletions(-) create mode 100644 public/images/webapp-icon-192.png diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 0d2d9814e9..0928f45b0b 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -17,6 +17,8 @@ @settings = new app.Settings @db = new app.DB() + @settings.initLayout() + @docs = new app.collections.Docs @disabledDocs = new app.collections.Docs @entries = new app.collections.Entries @@ -26,8 +28,6 @@ @document = new app.views.Document @mobile = new app.views.Mobile if @isMobile() - @settings.initLayout() - if document.body.hasAttribute('data-doc') @DOC = JSON.parse(document.body.getAttribute('data-doc')) @bootOne() diff --git a/assets/javascripts/app/serviceworker.coffee b/assets/javascripts/app/serviceworker.coffee index 8bdd5064e0..7a58f3043b 100644 --- a/assets/javascripts/app/serviceworker.coffee +++ b/assets/javascripts/app/serviceworker.coffee @@ -30,13 +30,13 @@ class app.ServiceWorker $.on @registration, 'updatefound', @onUpdateFound return - onUpdateFound: () => + onUpdateFound: => $.off @installingRegistration, 'statechange', @onStateChange() if @installingRegistration @installingRegistration = @registration.installing $.on @installingRegistration, 'statechange', @onStateChange return - onStateChange: () => + onStateChange: => if @installingRegistration and @installingRegistration.state == 'installed' and navigator.serviceWorker.controller @installingRegistration = null @onUpdateReady() diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 7b731e0be6..58875f4285 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -120,6 +120,7 @@ class app.Settings initLayout: -> @toggleDark(@get('dark')) @toggleLayout(layout, @hasLayout(layout)) for layout in @LAYOUTS + @addResizerCSS() toggleDark: (enable) -> classList = document.documentElement.classList @@ -130,3 +131,23 @@ class app.Settings classList = document.body.classList classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') + + addResizerCSS: -> + size = @get('size') + size = if size then size + 'px' else '20rem' + + css = """ + ._container { margin-left: #{size}; } + ._header, ._list { width: #{size}; } + ._list-hover.clone { min-width: #{size}; } + ._notice, ._path, ._resizer { left: #{size}; } + """ + + style = document.createElement('style') + style.type = 'text/css' + style.appendChild(document.createTextNode(css)) + style.setAttribute('data-size', size) + style.setAttribute('data-resizer', '') + + document.head.appendChild(style) + return diff --git a/lib/app.rb b/lib/app.rb index c89328adbc..83e646e494 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -205,10 +205,6 @@ def service_worker_asset_urls ].compact end - def app_size - @app_size ||= memoized_cookies['size'].nil? ? '20rem' : "#{memoized_cookies['size']}px" - end - def bypass_cache? !memoized_cookies['bypassCache'].nil? end diff --git a/public/images/webapp-icon-192.png b/public/images/webapp-icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d1dd75e08500da6af54184399113672be73f93 GIT binary patch literal 32187 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 z - diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index c962564b03..20de7bbe4f 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -2,17 +2,11 @@ <%# This ensures that the cache is always updated if the hash of the application.js file changes %> const cacheName = '<%= javascript_path('application', asset_host: false).scan(/application-([^\.]+)\.js/).last&.first || 'app' %>'; -<%# Paths to cache when the service worker is installed %> -const cachePaths = [ +<%# Url's to cache when the service worker is installed %> +const urlsToCache = [ '/', '/favicon.ico', '/manifest.json', - '/images/webapp-icon-32.png', - '/images/webapp-icon-60.png', - '/images/webapp-icon-80.png', - '/images/webapp-icon-128.png', - '/images/webapp-icon-256.png', - '/images/webapp-icon-512.png', '<%= service_worker_asset_urls.join "',\n '" %>', '<%= doc_index_urls.join "',\n '" %>', ]; @@ -22,7 +16,7 @@ self.addEventListener('install', event => { self.skipWaiting(); event.waitUntil( - caches.open(cacheName).then(cache => cache.addAll(cachePaths)), + caches.open(cacheName).then(cache => cache.addAll(urlsToCache)), ); }); From 4a088caf7c4e09cd0f8e1609171f990ad5baf65e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 8 Jul 2019 02:02:58 +0200 Subject: [PATCH 0122/2822] Remove redundant server-side rendering --- public/manifest.json | 1 - views/app.erb | 8 +------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/public/manifest.json b/public/manifest.json index 301c56d15a..1e6ea56faf 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -4,7 +4,6 @@ "description": "API Documentation Browser", "start_url": "/", "display": "standalone", - "background_color": "#EEEEEE", "icons": [ { "src": "/images/webapp-icon-32.png", diff --git a/views/app.erb b/views/app.erb index 7e3cc10bc1..ffaa1bf340 100644 --- a/views/app.erb +++ b/views/app.erb @@ -28,13 +28,7 @@

    -
    - <% unless @doc %> - <% App.docs.each do |slug, doc| %> - <%= doc['full_name'] %> - <% end %> - <% end %> -
    +
    From 0cd1527143e6b790b0789102ee6cda649d0cdad1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 8 Jul 2019 02:20:41 +0200 Subject: [PATCH 0123/2822] Re-add background color to manifest --- public/manifest.json | 1 + 1 file changed, 1 insertion(+) diff --git a/public/manifest.json b/public/manifest.json index 1e6ea56faf..301c56d15a 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -4,6 +4,7 @@ "description": "API Documentation Browser", "start_url": "/", "display": "standalone", + "background_color": "#EEEEEE", "icons": [ { "src": "/images/webapp-icon-32.png", From 576f32dae1ef2d987eb4c3f1d810a249729ff20e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 19:48:36 +0200 Subject: [PATCH 0124/2822] Make service worker opt-in in development --- Dockerfile | 1 + Dockerfile-alpine | 1 + assets/javascripts/app/config.coffee.erb | 1 + assets/javascripts/app/serviceworker.coffee | 2 +- assets/javascripts/app/settings.coffee | 6 ----- .../templates/pages/offline_tmpl.coffee | 7 +++++- .../templates/pages/root_tmpl.coffee.erb | 2 +- .../templates/pages/settings_tmpl.coffee | 4 ---- .../views/content/settings_page.coffee | 7 ------ docs/adding-docs.md | 2 -- lib/app.rb | 24 +++++++++++++++++-- views/service-worker.js.erb | 10 +++----- 12 files changed, 36 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77443edd44..420bd19577 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM ruby:2.6.0 ENV LANG=C.UTF-8 +ENV ENABLE_SERVICE_WORKER=true WORKDIR /devdocs diff --git a/Dockerfile-alpine b/Dockerfile-alpine index 5bd25afee7..a5d993f75c 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -1,6 +1,7 @@ FROM ruby:2.6.0-alpine ENV LANG=C.UTF-8 +ENV ENABLE_SERVICE_WORKER=true WORKDIR /devdocs diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index 765da0b503..9b28b5a5a1 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -14,3 +14,4 @@ app.config = release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' service_worker_path: '/service-worker.js' + service_worker_enabled: <%= App.environment == 'production' || !ENV["ENABLE_SERVICE_WORKER"].nil? %> diff --git a/assets/javascripts/app/serviceworker.coffee b/assets/javascripts/app/serviceworker.coffee index 7a58f3043b..188a7e421b 100644 --- a/assets/javascripts/app/serviceworker.coffee +++ b/assets/javascripts/app/serviceworker.coffee @@ -2,7 +2,7 @@ class app.ServiceWorker $.extend @prototype, Events @isEnabled: -> - !!navigator.serviceWorker + !!navigator.serviceWorker and app.config.service_worker_enabled constructor: -> @registration = null diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 58875f4285..0540bfb7e3 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -5,7 +5,6 @@ class app.Settings 'manualUpdate' 'fastScroll' 'arrowScroll' - 'bypassCache' 'docs' 'dark' 'layout' @@ -92,11 +91,6 @@ class app.Settings @set 'size', value return - setBypassCache: (value) -> - @set 'bypassCache', value - app.serviceWorker?.updateInBackground() - return - dump: -> @store.dump() diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index 52705605ac..52f64839b6 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -44,7 +44,12 @@ canICloseTheTab = -> if app.ServiceWorker.isEnabled() """ Yes! Even offline, you can open a new tab, go to devdocs.io, and everything will work as if you were online (provided you installed all the documentations you want to use beforehand). """ else - """ No. Service Workers aren't available in your browser (or are disabled), so loading devdocs.io offline won't work.
    + reason = "aren't available in your browser (or are disabled)" + + if app.config.env != 'production' + reason = "are disabled in your development instance of DevDocs (enable them by setting the ENABLE_SERVICE_WORKERS environment variable)" + + """ No. Service Workers #{reason}, so loading devdocs.io offline won't work.
    The current tab will continue to function even when you go offline (provided you installed all the documentations beforehand). """ app.templates.offlineDoc = (doc, status) -> diff --git a/assets/javascripts/templates/pages/root_tmpl.coffee.erb b/assets/javascripts/templates/pages/root_tmpl.coffee.erb index 7adce7fd2a..a94a99a0aa 100644 --- a/assets/javascripts/templates/pages/root_tmpl.coffee.erb +++ b/assets/javascripts/templates/pages/root_tmpl.coffee.erb @@ -8,7 +8,7 @@ app.templates.intro = """

    Thanks for downloading DevDocs. Here are a few things you should know:

    1. Your local version of DevDocs won't self-update. Unless you're modifying the code, - I recommend using the hosted version at devdocs.io. + we recommend using the hosted version at devdocs.io.
    2. Run thor docs:list to see all available documentations.
    3. Run thor docs:download <name> to download documentations.
    4. Run thor docs:download --installed to update all downloaded documentations. diff --git a/assets/javascripts/templates/pages/settings_tmpl.coffee b/assets/javascripts/templates/pages/settings_tmpl.coffee index 4a2066f1ec..1d439edb5e 100644 --- a/assets/javascripts/templates/pages/settings_tmpl.coffee +++ b/assets/javascripts/templates/pages/settings_tmpl.coffee @@ -15,10 +15,6 @@ app.templates.settingsPage = (settings) -> """ Automatically hide and show the sidebar Tip: drag the edge of the sidebar to resize it. -
    diff --git a/assets/javascripts/views/content/settings_page.coffee b/assets/javascripts/views/content/settings_page.coffee index 96904a1315..af2e9a9d5e 100644 --- a/assets/javascripts/views/content/settings_page.coffee +++ b/assets/javascripts/views/content/settings_page.coffee @@ -14,7 +14,6 @@ class app.views.SettingsPage extends app.View settings.dark = app.settings.get('dark') settings.smoothScroll = !app.settings.get('fastScroll') settings.arrowScroll = app.settings.get('arrowScroll') - settings.bypassCache = app.settings.get('bypassCache') settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS settings @@ -33,10 +32,6 @@ class app.views.SettingsPage extends app.View app.settings.set('fastScroll', !enable) return - toggleBypassCache: (enable) -> - app.settings.setBypassCache(!!enable) - return - toggle: (name, enable) -> app.settings.set(name, enable) return @@ -80,8 +75,6 @@ class app.views.SettingsPage extends app.View @toggleSmoothScroll input.checked when 'import' @import input.files[0], input - when 'bypassCache' - @toggleBypassCache input.checked else @toggle input.name, input.checked return diff --git a/docs/adding-docs.md b/docs/adding-docs.md index 4b34b0458b..dfc96cb150 100644 --- a/docs/adding-docs.md +++ b/docs/adding-docs.md @@ -2,8 +2,6 @@ Adding a documentation may look like a daunting task but once you get the hang o **Note:** please read the [contributing guidelines](../.github/CONTRIBUTING.md) before submitting a new documentation. -**Note:** when editing any of the files in the `assets` directory or the `public` directory, you'll have to bypass the service worker cache. To do this, go to the Preferences page on your local instance of DevDocs, check "Bypass Service Worker cache" and refresh the page. - 1. Create a subclass of `Docs::UrlScraper` or `Docs::FileScraper` in the `lib/docs/scrapers/` directory. Its name should be the [PascalCase](http://api.rubyonrails.org/classes/String.html#method-i-camelize) equivalent of the filename (e.g. `my_doc` → `MyDoc`) 2. Add the appropriate class attributes and filter options (see the [Scraper Reference](./scraper-reference.md) page). 3. Check that the scraper is listed in `thor docs:list`. diff --git a/lib/app.rb b/lib/app.rb index 83e646e494..a0063e4963 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -205,8 +205,28 @@ def service_worker_asset_urls ].compact end - def bypass_cache? - !memoized_cookies['bypassCache'].nil? + def service_worker_cache_name + # Returns the digest of the last modified asset + # When a manifest exist, this digest is only calculated once based on the asset manifest because it never changes without a server restart + # If a manifest does not exist, it is calculated every time this method is called because the assets can change while the server is running + if File.exist?(App.assets_manifest_path) + return @@service_worker_cache_name ||= + Sprockets::Manifest + .new(nil, App.assets_manifest_path) + .files + .values + .sort_by {|file| file["mtime"]} + .reverse + .first["digest"] + else + last_modified_file = App.sprockets + .each_file + .to_a + .reject {|file| file.start_with?(App.docs_path)} + .max_by {|file| File.mtime(file)} + + return App.sprockets.pack_base64digest(App.sprockets.file_digest(last_modified_file)) + end end def redirect_via_js(path) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 20de7bbe4f..d9eb4a6c70 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -1,6 +1,6 @@ -<%# Use the hash of the application.js file as cache name or 'app' if not running in production %> -<%# This ensures that the cache is always updated if the hash of the application.js file changes %> -const cacheName = '<%= javascript_path('application', asset_host: false).scan(/application-([^\.]+)\.js/).last&.first || 'app' %>'; +<%# The name of the cache to store responses in %> +<%# If the cache name changes DevDocs is assumed to be updated %> +const cacheName = '<%= service_worker_cache_name %>'; <%# Url's to cache when the service worker is installed %> const urlsToCache = [ @@ -32,9 +32,6 @@ self.addEventListener('activate', event => { <%# Handle HTTP requests %> self.addEventListener('fetch', event => { event.respondWith((async () => { - <% if bypass_cache? %> - return fetch(event.request); - <% else %> const cachedResponse = await caches.match(event.request); if (cachedResponse) return cachedResponse; @@ -53,6 +50,5 @@ self.addEventListener('fetch', event => { throw err; } - <% end %> })()); }); From b8a5c6be90873f78360601590fe56bbf43164f4b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 21:10:36 +0200 Subject: [PATCH 0125/2822] Update unsupported browser versions --- README.md | 6 +++--- assets/javascripts/templates/error_tmpl.coffee | 6 +++--- views/unsupported.erb | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5114e7e8ff..630142d408 100644 --- a/README.md +++ b/README.md @@ -64,9 +64,9 @@ Another driving factor is performance and the fact that everything happens in th DevDocs being a developer tool, the browser requirements are high: * Recent versions of Firefox, Chrome, or Opera -* Safari 9.1+ -* Edge 16+ -* iOS 10+ +* Safari 11.1+ +* Edge 17+ +* iOS 11.3+ This allows the code to take advantage of the latest DOM and HTML5 APIs and make developing DevDocs a lot more fun! diff --git a/assets/javascripts/templates/error_tmpl.coffee b/assets/javascripts/templates/error_tmpl.coffee index c4bf40ecbd..86b7b09128 100644 --- a/assets/javascripts/templates/error_tmpl.coffee +++ b/assets/javascripts/templates/error_tmpl.coffee @@ -57,9 +57,9 @@ app.templates.unsupportedBrowser = """

    DevDocs is an API documentation browser which supports the following browsers:

    • Recent versions of Firefox, Chrome, or Opera -
    • Safari 9.1+ -
    • Edge 16+ -
    • iOS 10+ +
    • Safari 11.1+ +
    • Edge 17+ +
    • iOS 11.3+

    If you're unable to upgrade, we apologize. diff --git a/views/unsupported.erb b/views/unsupported.erb index 77064160be..6c1ded7ef1 100644 --- a/views/unsupported.erb +++ b/views/unsupported.erb @@ -12,7 +12,7 @@

    • Recent versions of Firefox, Chrome, or Opera
    • Safari 11.1+
    • -
    • Edge 16+
    • +
    • Edge 17+
    • iOS 11.3+

    From 27167a49a6c6183a670026335abb28cff473e37a Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 21:15:42 +0200 Subject: [PATCH 0126/2822] Update offline page --- assets/javascripts/app/config.coffee.erb | 2 +- assets/javascripts/templates/pages/offline_tmpl.coffee | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index 9b28b5a5a1..dc37feab74 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -14,4 +14,4 @@ app.config = release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' service_worker_path: '/service-worker.js' - service_worker_enabled: <%= App.environment == 'production' || !ENV["ENABLE_SERVICE_WORKER"].nil? %> + service_worker_enabled: <%= App.environment == 'production' || ENV["ENABLE_SERVICE_WORKER"] == 'true' %> diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index 52f64839b6..e8b262aa6c 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -47,7 +47,7 @@ canICloseTheTab = -> reason = "aren't available in your browser (or are disabled)" if app.config.env != 'production' - reason = "are disabled in your development instance of DevDocs (enable them by setting the ENABLE_SERVICE_WORKERS environment variable)" + reason = "are disabled in your development instance of DevDocs (enable them by setting the ENABLE_SERVICE_WORKERS environment variable to true)" """ No. Service Workers #{reason}, so loading devdocs.io offline won't work.
    The current tab will continue to function even when you go offline (provided you installed all the documentations beforehand). """ From 2bbbc66e8c150554b03b940c7b83a846035b95c9 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 21:25:24 +0200 Subject: [PATCH 0127/2822] Update quotes --- assets/javascripts/app/config.coffee.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index dc37feab74..2f5067640c 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -14,4 +14,4 @@ app.config = release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' service_worker_path: '/service-worker.js' - service_worker_enabled: <%= App.environment == 'production' || ENV["ENABLE_SERVICE_WORKER"] == 'true' %> + service_worker_enabled: <%= App.environment == 'production' || ENV['ENABLE_SERVICE_WORKER'] == 'true' %> From 5dc1437631ae662b80a0aae18e7c59391a46bcaf Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 22:38:33 +0200 Subject: [PATCH 0128/2822] Better cache name creation --- lib/app.rb | 31 +++++++++++++++++-------------- log/newrelic_agent.log | 14 ++++++++++++++ 2 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 log/newrelic_agent.log diff --git a/lib/app.rb b/lib/app.rb index a0063e4963..d193fa6aa5 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -205,27 +205,30 @@ def service_worker_asset_urls ].compact end + # Returns a cache name for the service worker to use which changes if any of the assets changes + # When a manifest exist, this name is only created once based on the asset manifest because it never changes without a server restart + # If a manifest does not exist, it is created every time this method is called because the assets can change while the server is running def service_worker_cache_name - # Returns the digest of the last modified asset - # When a manifest exist, this digest is only calculated once based on the asset manifest because it never changes without a server restart - # If a manifest does not exist, it is calculated every time this method is called because the assets can change while the server is running if File.exist?(App.assets_manifest_path) - return @@service_worker_cache_name ||= - Sprockets::Manifest - .new(nil, App.assets_manifest_path) - .files - .values - .sort_by {|file| file["mtime"]} - .reverse - .first["digest"] + if defined?(@@service_worker_cache_name) + return @@service_worker_cache_name + end + + digest = Sprockets::Manifest + .new(nil, App.assets_manifest_path) + .files + .values + .map {|file| file["digest"]} + .join + + return @@service_worker_cache_name ||= Digest::MD5.hexdigest(digest) else - last_modified_file = App.sprockets + paths = App.sprockets .each_file .to_a .reject {|file| file.start_with?(App.docs_path)} - .max_by {|file| File.mtime(file)} - return App.sprockets.pack_base64digest(App.sprockets.file_digest(last_modified_file)) + return App.sprockets.pack_hexdigest(App.sprockets.files_digest(paths)) end end diff --git a/log/newrelic_agent.log b/log/newrelic_agent.log new file mode 100644 index 0000000000..528fd5ffee --- /dev/null +++ b/log/newrelic_agent.log @@ -0,0 +1,14 @@ +# Logfile created on 2019-07-10 22:09:26 +0200 by logger.rb/66358 +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Starting the New Relic agent version 5.7.0.350 in "production" environment. +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : To prevent agent startup add a NEW_RELIC_AGENT_ENABLED=false environment variable or modify the "production" section of your newrelic.yml. +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Reading configuration from newrelic.yml (/home/jasper/Projects/devdocs) +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : No application name configured. +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : The Agent cannot start without at least one. Please check your +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : newrelic.yml and ensure that it is valid and has at least one +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : value set for app_name in the production +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : environment. +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Sinatra instrumentation +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Net instrumentation +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing deferred Rack::Builder instrumentation +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Rack::Builder middleware instrumentation +[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Finished instrumentation From 52e982b5e79c81185df9640dcbaedbd7af8ba327 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 10 Jul 2019 22:43:52 +0200 Subject: [PATCH 0129/2822] Formatting --- lib/app.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/app.rb b/lib/app.rb index d193fa6aa5..b9c5bada14 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -215,18 +215,18 @@ def service_worker_cache_name end digest = Sprockets::Manifest - .new(nil, App.assets_manifest_path) - .files - .values - .map {|file| file["digest"]} - .join + .new(nil, App.assets_manifest_path) + .files + .values + .map {|file| file["digest"]} + .join return @@service_worker_cache_name ||= Digest::MD5.hexdigest(digest) else paths = App.sprockets - .each_file - .to_a - .reject {|file| file.start_with?(App.docs_path)} + .each_file + .to_a + .reject {|file| file.start_with?(App.docs_path)} return App.sprockets.pack_hexdigest(App.sprockets.files_digest(paths)) end From fb2d7374daa8e33c89d338b48a28a2cf9f728a95 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 11 Jul 2019 16:05:48 +0200 Subject: [PATCH 0130/2822] Update page load error message --- .gitignore | 1 + assets/javascripts/templates/error_tmpl.coffee | 2 +- log/newrelic_agent.log | 14 -------------- 3 files changed, 2 insertions(+), 15 deletions(-) delete mode 100644 log/newrelic_agent.log diff --git a/.gitignore b/.gitignore index 1060fcf0c7..be0e958ef7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ public/fonts public/docs/**/* docs/**/* !docs/*.md +log diff --git a/assets/javascripts/templates/error_tmpl.coffee b/assets/javascripts/templates/error_tmpl.coffee index 86b7b09128..4b696d400e 100644 --- a/assets/javascripts/templates/error_tmpl.coffee +++ b/assets/javascripts/templates/error_tmpl.coffee @@ -12,7 +12,7 @@ app.templates.notFoundPage = -> app.templates.pageLoadError = -> error """ The page failed to load. """, - """ It may be missing from the server (try reloading the app) or you could be offline.
    + """ It may be missing from the server (try reloading the app) or you could be offline (try installing the documentation for offline usage when online again).
    If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """, """ #{back} · Reload · Retry """ diff --git a/log/newrelic_agent.log b/log/newrelic_agent.log deleted file mode 100644 index 528fd5ffee..0000000000 --- a/log/newrelic_agent.log +++ /dev/null @@ -1,14 +0,0 @@ -# Logfile created on 2019-07-10 22:09:26 +0200 by logger.rb/66358 -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Starting the New Relic agent version 5.7.0.350 in "production" environment. -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : To prevent agent startup add a NEW_RELIC_AGENT_ENABLED=false environment variable or modify the "production" section of your newrelic.yml. -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Reading configuration from newrelic.yml (/home/jasper/Projects/devdocs) -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : No application name configured. -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : The Agent cannot start without at least one. Please check your -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : newrelic.yml and ensure that it is valid and has at least one -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : value set for app_name in the production -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] ERROR : environment. -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Sinatra instrumentation -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Net instrumentation -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing deferred Rack::Builder instrumentation -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Installing Rack::Builder middleware instrumentation -[2019-07-10 22:09:26 +0200 Jasper-PC (9163)] INFO : Finished instrumentation From 79323d3ea86aa7717a8fca2fe773cb042cbcb2dd Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 11 Jul 2019 16:18:31 +0200 Subject: [PATCH 0131/2822] Update tests --- .gitignore | 2 +- test/app_test.rb | 29 ----------------------------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/.gitignore b/.gitignore index be0e958ef7..f89ecb61be 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,9 @@ .DS_Store .bundle +log tmp public/assets public/fonts public/docs/**/* docs/**/* !docs/*.md -log diff --git a/test/app_test.rb b/test/app_test.rb index 909eb42c9c..8e9e369b5e 100644 --- a/test/app_test.rb +++ b/test/app_test.rb @@ -43,35 +43,6 @@ def app assert last_response.redirect? assert_equal 'https://example.org/', last_response['Location'] end - - it "sets default size" do - get '/' - assert_includes last_response.body, 'data-size="20rem"' - end - - it "sets size from cookie" do - set_cookie('size=42') - get '/' - assert_includes last_response.body, 'data-size="42px"' - end - - it "sets layout from cookie" do - set_cookie('layout=foo') - get '/' - assert_includes last_response.body, '' - end - - it "sets the theme from cookie" do - get '/' - assert_match %r{]*class="[^\"]*_theme-default}, last_response.body - refute_includes last_response.body, '_theme-dark' - - set_cookie('dark=1') - - get '/' - assert_match %r{]*class="[^\"]*_theme-dark}, last_response.body - refute_includes last_response.body, '_theme-default' - end end describe "/[static-page]" do From c28305b0b76f1697607ad127045c281c6a8d377e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 12 Jul 2019 03:06:04 +0200 Subject: [PATCH 0132/2822] Implement review suggestions --- assets/javascripts/app/serviceworker.coffee | 6 ++-- assets/javascripts/app/settings.coffee | 32 +++++-------------- assets/javascripts/app/update_checker.coffee | 2 +- .../javascripts/templates/error_tmpl.coffee | 2 +- .../templates/pages/offline_tmpl.coffee | 4 +-- .../javascripts/views/layout/resizer.coffee | 7 +--- docs/maintainers.md | 2 +- views/service-worker.js.erb | 23 ++++++------- 8 files changed, 27 insertions(+), 51 deletions(-) diff --git a/assets/javascripts/app/serviceworker.coffee b/assets/javascripts/app/serviceworker.coffee index 188a7e421b..4023556658 100644 --- a/assets/javascripts/app/serviceworker.coffee +++ b/assets/javascripts/app/serviceworker.coffee @@ -9,8 +9,10 @@ class app.ServiceWorker @notifyUpdate = true navigator.serviceWorker.register(app.config.service_worker_path, {scope: '/'}) - .then((registration) => @updateRegistration(registration)) - .catch((error) -> console.error 'Could not register service worker:', error) + .then( + (registration) => @updateRegistration(registration), + (error) -> console.error('Could not register service worker:', error) + ) update: -> return unless @registration diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 0540bfb7e3..af29825098 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -20,7 +20,6 @@ class app.Settings ] LAYOUTS: ['_max-width', '_sidebar-hidden', '_native-scrollbars'] - SIDEBAR_HIDDEN_LAYOUT = '_sidebar-hidden' @defaults: count: 0 @@ -112,36 +111,21 @@ class app.Settings return initLayout: -> - @toggleDark(@get('dark')) + @toggleDark(@get('dark') is 1) @toggleLayout(layout, @hasLayout(layout)) for layout in @LAYOUTS - @addResizerCSS() + @initSidebarWidth() toggleDark: (enable) -> classList = document.documentElement.classList - classList[if enable then 'remove' else 'add']('_theme-default') - classList[if enable then 'add' else 'remove']('_theme-dark') + classList.toggle('_theme-default', !enable) + classList.toggle('_theme-dark', enable) toggleLayout: (layout, enable) -> classList = document.body.classList - classList[if enable then 'add' else 'remove'](layout) unless layout is SIDEBAR_HIDDEN_LAYOUT - classList[if $.overlayScrollbarsEnabled() then 'add' else 'remove']('_overlay-scrollbars') + classList.toggle(layout, enable) unless layout is '_sidebar-hidden' + classList.toggle('_overlay-scrollbars', $.overlayScrollbarsEnabled()) - addResizerCSS: -> + initSidebarWidth: -> size = @get('size') - size = if size then size + 'px' else '20rem' - - css = """ - ._container { margin-left: #{size}; } - ._header, ._list { width: #{size}; } - ._list-hover.clone { min-width: #{size}; } - ._notice, ._path, ._resizer { left: #{size}; } - """ - - style = document.createElement('style') - style.type = 'text/css' - style.appendChild(document.createTextNode(css)) - style.setAttribute('data-size', size) - style.setAttribute('data-resizer', '') - - document.head.appendChild(style) + document.documentElement.style.setProperty('--sidebarWidth', size + 'px') if size return diff --git a/assets/javascripts/app/update_checker.coffee b/assets/javascripts/app/update_checker.coffee index b98c6563b0..3558d6bc4e 100644 --- a/assets/javascripts/app/update_checker.coffee +++ b/assets/javascripts/app/update_checker.coffee @@ -3,7 +3,7 @@ class app.UpdateChecker @lastCheck = Date.now() $.on window, 'focus', @onFocus - app.serviceWorker.on 'updateready', @onUpdateReady if app.serviceWorker + app.serviceWorker?.on 'updateready', @onUpdateReady setTimeout @checkDocs, 0 diff --git a/assets/javascripts/templates/error_tmpl.coffee b/assets/javascripts/templates/error_tmpl.coffee index 4b696d400e..9cca1f9d32 100644 --- a/assets/javascripts/templates/error_tmpl.coffee +++ b/assets/javascripts/templates/error_tmpl.coffee @@ -13,7 +13,7 @@ app.templates.notFoundPage = -> app.templates.pageLoadError = -> error """ The page failed to load. """, """ It may be missing from the server (try reloading the app) or you could be offline (try installing the documentation for offline usage when online again).
    - If you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """, + If you're online and you keep seeing this, you're likely behind a proxy or firewall that blocks cross-domain requests. """, """ #{back} · Reload · Retry """ diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index e8b262aa6c..436cf1ae05 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -25,8 +25,8 @@ app.templates.offlinePage = (docs) -> """

    Questions & Answers

    How does this work? -
    Each page is cached as a key-value pair in IndexedDB (downloaded from a single file).
    - The app also uses Service Workers and localStorage to cache the assets and index files. +
    Each page is cached as a key-value pair in IndexedDB (downloaded from a single file).
    + The app also uses Service Workers and localStorage to cache the assets and index files.
    Can I close the tab/browser?
    #{canICloseTheTab()}
    What if I don't update a documentation? diff --git a/assets/javascripts/views/layout/resizer.coffee b/assets/javascripts/views/layout/resizer.coffee index 8f0ce9c4b1..5584bfbe50 100644 --- a/assets/javascripts/views/layout/resizer.coffee +++ b/assets/javascripts/views/layout/resizer.coffee @@ -11,9 +11,6 @@ class app.views.Resizer extends app.View init: -> @el.setAttribute('draggable', 'true') @appendTo $('._app') - - @style = $('style[data-resizer]') - @size = @style.getAttribute('data-size') return MIN = 260 @@ -24,13 +21,11 @@ class app.views.Resizer extends app.View return unless value > 0 value = Math.min(Math.max(Math.round(value), MIN), MAX) newSize = "#{value}px" - @style.innerHTML = @style.innerHTML.replace(new RegExp(@size, 'g'), newSize) - @size = newSize + document.documentElement.style.setProperty('--sidebarWidth', newSize) app.settings.setSize(value) if save return onDragStart: (event) => - @style.removeAttribute('disabled') event.dataTransfer.effectAllowed = 'link' event.dataTransfer.setData('Text', '') $.on(window, 'dragover', @onDrag) diff --git a/docs/maintainers.md b/docs/maintainers.md index 455e650154..8f1554faa0 100644 --- a/docs/maintainers.md +++ b/docs/maintainers.md @@ -84,7 +84,7 @@ In addition to the [publicly-documented commands](https://github.com/freeCodeCam Once docs have been uploaded via `thor docs:upload` (if applicable), deploying DevDocs is as simple as running `git push heroku master`. See [Heroku's documentation](https://devcenter.heroku.com/articles/git) for more information. -- If you're deploying documentation updates, verify that the documentations work properly once the deploy is done (you will need to reload [devdocs.io](https://devdocs.io/) a couple times for the service worker to update and the new version to load). +- If you're deploying documentation updates, verify that the documentations work properly once the deploy is done. Keep in mind that you'll need to wait a few seconds for the service worker to finish caching the new assets. You should see a "DevDocs has been updated" notification appear when the caching is done, after which you need to refresh the page to see the changes. - If you're deploying frontend changes, monitor [Sentry](https://sentry.io/devdocs/devdocs-js/) for new JS errors once the deploy is done. - If you're deploying server changes, monitor New Relic (accessible through [the Heroku dashboard](https://dashboard.heroku.com/apps/devdocs)) for Ruby exceptions and throughput or response time changes once the deploy is done. diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index d9eb4a6c70..8d5698a733 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -35,20 +35,15 @@ self.addEventListener('fetch', event => { const cachedResponse = await caches.match(event.request); if (cachedResponse) return cachedResponse; - try { - const response = await fetch(event.request); - return response; - } catch (err) { - const url = new URL(event.request.url); - - <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/javascript/global_objects/array/find %> - <%# The index page will make sure the correct documentation or a proper offline page is shown %> - if (url.origin === location.origin && !url.pathname.includes('.')) { - const cachedIndex = await caches.match('/'); - if (cachedIndex) return cachedIndex; - } - - throw err; + const url = new URL(event.request.url); + + <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> + <%# The index page will handle the routing %> + if (url.origin === location.origin && !url.pathname.includes('.')) { + const cachedIndex = await caches.match('/'); + if (cachedIndex) return cachedIndex; } + + return fetch(event.request); })()); }); From 3a32716eb992bab01555a6b5ef8868427304e737 Mon Sep 17 00:00:00 2001 From: Nicholas La Roux Date: Thu, 14 Mar 2019 10:49:49 -0400 Subject: [PATCH 0133/2822] Upgrade to Ruby 2.6.3 and bundle update --- .ruby-version | 2 +- Gemfile | 2 +- Gemfile.lock | 60 +++++++++++++++++++++++++-------------------------- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/.ruby-version b/.ruby-version index 914ec96711..ec1cf33c3f 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.6.0 \ No newline at end of file +2.6.3 diff --git a/Gemfile b/Gemfile index 31b57064fc..378cb217c9 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,5 @@ source 'https://rubygems.org' -ruby '2.6.0' +ruby '2.6.3' gem 'rake' gem 'thor' diff --git a/Gemfile.lock b/Gemfile.lock index d968a27b9a..5d4d0df570 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,13 @@ GEM remote: https://rubygems.org/ specs: - activesupport (5.2.2) + activesupport (5.2.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - backports (3.11.4) - better_errors (2.5.0) + backports (3.15.0) + better_errors (2.5.1) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -17,33 +17,33 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.1.4) + concurrent-ruby (1.1.5) daemons (1.3.1) erubi (1.8.0) ethon (0.12.0) ffi (>= 1.3.0) eventmachine (1.2.7) execjs (2.7.0) - exifr (1.3.5) - ffi (1.10.0) - fspath (3.1.0) - highline (2.0.0) - html-pipeline (2.10.0) + exifr (1.3.6) + ffi (1.11.1) + fspath (3.1.1) + highline (2.0.2) + html-pipeline (2.11.0) activesupport (>= 2) nokogiri (>= 1.4) - i18n (1.5.2) + i18n (1.6.0) concurrent-ruby (~> 1.0) - image_optim (0.26.3) + image_optim (0.26.4) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (>= 1.5, < 3) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_optim_pack (0.5.1.20190105) + image_optim_pack (0.5.3) fspath (>= 2.1, < 4) image_optim (~> 0.19) - image_size (2.0.0) - in_threads (1.5.1) + image_size (2.0.1) + in_threads (1.5.2) method_source (0.9.2) mini_portile2 (2.4.0) minitest (5.11.3) @@ -51,19 +51,19 @@ GEM mustermann (1.0.3) net-sftp (3.0.0.beta1) net-ssh (>= 5.0.0, < 6.0.0) - net-ssh (5.1.0) - newrelic_rpm (5.7.0.350) - nokogiri (1.10.1) + net-ssh (5.2.0) + newrelic_rpm (6.5.0.357) + nokogiri (1.10.3) mini_portile2 (~> 2.4.0) options (2.3.2) - progress (3.5.0) + progress (3.5.1) progress_bar (1.3.0) highline (>= 1.6, < 3) options (~> 2.3.0) pry (0.12.2) coderay (~> 1.1.0) method_source (~> 0.9.0) - rack (2.0.6) + rack (2.0.7) rack-protection (2.0.5) rack rack-ssl-enforcer (0.2.9) @@ -74,7 +74,7 @@ GEM rb-inotify (0.10.0) ffi (~> 1.0) rr (1.2.1) - sass (3.7.3) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -96,10 +96,10 @@ GEM rack (> 1, < 3) sprockets-helpers (1.2.1) sprockets (>= 2.2) - strings (0.1.4) - strings-ansi (~> 0.1.0) - unicode-display_width (~> 1.4.0) - unicode_utils (~> 1.4.0) + strings (0.1.5) + strings-ansi (~> 0.1) + unicode-display_width (~> 1.5) + unicode_utils (~> 1.4) strings-ansi (0.1.0) thin (1.7.2) daemons (~> 1.0, >= 1.0.9) @@ -108,19 +108,19 @@ GEM thor (0.20.3) thread_safe (0.3.6) tilt (2.0.9) - tty-pager (0.12.0) + tty-pager (0.12.1) strings (~> 0.1.4) tty-screen (~> 0.6) tty-which (~> 0.4) - tty-screen (0.6.5) - tty-which (0.4.0) + tty-screen (0.7.0) + tty-which (0.4.1) typhoeus (1.3.1) ethon (>= 0.9.0) tzinfo (1.2.5) thread_safe (~> 0.1) uglifier (4.1.20) execjs (>= 0.3.0, < 3) - unicode-display_width (1.4.1) + unicode-display_width (1.6.0) unicode_utils (1.4.0) unix_utils (0.0.15) yajl-ruby (1.4.1) @@ -162,7 +162,7 @@ DEPENDENCIES yajl-ruby RUBY VERSION - ruby 2.6.0p0 + ruby 2.6.3p62 BUNDLED WITH - 1.17.2 + 1.17.3 From ba46b7841b8bdd9153f76f00621a66f3f5399e48 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 12 Jul 2019 17:13:27 +0200 Subject: [PATCH 0134/2822] Set theme color depending on DevDocs theme --- assets/javascripts/app/settings.coffee | 4 ++++ views/index.erb | 1 + views/other.erb | 1 + 3 files changed, 6 insertions(+) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index af29825098..636da4e04c 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -114,16 +114,20 @@ class app.Settings @toggleDark(@get('dark') is 1) @toggleLayout(layout, @hasLayout(layout)) for layout in @LAYOUTS @initSidebarWidth() + return toggleDark: (enable) -> classList = document.documentElement.classList classList.toggle('_theme-default', !enable) classList.toggle('_theme-dark', enable) + $('meta[name=theme-color]').setAttribute('content', if enable then '#1c1c1c' else '#eee') + return toggleLayout: (layout, enable) -> classList = document.body.classList classList.toggle(layout, enable) unless layout is '_sidebar-hidden' classList.toggle('_overlay-scrollbars', $.overlayScrollbarsEnabled()) + return initSidebarWidth: -> size = @get('size') diff --git a/views/index.erb b/views/index.erb index c161fe3c42..4fb9615354 100644 --- a/views/index.erb +++ b/views/index.erb @@ -14,6 +14,7 @@ + DevDocs API Documentation diff --git a/views/other.erb b/views/other.erb index 635770293d..45cab9431e 100644 --- a/views/other.erb +++ b/views/other.erb @@ -5,6 +5,7 @@ <% if doc_index_page? %><% else %><% end %> + DevDocs<%= " — #{@doc['full_name']} documentation" if doc_index_page? %> From dff5675a0c7fe55df8ff2812f70dbb2bec4587a2 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 12 Jul 2019 17:20:52 +0200 Subject: [PATCH 0135/2822] Re-factoring --- assets/javascripts/app/settings.coffee | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index 636da4e04c..1d2e43bdce 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -120,7 +120,8 @@ class app.Settings classList = document.documentElement.classList classList.toggle('_theme-default', !enable) classList.toggle('_theme-dark', enable) - $('meta[name=theme-color]').setAttribute('content', if enable then '#1c1c1c' else '#eee') + color = getComputedStyle(document.documentElement).getPropertyValue('--headerBackground').trim() + $('meta[name=theme-color]').setAttribute('content', color) return toggleLayout: (layout, enable) -> From 47a48973a2dbc1fe3a6adc24881e03d81cde5495 Mon Sep 17 00:00:00 2001 From: Rocco Bruyn Date: Sun, 14 Jul 2019 13:13:28 +0200 Subject: [PATCH 0136/2822] update kotlin version to 1.3.41 --- lib/docs/scrapers/kotlin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb index 415393d136..7a22d98d0d 100644 --- a/lib/docs/scrapers/kotlin.rb +++ b/lib/docs/scrapers/kotlin.rb @@ -1,7 +1,7 @@ module Docs class Kotlin < UrlScraper self.type = 'kotlin' - self.release = '1.2.41' + self.release = '1.3.41' self.base_url = 'https://kotlinlang.org/' self.root_path = 'api/latest/jvm/stdlib/index.html' self.links = { From 876d9a441058f8a8bcd0959cd0f422ea4c397668 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 15 Jul 2019 17:03:14 +0200 Subject: [PATCH 0137/2822] Fix typo --- assets/javascripts/templates/pages/offline_tmpl.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/templates/pages/offline_tmpl.coffee b/assets/javascripts/templates/pages/offline_tmpl.coffee index 436cf1ae05..bb9e06e803 100644 --- a/assets/javascripts/templates/pages/offline_tmpl.coffee +++ b/assets/javascripts/templates/pages/offline_tmpl.coffee @@ -47,7 +47,7 @@ canICloseTheTab = -> reason = "aren't available in your browser (or are disabled)" if app.config.env != 'production' - reason = "are disabled in your development instance of DevDocs (enable them by setting the ENABLE_SERVICE_WORKERS environment variable to true)" + reason = "are disabled in your development instance of DevDocs (enable them by setting the ENABLE_SERVICE_WORKER environment variable to true)" """ No. Service Workers #{reason}, so loading devdocs.io offline won't work.
    The current tab will continue to function even when you go offline (provided you installed all the documentations beforehand). """ From 8325ed78ef6fffd79bfa3ad1c5d9fc0053184958 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 17 Jul 2019 21:51:39 +0200 Subject: [PATCH 0138/2822] Fix OpenJDK scraper --- lib/docs/core/scrapers/file_scraper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docs/core/scrapers/file_scraper.rb b/lib/docs/core/scrapers/file_scraper.rb index 9d35463138..72a99b9975 100644 --- a/lib/docs/core/scrapers/file_scraper.rb +++ b/lib/docs/core/scrapers/file_scraper.rb @@ -29,7 +29,7 @@ def assert_source_directory_exists def request_one(url) assert_source_directory_exists - Response.new read_file(url_to_path(url)), URL.parse(url) + Response.new read_file(File.join(source_directory, url_to_path(url))), URL.parse(url) end def request_all(urls) @@ -50,7 +50,7 @@ def url_to_path(url) end def read_file(path) - File.read(File.join(source_directory, path)) + File.read(path) rescue instrument 'warn.doc', msg: "Failed to open file: #{path}" nil From b31dc9d0c2338f831d87608a5c078f6e582b9ac6 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 17 Jul 2019 22:44:48 +0200 Subject: [PATCH 0139/2822] Fix tests --- test/lib/docs/core/scrapers/file_scraper_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/lib/docs/core/scrapers/file_scraper_test.rb b/test/lib/docs/core/scrapers/file_scraper_test.rb index 7d90d26263..88b5e8d5ec 100644 --- a/test/lib/docs/core/scrapers/file_scraper_test.rb +++ b/test/lib/docs/core/scrapers/file_scraper_test.rb @@ -63,7 +63,7 @@ class Scraper < Docs::FileScraper end it "reads a file" do - mock(scraper).read_file(path) + mock(scraper).read_file(File.join(ROOT_PATH, 'docs/scraper', path)) result end @@ -165,7 +165,7 @@ class Scraper < Docs::FileScraper describe "#read_file" do let :result do - scraper.send :read_file, 'file' + scraper.send :read_file, File.join(ROOT_PATH, 'docs', 'scraper', 'file') end it "returns the file's content when the file exists in the source directory" do From 5ac8d55ed6fc49a0b06b08dfa24dccd19d45365d Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 19 Jul 2019 21:44:18 +0200 Subject: [PATCH 0140/2822] Fix Go get_latest_version --- lib/docs/scrapers/go.rb | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/docs/scrapers/go.rb b/lib/docs/scrapers/go.rb index 8997b7b190..27b46652fe 100644 --- a/lib/docs/scrapers/go.rb +++ b/lib/docs/scrapers/go.rb @@ -25,13 +25,8 @@ class Go < UrlScraper HTML def get_latest_version(opts) - doc = fetch_doc('https://golang.org/pkg/', opts) - - footer = doc.at_css('#footer').content - version = footer.scan(/go([0-9.]+)/)[0][0] - version = version[0...-1] if version.end_with?('.') - - version + doc = fetch_doc('https://golang.org/project/', opts) + doc.at_css('#page ul > li > a').text[3..-1] end private From d477ed180c928e77ec23bc0ec27124263f38381e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 19 Jul 2019 22:38:26 +0200 Subject: [PATCH 0141/2822] Automatically deploy when build succeeds on master --- .travis.yml | 8 ++++++++ docs/maintainers.md | 7 +++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d5e5a6aa34..0e64a76a74 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,3 +5,11 @@ cache: bundler before_script: - gem update --system - gem install bundler + +deploy: + provider: heroku + app: devdocs + on: + branch: master + api_key: + secure: "4p1klvWJZSOImzFcKOduILjP93hlOlAhceWlYMKS4tU+TCFE8qTBzdKdFPSCsCgjB+YR9pBss+L0lJpVVMjSwFHXqpKe6EeUSltO2k7DFHfW7kXLUM/L0AfqXz+YXk76XUyZMhvOEbldPfaMaj10e8vgDOQCSHABDyK/4CU+hnI=" diff --git a/docs/maintainers.md b/docs/maintainers.md index 1369816d06..48d50b8160 100644 --- a/docs/maintainers.md +++ b/docs/maintainers.md @@ -21,8 +21,7 @@ The process for updating docs is as follow: - Commit the changes (protip: use the `thor docs:commit` command documented below). - Optional: do more updates. - Run `thor docs:upload` (documented below). -- [Deploy the app](#deploying-devdocs) and verify that everything works in production. -- Push to GitHub. +- Push to GitHub to [deploy the app](#deploying-devdocs) and verify that everything works in production. - Run `thor docs:clean` (documented below). Note: changes to `public/docs/docs.json` should never be committed. This file reflects which documentations have been downloaded or generated locally, which is always none on a fresh `git clone`. @@ -82,13 +81,13 @@ In addition to the [publicly-documented commands](https://github.com/freeCodeCam ## Deploying DevDocs -Once docs have been uploaded via `thor docs:upload` (if applicable), deploying DevDocs is as simple as running `git push heroku master`. See [Heroku's documentation](https://devcenter.heroku.com/articles/git) for more information. +Once docs have been uploaded via `thor docs:upload` (if applicable), you can push to the DevDocs master branch (or merge the PR containing the updates). If the Travis build succeeds, the Heroku application will be deployed automatically. - If you're deploying documentation updates, verify that the documentations work properly once the deploy is done (you will need to reload [devdocs.io](https://devdocs.io/) a couple times for the application cache to update and the new version to load). - If you're deploying frontend changes, monitor [Sentry](https://sentry.io/devdocs/devdocs-js/) for new JS errors once the deploy is done. - If you're deploying server changes, monitor New Relic (accessible through [the Heroku dashboard](https://dashboard.heroku.com/apps/devdocs)) for Ruby exceptions and throughput or response time changes once the deploy is done. -If any issue arises, run `heroku rollback` to rollback to the previous of the app (this can also be done via Heroku's UI). Note that this will not revert changes made to documentation files that were uploaded via `thor docs:upload`. Try and fix the issue as quickly as possible, then re-deploy the app. Reach out to other maintainers if you need help. +If any issue arises, run `heroku rollback` to rollback to the previous version of the app (this can also be done via Heroku's UI). Note that this will not revert changes made to documentation files that were uploaded via `thor docs:upload`. Try and fix the issue as quickly as possible, then re-deploy the app. Reach out to other maintainers if you need help. If this is your first deploy, make sure another maintainer is around to assist. From 3d974a42fa129c61aa60d8223b16f8cdb638b070 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 19 Jul 2019 23:22:20 +0200 Subject: [PATCH 0142/2822] Fix service workers in production --- assets/javascripts/app/config.coffee.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index 2f5067640c..7cce8e9282 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -14,4 +14,4 @@ app.config = release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' service_worker_path: '/service-worker.js' - service_worker_enabled: <%= App.environment == 'production' || ENV['ENABLE_SERVICE_WORKER'] == 'true' %> + service_worker_enabled: '<%= App.environment == 'production' || ENV['ENABLE_SERVICE_WORKER'] == 'true' %>' == 'true' From 921a61cd1f6d7cc2765ce1be0ee5b3d6c3fc82d0 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 19 Jul 2019 23:57:21 +0200 Subject: [PATCH 0143/2822] Fix service workers in production, for real this time --- assets/javascripts/app/config.coffee.erb | 2 +- assets/javascripts/news.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index 7cce8e9282..dba368e0cd 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -14,4 +14,4 @@ app.config = release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' service_worker_path: '/service-worker.js' - service_worker_enabled: '<%= App.environment == 'production' || ENV['ENABLE_SERVICE_WORKER'] == 'true' %>' == 'true' + service_worker_enabled: <%= App.environment == :production || ENV['ENABLE_SERVICE_WORKER'] == 'true' %> diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 32da738ece..a2d18a474c 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,4 +1,8 @@ [ + [ + "2019-07-19", + "Replaced the AppCache with a Service Worker (which makes DevDocs an installable PWA) and fixed layout preferences on Firefox." + ], [ "2018-09-23", "New documentations: Puppeteer and Handlebars.js" From 50cd4e13a38d8cf5b7411f1618a867c77ae28554 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 03:25:39 +0200 Subject: [PATCH 0144/2822] Fix assets:compile --- lib/tasks/assets.thor | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/tasks/assets.thor b/lib/tasks/assets.thor index d49efd7dde..005469e19f 100644 --- a/lib/tasks/assets.thor +++ b/lib/tasks/assets.thor @@ -14,7 +14,9 @@ class AssetsCLI < Thor option :keep, type: :numeric, default: 0, desc: 'Number of old assets to keep' option :verbose, type: :boolean def compile + load 'tasks/sprites.thor' invoke 'sprites:generate', [], :verbose => options[:verbose] + manifest.compile App.assets_compile manifest.clean(options[:keep]) if options[:clean] end From 1fd1ed9d2360cfa8f0933af486199156fc0e09b3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 03:44:22 +0200 Subject: [PATCH 0145/2822] Remove public/icons from .slugignore and remove it later --- .slugignore | 3 +-- lib/tasks/assets.thor | 2 +- lib/tasks/sprites.thor | 8 +++++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.slugignore b/.slugignore index 6a7070f5ec..9daeafb986 100644 --- a/.slugignore +++ b/.slugignore @@ -1,2 +1 @@ -public/icons -test \ No newline at end of file +test diff --git a/lib/tasks/assets.thor b/lib/tasks/assets.thor index 005469e19f..e9de1b6ffe 100644 --- a/lib/tasks/assets.thor +++ b/lib/tasks/assets.thor @@ -15,7 +15,7 @@ class AssetsCLI < Thor option :verbose, type: :boolean def compile load 'tasks/sprites.thor' - invoke 'sprites:generate', [], :verbose => options[:verbose] + invoke 'sprites:generate', [], :remove_public_icons => true, :verbose => options[:verbose] manifest.compile App.assets_compile manifest.clean(options[:keep]) if options[:clean] diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index b50f0f0407..ca4e33bfab 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -10,7 +10,8 @@ class SpritesCLI < Thor super end - desc 'generate [--verbose]', 'Generate the documentation icon spritesheets' + desc 'generate [--remove-public-icons] [--verbose]', 'Generate the documentation icon spritesheets' + option :remove_public_icons, type: :boolean, desc: 'Remove public/icons after generating the spritesheets' option :verbose, type: :boolean def generate items = get_items @@ -44,6 +45,11 @@ class SpritesCLI < Thor end save_manifest(items, icons_per_row, 'assets/images/sprites/docs.json') + + if options[:remove_public_icons] + logger.info('Removing public/icons') + FileUtils.rm_rf('public/icons') + end end private From e6f23afc074a5d1bd5ba6a141d8ab561f7d72c67 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 04:26:44 +0200 Subject: [PATCH 0146/2822] Fix Travis cron job --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index f38394251f..b09a097ad9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,10 @@ language: ruby +addons: + apt: + packages: + - libcurl4-openssl-dev + cache: bundler before_script: From 96f97f3a5b1b023cedfa9335124d0b4eca5f0d1d Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 04:42:28 +0200 Subject: [PATCH 0147/2822] Don't deploy in cron jobs and update issue template --- .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE.md | 2 +- .travis.yml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d0fccff564..d178b2e4f8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -61,7 +61,7 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. -To ask that an existing documentation be updated, first check the last two [Documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Aupdated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. +To ask that an existing documentation be updated, first check the last two [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. ## Coding conventions diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 807f88e02b..0fb624d406 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,6 +2,6 @@ Please read the contributing guidelines before opening an issue: https://github.com/freeCodeCamp/devdocs/blob/master/.github/CONTRIBUTING.md - To request a new documentation, or an update of an existing documentation, go here: + Go here to request a new documentation: https://trello.com/b/6BmTulfx/devdocs-documentation --> diff --git a/.travis.yml b/.travis.yml index b09a097ad9..dc9f329443 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,5 +20,6 @@ deploy: app: devdocs on: branch: master + condition: $TRAVIS_EVENT_TYPE != cron api_key: secure: "4p1klvWJZSOImzFcKOduILjP93hlOlAhceWlYMKS4tU+TCFE8qTBzdKdFPSCsCgjB+YR9pBss+L0lJpVVMjSwFHXqpKe6EeUSltO2k7DFHfW7kXLUM/L0AfqXz+YXk76XUyZMhvOEbldPfaMaj10e8vgDOQCSHABDyK/4CU+hnI=" From 0a267cb8a71ac01a9a38ac7e9fc5daf224672291 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 05:00:28 +0200 Subject: [PATCH 0148/2822] Update docs --- .github/CONTRIBUTING.md | 1 - docs/adding-docs.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d178b2e4f8..99fd85840d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -55,7 +55,6 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea * Remove as much content and HTML markup as possible, particularly content not associated with any entry (e.g. introduction, changelog, etc.). * Names must be as short as possible and unique across the documentation. * The number of types (categories) should ideally be less than 100. -* Don't modify the icon sprite. I'll do it after your pull request is merged. ## Updating existing documentations diff --git a/docs/adding-docs.md b/docs/adding-docs.md index a89db7bb2e..9984a15cf8 100644 --- a/docs/adding-docs.md +++ b/docs/adding-docs.md @@ -15,7 +15,7 @@ Adding a documentation may look like a daunting task but once you get the hang o 8. Tweak the scraper/filters and repeat 5) and 6) until the pages and metadata are ok. 9. To customize the pages' styling, create an SCSS file in the `assets/stylesheets/pages/` directory and import it in both `application.css.scss` AND `application-dark.css.scss`. Both the file and CSS class should be named `_[type]` where [type] is equal to the scraper's `type` attribute (documentations with the same type share the same custom CSS and JS). Setting the type to `simple` will apply the general styling rules in `assets/stylesheets/pages/_simple.scss`, which can be used for documentations where little to no CSS changes are needed. 10. To add syntax highlighting or execute custom JavaScript on the pages, create a file in the `assets/javascripts/views/pages/` directory (take a look at the other files to see how it works). -11. Add the documentation's icon in the `public/icons/docs/[my_doc]/` directory, in both 16x16 and 32x32-pixels formats. It'll be added to the icon spritesheet after your pull request is merged. +11. Add the documentation's icon in the `public/icons/docs/[my_doc]/` directory, in both 16x16 and 32x32-pixels formats. The icon spritesheet is automatically generated when you (re)start your local DevDocs instance. 12. Add the documentation's copyright details to the list in `assets/javascripts/templates/pages/about_tmpl.coffee`. This is the data shown in the table on the [about](https://devdocs.io/about) page, and is ordered alphabetically. Simply copying an existing item, placing it in the right slot and updating the values to match the new scraper will do the job. 13. Ensure `thor updates:check [my_doc]` shows the correct latest version. From 5f8ced48a3eb4b3566abaf37afb6b3dad95233eb Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 21:17:02 +0200 Subject: [PATCH 0149/2822] Run another update and update Bundler --- .travis.yml | 3 ++- Gemfile.lock | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index dc9f329443..6c59f0be8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,8 @@ addons: cache: bundler -before_script: +before_install: + - "echo 'gem: --no-document' > ~/.gemrc" - gem update --system - gem install bundler diff --git a/Gemfile.lock b/Gemfile.lock index eb3af850b3..d1abb66bcd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,8 +11,8 @@ GEM coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) - browser (2.5.3) - chunky_png (1.3.10) + browser (2.6.1) + chunky_png (1.3.11) coderay (1.1.2) coffee-script (2.4.1) coffee-script-source @@ -27,24 +27,24 @@ GEM execjs (2.7.0) exifr (1.3.6) ffi (1.11.1) - fspath (3.1.1) + fspath (3.1.2) highline (2.0.2) - html-pipeline (2.11.0) + html-pipeline (2.11.1) activesupport (>= 2) nokogiri (>= 1.4) i18n (1.6.0) concurrent-ruby (~> 1.0) - image_optim (0.26.4) + image_optim (0.26.5) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (>= 1.5, < 3) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_optim_pack (0.5.3) + image_optim_pack (0.5.6) fspath (>= 2.1, < 4) image_optim (~> 0.19) - image_size (2.0.1) - in_threads (1.5.2) + image_size (2.0.2) + in_threads (1.5.3) method_source (0.9.2) mini_portile2 (2.4.0) minitest (5.11.3) @@ -57,7 +57,7 @@ GEM nokogiri (1.10.3) mini_portile2 (~> 2.4.0) options (2.3.2) - progress (3.5.1) + progress (3.5.2) progress_bar (1.3.0) highline (>= 1.6, < 3) options (~> 2.3.0) @@ -159,8 +159,8 @@ DEPENDENCIES sinatra-contrib sprockets sprockets-helpers - terminal-table sprockets-sass + terminal-table thin thor tty-pager @@ -173,4 +173,4 @@ RUBY VERSION ruby 2.6.3p62 BUNDLED WITH - 1.17.3 + 2.0.2 From 7f0feeec8ce4c554c68d447d91bc98f493e722a8 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 20 Jul 2019 21:45:51 +0200 Subject: [PATCH 0150/2822] Update Dockerfile versions --- Dockerfile | 2 +- Dockerfile-alpine | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 420bd19577..f59628c727 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.6.0 +FROM ruby:2.6.3 ENV LANG=C.UTF-8 ENV ENABLE_SERVICE_WORKER=true diff --git a/Dockerfile-alpine b/Dockerfile-alpine index a5d993f75c..b916d2b10c 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -1,4 +1,4 @@ -FROM ruby:2.6.0-alpine +FROM ruby:2.6.3-alpine ENV LANG=C.UTF-8 ENV ENABLE_SERVICE_WORKER=true From 9613ddd14e0e7bb785643188e2d59db50c8350d0 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 21 Jul 2019 00:44:57 +0200 Subject: [PATCH 0151/2822] Update news.json --- assets/javascripts/news.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index a2d18a474c..1e4c823015 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,4 +1,8 @@ [ + [ + "2019-07-21", + "Fixed several bugs, added an option to automatically download documentation, and more." + ], [ "2019-07-19", "Replaced the AppCache with a Service Worker (which makes DevDocs an installable PWA) and fixed layout preferences on Firefox." From c4ed883232a6c882c0d591e2c74dda18f3267c18 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 21 Jul 2019 00:55:52 +0200 Subject: [PATCH 0152/2822] Fix grammar --- assets/javascripts/news.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/news.json b/assets/javascripts/news.json index 1e4c823015..0266dea396 100644 --- a/assets/javascripts/news.json +++ b/assets/javascripts/news.json @@ -1,7 +1,7 @@ [ [ "2019-07-21", - "Fixed several bugs, added an option to automatically download documentation, and more." + "Fixed several bugs, added an option to automatically download documentation and more." ], [ "2019-07-19", From 6000ffee27d236f973641044c985e81bd85091b9 Mon Sep 17 00:00:00 2001 From: Kitten King Date: Mon, 22 Jul 2019 12:02:29 +0000 Subject: [PATCH 0153/2822] Fix Typos --- assets/javascripts/vendor/fastclick.js | 4 ++-- assets/javascripts/vendor/raven.js | 2 +- lib/docs/filters/pygame/clean_html.rb | 2 +- lib/docs/scrapers/pygame.rb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/javascripts/vendor/fastclick.js b/assets/javascripts/vendor/fastclick.js index 3af4f9d6f1..b6f7b40c3a 100755 --- a/assets/javascripts/vendor/fastclick.js +++ b/assets/javascripts/vendor/fastclick.js @@ -413,7 +413,7 @@ // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched // with the same identifier as the touch event that previously triggered the click that triggered the alert. // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an - // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform. + // immediately preceding touch event (issue #52), so this fix is unavailable on that platform. // Issue 120: touch.identifier is 0 when Chrome dev tools 'Emulate touch events' is set with an iOS device UA string, // which causes all touch events to be ignored. As this block only applies to iOS, and iOS identifiers are always long, // random integers, it's safe to to continue if the identifier is 0 here. @@ -805,7 +805,7 @@ } } - // IE11: prefixed -ms-touch-action is no longer supported and it's recomended to use non-prefixed version + // IE11: prefixed -ms-touch-action is no longer supported and it's recommended to use non-prefixed version // http://msdn.microsoft.com/en-us/library/windows/apps/Hh767313.aspx if (layer.style.touchAction === 'none' || layer.style.touchAction === 'manipulation') { return true; diff --git a/assets/javascripts/vendor/raven.js b/assets/javascripts/vendor/raven.js index f36c41b216..176ea36178 100644 --- a/assets/javascripts/vendor/raven.js +++ b/assets/javascripts/vendor/raven.js @@ -856,7 +856,7 @@ Raven.prototype = { }, _triggerEvent: function(eventType, options) { - // NOTE: `event` is a native browser thing, so let's avoid conflicting wiht it + // NOTE: `event` is a native browser thing, so let's avoid conflicting with it var evt, key; if (!this._hasDocument) return; diff --git a/lib/docs/filters/pygame/clean_html.rb b/lib/docs/filters/pygame/clean_html.rb index 8ef7d2d6da..956807b854 100644 --- a/lib/docs/filters/pygame/clean_html.rb +++ b/lib/docs/filters/pygame/clean_html.rb @@ -85,7 +85,7 @@ def call if initial_header.start_with?(@section) sig.content = @section + '.' + sig.text end - # seperate the signatures on different lines. + # separate the signatures on different lines. header.add_child "
    " end end diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 94c3d508c9..617ae033b2 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -14,7 +14,7 @@ class Pygame < UrlScraper options[:only_patterns] = [/ref\//] options[:attribution] = <<-HTML - © Pygame Developpers.
    + © Pygame Developers.
    Licensed under the GNU LGPL License version 2.1. HTML From 5dbb8536069b2956f9c733e627989e6806eb94e3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 4 Aug 2019 02:50:19 +0200 Subject: [PATCH 0154/2822] Fix Docker images, sprites:generate and a favicon cors issue --- Dockerfile | 2 +- Dockerfile-alpine | 2 +- assets/javascripts/lib/favicon.coffee | 1 + lib/tasks/sprites.thor | 2 ++ 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f59628c727..b033427a90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ ENV ENABLE_SERVICE_WORKER=true WORKDIR /devdocs RUN apt-get update && \ - apt-get -y install git nodejs && \ + apt-get -y install git nodejs libcurl4 && \ gem install bundler && \ rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile-alpine b/Dockerfile-alpine index b916d2b10c..33a06b0e82 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -7,7 +7,7 @@ WORKDIR /devdocs COPY . /devdocs -RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev && \ +RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev libcurl && \ gem install bundler && \ bundle install --system --without test && \ thor docs:download --all && \ diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee index f42b1281ed..176bd79c1b 100644 --- a/assets/javascripts/lib/favicon.coffee +++ b/assets/javascripts/lib/favicon.coffee @@ -9,6 +9,7 @@ withImage = (url, action) -> action(imageCache[url]) else img = new Image() + img.crossOrigin = 'anonymous' img.src = url img.onload = () => imageCache[url] = img diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor index ca4e33bfab..1c0d360088 100644 --- a/lib/tasks/sprites.thor +++ b/lib/tasks/sprites.thor @@ -31,6 +31,8 @@ class SpritesCLI < Thor item[:dark_icon_fix] = needs_dark_icon_fix(item[:icon_32], bg_color) end + return unless items_with_icons.length > 0 + log_details(items_with_icons, icons_per_row) generate_spritesheet(16, items_with_icons, 'assets/images/sprites/docs.png') {|item| item[:icon_16]} From 8d57c48b183eede77091d98990c594e7a7cedb38 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 4 Aug 2019 03:01:04 +0200 Subject: [PATCH 0155/2822] Fix favicon when there are multiple versions --- assets/javascripts/lib/favicon.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee index 176bd79c1b..5254b54c9f 100644 --- a/assets/javascripts/lib/favicon.coffee +++ b/assets/javascripts/lib/favicon.coffee @@ -28,7 +28,7 @@ withImage = (url, action) -> currentSlug = doc.slug return - styles = window.getComputedStyle($("._icon-#{doc.slug}"), ':before') + styles = window.getComputedStyle($("._icon-#{doc.slug.split('~')[0]}"), ':before') bgUrl = styles['background-image'].slice(5, -2) sourceSize = if bgUrl.includes('@2x') then 32 else 16 From c01982ca9add42352d8ffe1f9b83579d4fdd7892 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 4 Aug 2019 12:51:19 +0200 Subject: [PATCH 0156/2822] Fix favicon on HiDPI displays --- assets/javascripts/app/config.coffee.erb | 1 + assets/javascripts/lib/favicon.coffee | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/app/config.coffee.erb b/assets/javascripts/app/config.coffee.erb index dba368e0cd..a822f7e223 100644 --- a/assets/javascripts/app/config.coffee.erb +++ b/assets/javascripts/app/config.coffee.erb @@ -13,5 +13,6 @@ app.config = version: <%= Time.now.to_i %> release: <%= Time.now.utc.httpdate.to_json %> mathml_stylesheet: '<%= App.cdn_origin %>/mathml.css' + favicon_spritesheet: '<%= image_path('sprites/docs.png') %>' service_worker_path: '/service-worker.js' service_worker_enabled: <%= App.environment == :production || ENV['ENABLE_SERVICE_WORKER'] == 'true' %> diff --git a/assets/javascripts/lib/favicon.coffee b/assets/javascripts/lib/favicon.coffee index 5254b54c9f..2f2d9f93c5 100644 --- a/assets/javascripts/lib/favicon.coffee +++ b/assets/javascripts/lib/favicon.coffee @@ -30,8 +30,8 @@ withImage = (url, action) -> styles = window.getComputedStyle($("._icon-#{doc.slug.split('~')[0]}"), ':before') - bgUrl = styles['background-image'].slice(5, -2) - sourceSize = if bgUrl.includes('@2x') then 32 else 16 + bgUrl = app.config.favicon_spritesheet + sourceSize = 16 sourceX = Math.abs(parseInt(styles['background-position-x'].slice(0, -2))) sourceY = Math.abs(parseInt(styles['background-position-y'].slice(0, -2))) From b23b81e693b691e1c5776c72c8a6ca5e547deede Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 4 Aug 2019 14:33:44 +0200 Subject: [PATCH 0157/2822] Rename CookieStore to CookiesStore --- assets/javascripts/app/app.coffee | 2 +- assets/javascripts/app/settings.coffee | 3 ++- .../lib/{cookie_store.coffee => cookies_store.coffee} | 6 +++++- 3 files changed, 8 insertions(+), 3 deletions(-) rename assets/javascripts/lib/{cookie_store.coffee => cookies_store.coffee} (76%) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 1e230368e7..b55e552c8b 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -78,7 +78,7 @@ .install() @previousErrorHandler = onerror window.onerror = @onWindowError.bind(@) - CookieStore.onBlocked = @onCookieBlocked + CookiesStore.onBlocked = @onCookieBlocked return bootOne: -> diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index b2734dfe44..cb7e779967 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -33,7 +33,8 @@ class app.Settings analyticsConsent: false constructor: -> - @store = new CookieStore + @store = new CookiesStore + console.log @store @cache = {} get: (key) -> diff --git a/assets/javascripts/lib/cookie_store.coffee b/assets/javascripts/lib/cookies_store.coffee similarity index 76% rename from assets/javascripts/lib/cookie_store.coffee rename to assets/javascripts/lib/cookies_store.coffee index 3b3405717b..eaf1bd4f7c 100644 --- a/assets/javascripts/lib/cookie_store.coffee +++ b/assets/javascripts/lib/cookies_store.coffee @@ -1,4 +1,8 @@ -class @CookieStore +class @CookiesStore + # Intentionally called CookiesStore instead of CookieStore + # Calling it CookieStore causes issues when the Experimental Web Platform features flag is enabled in Chrome + # Related issue: https://github.com/freeCodeCamp/devdocs/issues/932 + INT = /^\d+$/ @onBlocked: -> From 45a74930c864a7106e537573cda083b5f5fd5839 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 4 Aug 2019 14:40:17 +0200 Subject: [PATCH 0158/2822] Remove forgotten console.log statement --- assets/javascripts/app/settings.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/assets/javascripts/app/settings.coffee b/assets/javascripts/app/settings.coffee index cb7e779967..350a08c0ae 100644 --- a/assets/javascripts/app/settings.coffee +++ b/assets/javascripts/app/settings.coffee @@ -34,7 +34,6 @@ class app.Settings constructor: -> @store = new CookiesStore - console.log @store @cache = {} get: (key) -> From d5bcd6fffa14bd9bf4aa10c070c9009e861045f4 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 09:09:43 +0200 Subject: [PATCH 0159/2822] Update versions and filter --- lib/docs/filters/elixir/clean_html.rb | 5 +++++ lib/docs/scrapers/elixir.rb | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/docs/filters/elixir/clean_html.rb b/lib/docs/filters/elixir/clean_html.rb index 7ff3a86aac..cf703389bb 100644 --- a/lib/docs/filters/elixir/clean_html.rb +++ b/lib/docs/filters/elixir/clean_html.rb @@ -57,6 +57,11 @@ def api node.parent.after(node) end + css('.signature').each do |node| + non_text_children = node.xpath('node()[not(self::text())]') + non_text_children.to_a.reverse.each { |child| node.parent.add_next_sibling(child) } + end + css('pre').each do |node| node['data-language'] = 'elixir' node.content = node.content diff --git a/lib/docs/scrapers/elixir.rb b/lib/docs/scrapers/elixir.rb index 076cb81d54..f3cc94b2a3 100644 --- a/lib/docs/scrapers/elixir.rb +++ b/lib/docs/scrapers/elixir.rb @@ -33,8 +33,21 @@ def initial_urls "https://elixir-lang.org/getting-started/introduction.html" ] end + version '1.9' do + self.release = '1.9.1' + self.base_urls = [ + "https://hexdocs.pm/elixir/#{release}/", + "https://hexdocs.pm/eex/#{release}/", + "https://hexdocs.pm/ex_unit/#{release}/", + "https://hexdocs.pm/iex/#{release}/", + "https://hexdocs.pm/logger/#{release}/", + "https://hexdocs.pm/mix/#{release}/", + 'https://elixir-lang.org/getting-started/' + ] + end + version '1.8' do - self.release = '1.8.1' + self.release = '1.8.2' self.base_urls = [ "https://hexdocs.pm/elixir/#{release}/", "https://hexdocs.pm/eex/#{release}/", @@ -60,7 +73,7 @@ def initial_urls end version '1.6' do - self.release = '1.6.5' + self.release = '1.6.6' self.base_urls = [ "https://hexdocs.pm/elixir/#{release}/", "https://hexdocs.pm/eex/#{release}/", From ab45ef80dbd454771f1c4b43584c554df5596831 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 09:27:06 +0200 Subject: [PATCH 0160/2822] Remove master version --- lib/docs/scrapers/clojure.rb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/docs/scrapers/clojure.rb b/lib/docs/scrapers/clojure.rb index 83147ad7c0..5de4288e99 100644 --- a/lib/docs/scrapers/clojure.rb +++ b/lib/docs/scrapers/clojure.rb @@ -13,11 +13,6 @@ class Clojure < UrlScraper Licensed under the Eclipse Public License 1.0. HTML - version '(current master)' do - self.release = '1.11 (in development)' - self.base_url = 'https://clojure.github.io/clojure/branch-master/' - end - version '1.10' do self.release = '1.10 (stable)' self.base_url = 'https://clojure.github.io/clojure/' From 9b1483505b7fa24db02a2f5fd7b6c0129897ed5c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 11:15:19 +0200 Subject: [PATCH 0161/2822] Update url's and fix filters for 5.13 --- lib/docs/filters/qt/clean_html.rb | 1 + lib/docs/filters/qt/entries.rb | 1 + lib/docs/scrapers/qt.rb | 9 +++++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/docs/filters/qt/clean_html.rb b/lib/docs/filters/qt/clean_html.rb index f8f7ebd0aa..1772a765bc 100644 --- a/lib/docs/filters/qt/clean_html.rb +++ b/lib/docs/filters/qt/clean_html.rb @@ -8,6 +8,7 @@ def call # QML property/method header css('.qmlproto').each do |node| id = node.at_css('tr')['id'] + id = node.at_css('a')['name'] if id.blank? node.inner_html = node.at_css('td').inner_html node.name = 'h3' node['id'] = id diff --git a/lib/docs/filters/qt/entries.rb b/lib/docs/filters/qt/entries.rb index 64d342f1e1..27cd0a31f2 100644 --- a/lib/docs/filters/qt/entries.rb +++ b/lib/docs/filters/qt/entries.rb @@ -111,6 +111,7 @@ def additional_entries css('.qmlproto').each do |node| title = node.content.strip id = node.at_css('tr')['id'] + id = node.at_css('a')['name'] if id.blank? # Remove options title.remove!(%r{^\[.*\] }) diff --git a/lib/docs/scrapers/qt.rb b/lib/docs/scrapers/qt.rb index de9f83f09b..4dc2aea0ab 100644 --- a/lib/docs/scrapers/qt.rb +++ b/lib/docs/scrapers/qt.rb @@ -103,6 +103,11 @@ class Qt < UrlScraper Licensed under the GNU Free Documentation License, Version 1.3. HTML + version '5.13' do + self.release = '5.13' + self.base_url = 'https://doc.qt.io/qt-5.13/' + end + version '5.12' do self.release = '5.12' self.base_url = 'https://doc.qt.io/qt-5.12/' @@ -110,7 +115,7 @@ class Qt < UrlScraper version '5.11' do self.release = '5.11' - self.base_url = 'https://doc.qt.io/qt-5.11/' + self.base_url = 'https://doc.qt.io/archives/qt-5.11/' end version '5.9' do @@ -120,7 +125,7 @@ class Qt < UrlScraper version '5.6' do self.release = '5.6' - self.base_url = 'https://doc.qt.io/qt-5.6/' + self.base_url = 'https://doc.qt.io/archives/qt-5.6/' end def get_latest_version(opts) From 7ad7247878a9e8d5c1dd4fbf4a7e1b5a542eac8c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 13:18:53 +0200 Subject: [PATCH 0162/2822] Update version and filter --- lib/docs/filters/homebrew/clean_html.rb | 5 +++++ lib/docs/filters/homebrew/entries.rb | 4 +++- lib/docs/scrapers/homebrew.rb | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/docs/filters/homebrew/clean_html.rb b/lib/docs/filters/homebrew/clean_html.rb index 5bf6aa297e..6a81a5c6ca 100644 --- a/lib/docs/filters/homebrew/clean_html.rb +++ b/lib/docs/filters/homebrew/clean_html.rb @@ -4,6 +4,11 @@ class CleanHtmlFilter < Filter def call css('hr') + if at_css('h1').nil? + title = current_url.normalized_path[1..-1].gsub(/-/, ' ') + doc.children.before("

    #{title}

    ") + end + css('div.highlighter-rouge').each do |node| lang = node['class'][/language-(\w+)/, 1] node['data-language'] = lang if lang diff --git a/lib/docs/filters/homebrew/entries.rb b/lib/docs/filters/homebrew/entries.rb index 03650ad9ef..c698cf72f8 100644 --- a/lib/docs/filters/homebrew/entries.rb +++ b/lib/docs/filters/homebrew/entries.rb @@ -2,7 +2,8 @@ module Docs class Homebrew class EntriesFilter < Docs::EntriesFilter def get_name - name = at_css('h1').content.strip + header = at_css('h1') + name = header.nil? ? current_url.normalized_path[1..-1].gsub(/-/, ' ') : header.content.strip name.remove! %r{\(.*} name end @@ -16,6 +17,7 @@ def get_name Python-for-Formula-Authors Migrating-A-Formula-To-A-Tap Rename-A-Formula + Building-Against-Non-Homebrew-Dependencies How-to-Create-and-Maintain-a-Tap Brew-Test-Bot Prose-Style-Guidelines) diff --git a/lib/docs/scrapers/homebrew.rb b/lib/docs/scrapers/homebrew.rb index faf46a76db..5743735fbc 100644 --- a/lib/docs/scrapers/homebrew.rb +++ b/lib/docs/scrapers/homebrew.rb @@ -2,7 +2,7 @@ module Docs class Homebrew < UrlScraper self.name = 'Homebrew' self.type = 'simple' - self.release = '2.0.1' + self.release = '2.1.9' self.base_url = 'https://docs.brew.sh/' self.links = { home: 'https://brew.sh', From 7b3a1ed463ed2c2db3187a68a08cb0e20e5be4fa Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 17:19:11 +0200 Subject: [PATCH 0163/2822] Update the scraper again --- lib/docs/scrapers/docker.rb | 184 ++++++++++++++++++++++++++---------- 1 file changed, 133 insertions(+), 51 deletions(-) diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index 6ac8fea284..06c3344d44 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -15,15 +15,69 @@ class Docker < UrlScraper end options[:attribution] = <<-HTML - © 2017 Docker, Inc.
    + © 2019 Docker, Inc.
    Licensed under the Apache License, Version 2.0.
    Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
    Docker, Inc. and other parties may also have trademark rights in other terms used herein. HTML + version '19' do + self.release = '19.03' + self.base_url = "https://docs.docker.com/" + + html_filters.push 'docker/entries', 'docker/clean_html' + + options[:container] = '.wrapper .container-fluid .row' + + options[:only_patterns] = [/\Aget-started\//, /\Aengine\//, /\Acompose\//, /\Amachine\//, /\Anotary\//] + options[:skip_patterns] = [/\Aengine\/api\/v/, /glossary/, /docker-ee/] + + options[:replace_paths] = { + 'install/linux/ubuntu/' => 'install/linux/docker-ce', + 'get-started/part1' => 'get-started', + 'engine/installation/' => 'install', + 'engine/installation/linux/linux-postinstall/' => 'install/linux', + 'compose/overview/' => 'compose', + 'docker-cloud/' => 'docker-hub', + 'datacenter/install/linux/' => 'ee', + 'engine/userguide/' => 'config/daemon', + 'engine/admin/' => 'config/daemon', + 'opensource/get-help/' => 'opensource', + 'engine/tutorials/dockerimages/' => 'get-started', + 'engine/admin/volumes/bind-mounts/' => 'storage', + 'engine/tutorials/dockervolumes/' => 'storage', + 'engine/admin/volumes/volumes/' => 'storage', + 'engine/userguide/labels-custom-metadata/' => 'config', + 'engine/userguide/eng-image/multistage-build/' => 'develop/develop-images', + 'engine/swarm/networking/' => 'network', + 'engine/admin/resource_constraints/' => 'config/containers', + 'engine/admin/logging/overview/' => 'config/containers/logging', + 'engine/userguide/eng-image/dockerfile_best-practices/' => 'develop/develop-images', + 'engine/tutorials/dockerrepos/' => 'get-started', + 'engine/userguide/networking/' => 'network', + 'engine/userguide/networking/get-started-overlay/' => 'network', + 'engine/reference/commandline/swarm_join_token/' => 'engine/reference/commandline', + 'engine/understanding-docker/' => 'engine', + 'engine/userguide/dockervolumes/' => 'storage', + 'engine/installation/binaries/' => 'install/linux/docker-ce', + 'engine/userguide/networking/default_network/dockerlinks/' => 'network', + 'engine/reference/api/' => 'develop/sdk', + 'engine/admin/systemd/' => 'config/daemon', + 'engine/userguide/storagedriver/imagesandcontainers/' => 'storage/storagedriver', + 'engine/api/' => 'develop/sdk', + 'engine/userguide/networking/get-started-overlay' => 'network', + 'engine/userguide/networking/overlay-security-model/' => 'network', + 'engine/installation/linux/docker-ce/binaries/' => 'install/linux/docker-ce', + 'engine/admin/volumes/' => 'storage/volumes/', + 'engine/userguide/networking//' => 'network', + 'engine/reference/commandline' => 'engine/reference/commandline/docker', + 'engine/reference/commandline/' => 'engine/reference/commandline/docker/', + } + end + version '18' do - self.release = '18.03' - self.base_url = 'https://docs.docker.com/' + self.release = '18.09' + self.base_url = "https://docs.docker.com/v#{release}/" html_filters.push 'docker/entries', 'docker/clean_html' @@ -33,36 +87,50 @@ class Docker < UrlScraper options[:skip_patterns] = [/\Aengine\/api\/v/, /glossary/, /docker-ee/] options[:replace_paths] = { - 'get-started/part1' => 'get-started/', - 'engine/installation/linux/docker-ee/linux-postinstall/' => 'engine/installation/linux/linux-postinstall/', - 'engine/installation/linux/docker-ee/' => 'engine/installation/', - 'engine/installation/linux/docker-ce/' => 'engine/installation/', - 'engine/installation/linux/' => 'engine/installation/', - 'engine/installation/windows/' => 'engine/installation/', - 'engine/userguide/intro/' => 'engine/userguide/', - 'engine/tutorials/dockervolumes/' => 'engine/admin/volumes/volumes/', - 'engine/getstarted/' => 'get-started/', - 'engine/tutorials/dockerimages/' => 'get-started/', - 'engine/tutorials/dockerrepos/' => 'get-started/', - 'engine/admin/host_integration/' => 'engine/admin/start-containers-automatically/', - 'engine/installation/linux/rhel/' => 'engine/installation/linux/docker-ee/rhel/', - 'engine/installation/linux/ubuntulinux/' => 'engine/installation/linux/docker-ee/ubuntu/', - 'engine/installation/linux/suse/' => 'engine/installation/linux/docker-ee/suse/', - 'engine/admin/logging/' => 'engine/admin/logging/view_container_logs/', - 'engine/swarm/how-swarm-mode-works/' => 'engine/swarm/how-swarm-mode-works/nodes/', - 'engine/installation/binaries/' => 'engine/installation/linux/docker-ce/binaries/', + 'install/linux/ubuntu/' => 'install/linux/docker-ce', + 'get-started/part1' => 'get-started', + 'engine/installation/' => 'install', + 'engine/installation/linux/linux-postinstall/' => 'install/linux', + 'compose/overview/' => 'compose', + 'datacenter/install/linux/' => 'ee', + 'engine/userguide/' => 'config/daemon', + 'engine/admin/' => 'config/daemon', + 'opensource/get-help/' => 'opensource', + 'engine/tutorials/dockerimages/' => 'get-started', + 'engine/admin/volumes/bind-mounts/' => 'storage', + 'engine/tutorials/dockervolumes/' => 'storage', + 'engine/admin/volumes/volumes/' => 'storage', + 'engine/userguide/labels-custom-metadata/' => 'config', + 'engine/reference/api/' => 'develop/sdk', + 'engine/userguide/eng-image/multistage-build/' => 'develop/develop-images', + 'engine/swarm/networking/' => 'network', + 'engine/admin/resource_constraints/' => 'config/containers', + 'engine/admin/logging/overview/' => 'config/containers/logging', + 'engine/userguide/eng-image/dockerfile_best-practices/' => 'develop/develop-images', + 'engine/tutorials/dockerrepos/' => 'get-started', + 'engine/userguide/networking/' => 'network', + 'engine/userguide/networking/get-started-overlay/' => 'network', + 'engine/understanding-docker/' => 'engine', + 'engine/reference/commandline/swarm_join_token/' => 'engine/reference/commandline', + 'engine/userguide/dockervolumes/' => 'storage', + 'engine/admin/systemd/' => 'config/daemon', + 'engine/userguide/storagedriver/imagesandcontainers/' => 'storage/storagedriver', + 'engine/installation/binaries/' => 'install/linux/docker-ce', + 'engine/userguide/networking/default_network/dockerlinks/' => 'network', + 'engine/userguide/networking/overlay-security-model/' => 'network', + 'engine/userguide/networking/get-started-overlay' => 'network', + 'engine/api/' => 'develop/sdk', + 'engine/installation/linux/docker-ce/binaries/' => 'install/linux/docker-ce', + 'engine/admin/volumes/' => 'storage/volumes/', + 'engine/userguide/networking//' => 'network', + 'engine/reference/commandline' => 'engine/reference/commandline/docker', 'engine/reference/commandline/' => 'engine/reference/commandline/docker/', - 'engine/reference/api/' => 'engine/api/', - 'engine/userguide/dockervolumes/' => 'engine/admin/volumes/volumes/', - 'engine/understanding-docker/' => 'engine/docker-overview/', - 'engine/reference/commandline/swarm_join_token/' => 'engine/reference/commandline/swarm_join-token/', - 'engine/api/getting-started/' => 'engine/api/get-started/', } end version '17' do - self.release = '17.06' - self.base_url = 'https://docs.docker.com/' + self.release = '17.12' + self.base_url = "https://docs.docker.com/v#{release}/" html_filters.push 'docker/entries', 'docker/clean_html' @@ -72,29 +140,43 @@ class Docker < UrlScraper options[:skip_patterns] = [/\Aengine\/api\/v/, /glossary/, /docker-ee/] options[:replace_paths] = { - 'engine/installation/linux/docker-ee/linux-postinstall/' => 'engine/installation/linux/linux-postinstall/', - 'engine/installation/linux/docker-ee/' => 'engine/installation/', - 'engine/installation/linux/docker-ce/' => 'engine/installation/', - 'engine/installation/linux/' => 'engine/installation/', - 'engine/installation/windows/' => 'engine/installation/', - 'engine/userguide/intro/' => 'engine/userguide/', - 'engine/tutorials/dockervolumes/' => 'engine/admin/volumes/volumes/', - 'engine/getstarted/' => 'get-started/', - 'engine/tutorials/dockerimages/' => 'get-started/', - 'engine/tutorials/dockerrepos/' => 'get-started/', - 'engine/admin/host_integration/' => 'engine/admin/start-containers-automatically/', - 'engine/installation/linux/rhel/' => 'engine/installation/linux/docker-ee/rhel/', - 'engine/installation/linux/ubuntulinux/' => 'engine/installation/linux/docker-ee/ubuntu/', - 'engine/installation/linux/suse/' => 'engine/installation/linux/docker-ee/suse/', - 'engine/admin/logging/' => 'engine/admin/logging/view_container_logs/', - 'engine/swarm/how-swarm-mode-works/' => 'engine/swarm/how-swarm-mode-works/nodes/', - 'engine/installation/binaries/' => 'engine/installation/linux/docker-ce/binaries/', - 'engine/reference/commandline/' => 'engine/reference/commandline/docker/', - 'engine/reference/api/' => 'engine/api/', - 'engine/userguide/dockervolumes/' => 'engine/admin/volumes/volumes/', - 'engine/understanding-docker/' => 'engine/docker-overview/', - 'engine/reference/commandline/swarm_join_token/' => 'engine/reference/commandline/swarm_join-token/', - 'engine/api/getting-started/' => 'engine/api/get-started/', + 'get-started/part1' => 'get-started', + 'engine/installation/' => 'install', + 'engine/installation/linux/linux-postinstall/' => 'install/linux', + 'opensource/get-help/' => 'opensource', + 'engine/admin/volumes/volumes/' => 'storage', + 'engine/tutorials/dockerimages/' => 'get-started', + 'engine/admin/volumes/bind-mounts/' => 'storage', + 'engine/tutorials/dockervolumes/' => 'storage', + 'datacenter/install/aws/' => 'docker-for-aws', + 'engine/userguide/' => 'config/daemon', + 'engine/admin/' => 'config/daemon', + 'engine/userguide/labels-custom-metadata/' => 'config', + 'engine/userguide/eng-image/multistage-build/' => 'develop/develop-images', + 'engine/swarm/networking/' => 'network', + 'engine/admin/resource_constraints/' => 'config/containers', + 'engine/admin/logging/overview/' => 'config/containers/logging', + 'engine/understanding-docker/' => 'engine', + 'engine/userguide/eng-image/dockerfile_best-practices/' => 'develop/develop-images', + 'engine/tutorials/dockerrepos/' => 'get-started', + 'engine/userguide/networking/' => 'network', + 'engine/reference/commandline/swarm_join_token/' => 'edge/engine/reference/commandline', + 'engine/userguide/networking/get-started-overlay/' => 'network', + 'engine/userguide/dockervolumes/' => 'storage', + 'engine/installation/binaries/' => 'install/linux/docker-ce', + 'engine/userguide/networking/default_network/dockerlinks/' => 'network', + 'engine/reference/api/' => 'develop/sdk', + 'engine/admin/live-restore/' => 'config/containers', + 'engine/api/' => 'develop/sdk', + 'engine/userguide/networking/get-started-overlay' => 'network', + 'security/security/' => 'engine/security', + 'engine/installation/linux/docker-ce/binaries/' => 'install/linux/docker-ce', + 'engine/reference/commandline/' => 'edge/engine/reference/commandline', + 'engine/admin/systemd/' => 'config/daemon', + 'engine/userguide/storagedriver/imagesandcontainers/' => 'storage/storagedriver', + 'engine/userguide/networking/overlay-security-model/' => 'network', + 'engine/admin/volumes/' => 'storage/volumes/', + 'engine/userguide/networking//' => 'network', } end From 96cadd449bdc0dbcf0e9cd85288257df2b79e8ef Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 18:29:00 +0200 Subject: [PATCH 0164/2822] Fix service worker for disabled docs --- views/service-worker.js.erb | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 8d5698a733..b4c77de6d9 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -35,15 +35,25 @@ self.addEventListener('fetch', event => { const cachedResponse = await caches.match(event.request); if (cachedResponse) return cachedResponse; - const url = new URL(event.request.url); + try { + const response = await fetch(event.request); - <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> - <%# The index page will handle the routing %> - if (url.origin === location.origin && !url.pathname.includes('.')) { - const cachedIndex = await caches.match('/'); - if (cachedIndex) return cachedIndex; - } + if (!response.ok) { + throw new Error(`The HTTP request failed with status code ${response.status}`); + } + + return response; + } catch (err) { + const url = new URL(event.request.url); - return fetch(event.request); + <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> + <%# The index page will make sure the correct documentation or a proper offline page is shown %> + if (url.origin === location.origin && !url.pathname.includes('.')) { + const cachedIndex = await caches.match('/'); + if (cachedIndex) return cachedIndex; + } + + throw err; + } })()); }); From 147745b09e7bc457fd1e57e7b8769c74652940c1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 21:02:22 +0200 Subject: [PATCH 0165/2822] Use https --- lib/docs/scrapers/padrino.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/padrino.rb b/lib/docs/scrapers/padrino.rb index d779286efe..9653bf02b6 100644 --- a/lib/docs/scrapers/padrino.rb +++ b/lib/docs/scrapers/padrino.rb @@ -3,7 +3,7 @@ class Padrino < UrlScraper self.slug = 'padrino' self.type = 'rubydoc' self.release = '0.14.4' - self.base_url = 'http://www.rubydoc.info/github/padrino/padrino-framework/' + self.base_url = 'https://www.rubydoc.info/github/padrino/padrino-framework/' self.root_path = 'file/README.rdoc' self.initial_paths = %w(index2) self.links = { From 8fa1bddfdca34da690dac49b08655ac031f440ab Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 21:40:44 +0200 Subject: [PATCH 0166/2822] Update versions --- lib/docs/scrapers/django.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/docs/scrapers/django.rb b/lib/docs/scrapers/django.rb index 7b0a8000fb..f4996b228d 100644 --- a/lib/docs/scrapers/django.rb +++ b/lib/docs/scrapers/django.rb @@ -35,22 +35,22 @@ class Django < FileScraper HTML version '2.2' do - self.release = '2.2.1' + self.release = '2.2.4' self.base_url = 'https://docs.djangoproject.com/en/2.2/' end version '2.1' do - self.release = '2.1.8' + self.release = '2.1.11' self.base_url = 'https://docs.djangoproject.com/en/2.1/' end version '2.0' do - self.release = '2.0.7' + self.release = '2.0.13' self.base_url = 'https://docs.djangoproject.com/en/2.0/' end version '1.11' do - self.release = '1.11.20' + self.release = '1.11.23' self.base_url = 'https://docs.djangoproject.com/en/1.11/' end From 2b5fd63cf4782395ce660b0ddf70c234ab2c5971 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 5 Aug 2019 23:36:44 +0200 Subject: [PATCH 0167/2822] Update versions, use https and update filter for 0.24 and 0.25 --- lib/docs/filters/pandas/entries.rb | 8 +++++--- lib/docs/scrapers/pandas.rb | 22 ++++++++++++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/lib/docs/filters/pandas/entries.rb b/lib/docs/filters/pandas/entries.rb index 2ef5a42bb1..badf5e2268 100644 --- a/lib/docs/filters/pandas/entries.rb +++ b/lib/docs/filters/pandas/entries.rb @@ -2,8 +2,10 @@ module Docs class Pandas class EntriesFilter < Docs::EntriesFilter def get_name - if subpath.start_with?('generated') - name = at_css('dt').content.strip + if subpath.start_with?('generated') || (subpath.include?('reference') && !subpath.include?('reference/index')) + name_node = at_css('dt') + name_node = at_css('h1') if name_node.nil? + name = name_node.content.strip name.sub! %r{\(.*}, '()' name.remove! %r{\s=.*} name.remove! %r{\A(class(method)?) (pandas\.)?} @@ -16,7 +18,7 @@ def get_name end def get_type - if subpath.start_with?('generated') + if subpath.start_with?('generated') || (subpath.include?('reference') && !subpath.include?('reference/index')) css('.toctree-l2.current > a').last.content.remove(/\s\(.+?\)/) else 'Manual' diff --git a/lib/docs/scrapers/pandas.rb b/lib/docs/scrapers/pandas.rb index f5a2f831f8..e333da7f6a 100644 --- a/lib/docs/scrapers/pandas.rb +++ b/lib/docs/scrapers/pandas.rb @@ -14,45 +14,51 @@ class Pandas < UrlScraper options[:container] = '.document' options[:skip] = %w(internals.html release.html contributing.html whatsnew.html) + options[:skip_patterns] = [/whatsnew\//] options[:attribution] = <<-HTML © 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
    Licensed under the 3-clause BSD License. HTML + version '0.25' do + self.release = '0.25.0' + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" + end + version '0.24' do self.release = '0.24.2' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.23' do self.release = '0.23.4' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.22' do self.release = '0.22.0' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.21' do - self.release = '0.21.0' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.release = '0.21.1' + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.20' do self.release = '0.20.3' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.19' do self.release = '0.19.2' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end version '0.18' do self.release = '0.18.1' - self.base_url = "http://pandas.pydata.org/pandas-docs/version/#{self.release}/" + self.base_url = "https://pandas.pydata.org/pandas-docs/version/#{self.release}/" end def get_latest_version(opts) From eb1429da12c93099df4b3a7da5f1e8ec364b4527 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 00:03:58 +0200 Subject: [PATCH 0168/2822] Fix service worker for docs with multiple versions --- views/service-worker.js.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index b4c77de6d9..e64e635507 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -48,7 +48,7 @@ self.addEventListener('fetch', event => { <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> <%# The index page will make sure the correct documentation or a proper offline page is shown %> - if (url.origin === location.origin && !url.pathname.includes('.')) { + if (url.origin === location.origin && !url.pathname.replace(/~([0-9.])+/, '').includes('.')) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; } From 12f102e0da2cf4e76c85875a97ac46468e0f59c6 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 00:59:09 +0200 Subject: [PATCH 0169/2822] Update filters --- lib/docs/filters/kotlin/clean_html.rb | 7 +++++++ lib/docs/filters/kotlin/entries.rb | 4 +++- lib/docs/scrapers/kotlin.rb | 12 ++++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/docs/filters/kotlin/clean_html.rb b/lib/docs/filters/kotlin/clean_html.rb index 3ea049a3e2..6343e8aba4 100644 --- a/lib/docs/filters/kotlin/clean_html.rb +++ b/lib/docs/filters/kotlin/clean_html.rb @@ -46,6 +46,13 @@ def api_page parent.content = parent.content parent['data-language'] = 'kotlin' end + + css('.tags').each do |wrapper| + platforms = wrapper.css('.platform:not(.tag-value-Common)').to_a + platforms = platforms.map { |node| "#{node.content} (#{node['data-tag-version']})" } + platforms = "Platform and version requirements: #{platforms.join ", "}" + wrapper.replace(platforms) + end end end end diff --git a/lib/docs/filters/kotlin/entries.rb b/lib/docs/filters/kotlin/entries.rb index 71f833279b..2afb1e8614 100644 --- a/lib/docs/filters/kotlin/entries.rb +++ b/lib/docs/filters/kotlin/entries.rb @@ -5,7 +5,9 @@ def get_name if subpath.start_with?('api') breadcrumbs[1..-1].join('.') else - (at_css('h1') || at_css('h2')).content + node = (at_css('h1') || at_css('h2')) + return node.content unless node.nil? + subpath[/\/([a-z0-9_-]+)\./][1..-2].titleize.sub('Faq', 'FAQ') end end diff --git a/lib/docs/scrapers/kotlin.rb b/lib/docs/scrapers/kotlin.rb index c68e90411d..8707aee50e 100644 --- a/lib/docs/scrapers/kotlin.rb +++ b/lib/docs/scrapers/kotlin.rb @@ -22,10 +22,18 @@ class Kotlin < UrlScraper docs/events.html docs/resources.html docs/reference/grammar.html) - options[:replace_paths] = { 'api/latest/jvm/stdlib/' => 'api/latest/jvm/stdlib/index.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[:attribution] = <<-HTML - © 2010–2018 JetBrains s.r.o.
    + © 2010–2019 JetBrains s.r.o.
    Licensed under the Apache License, Version 2.0. HTML From f3898a070f8791b1cd7360b47d94d59d72f4cee8 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 01:06:09 +0200 Subject: [PATCH 0170/2822] Update Pygame release --- lib/docs/scrapers/pygame.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/pygame.rb b/lib/docs/scrapers/pygame.rb index 617ae033b2..f77ddbc798 100644 --- a/lib/docs/scrapers/pygame.rb +++ b/lib/docs/scrapers/pygame.rb @@ -1,7 +1,7 @@ module Docs class Pygame < UrlScraper self.type = 'simple' - self.release = '1.9.4' + self.release = '1.9.6' self.base_url = 'https://www.pygame.org/docs/' self.root_path = 'py-modindex.html' self.links = { From b38e396fe15d71ef9a5bf1ad302a00b16e9a7733 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 01:14:26 +0200 Subject: [PATCH 0171/2822] Use https --- lib/docs/scrapers/ramda.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/ramda.rb b/lib/docs/scrapers/ramda.rb index 268bc2f864..993fd91382 100644 --- a/lib/docs/scrapers/ramda.rb +++ b/lib/docs/scrapers/ramda.rb @@ -2,7 +2,7 @@ module Docs class Ramda < UrlScraper self.type = 'ramda' self.release = '0.26.1' - self.base_url = "http://ramdajs.com/#{release}/docs/" + self.base_url = "https://ramdajs.com/#{release}/docs/" self.links = { home: 'http://ramdajs.com/', code: 'https://github.com/ramda/ramda/' From 3202837c0237e96930a12a0c92ff697bd2c14cf7 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 12:23:15 +0200 Subject: [PATCH 0172/2822] Update about_tmpl --- assets/javascripts/templates/pages/about_tmpl.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index e7b4cc8067..aa51f5d15f 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -223,7 +223,7 @@ credits = [ 'https://raw.githubusercontent.com/django/django/master/LICENSE' ], [ 'Docker', - '2017 Docker, Inc.
    Docker and the Docker logo are trademarks of Docker, Inc.', + '2019 Docker, Inc.
    Docker and the Docker logo are trademarks of Docker, Inc.', 'Apache', 'https://raw.githubusercontent.com/docker/docker.github.io/master/LICENSE' ], [ @@ -388,7 +388,7 @@ credits = [ 'https://raw.githubusercontent.com/koajs/koa/master/LICENSE' ], [ 'Kotlin', - '2010-2018 JetBrains s.r.o.', + '2010-2019 JetBrains s.r.o.', 'Apache', 'https://raw.githubusercontent.com/JetBrains/kotlin/master/license/LICENSE.txt' ], [ @@ -518,7 +518,7 @@ credits = [ 'https://raw.githubusercontent.com/OpenTSDB/opentsdb.net/gh-pages/COPYING.LESSER' ], [ 'Padrino', - '2010-2016 Padrino', + '2010-2019 Padrino', 'MIT', 'https://raw.githubusercontent.com/padrino/padrino-framework/master/padrino/LICENSE.txt' ], [ @@ -568,7 +568,7 @@ credits = [ 'https://raw.githubusercontent.com/GoogleChrome/puppeteer/master/LICENSE' ], [ 'Pygame', - 'Pygame Developpers', + 'Pygame Developers', 'LGPLv2.1', 'https://raw.githubusercontent.com/pygame/pygame/master/LICENSE' ], [ From ad8cd233d732df6f7ea341b8377d41f07661c9ab Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 12:59:27 +0200 Subject: [PATCH 0173/2822] Update service worker to more accurately detect 'internal' url's --- views/service-worker.js.erb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index e64e635507..9e32ef89cb 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -48,7 +48,10 @@ self.addEventListener('fetch', event => { <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> <%# The index page will make sure the correct documentation or a proper offline page is shown %> - if (url.origin === location.origin && !url.pathname.replace(/~([0-9.])+/, '').includes('.')) { + const pathname = url.pathname; + const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; + + if (url.origin === location.origin && !filename.includes('.')) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; } From eada92ec983604ac9902ab89a07be06e46ece179 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 6 Aug 2019 13:00:03 +0200 Subject: [PATCH 0174/2822] Remove newline --- views/service-worker.js.erb | 1 - 1 file changed, 1 deletion(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 9e32ef89cb..aa234c19df 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -50,7 +50,6 @@ self.addEventListener('fetch', event => { <%# The index page will make sure the correct documentation or a proper offline page is shown %> const pathname = url.pathname; const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; - if (url.origin === location.origin && !filename.includes('.')) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; From cd37cd81017090ccd5b0d85174df8a05a41889e6 Mon Sep 17 00:00:00 2001 From: Jiawen Geng Date: Wed, 7 Aug 2019 16:51:27 +0800 Subject: [PATCH 0175/2822] update Node.js version to 12 --- lib/docs/scrapers/node.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/node.rb b/lib/docs/scrapers/node.rb index 0e5ee8fa26..1e10d0119a 100644 --- a/lib/docs/scrapers/node.rb +++ b/lib/docs/scrapers/node.rb @@ -23,8 +23,8 @@ class Node < UrlScraper HTML version do - self.release = '11.1.0' - self.base_url = 'https://nodejs.org/dist/latest-v11.x/docs/api/' + self.release = '12.8.0' + self.base_url = 'https://nodejs.org/dist/latest-v12.x/docs/api/' end version '10 LTS' do From 7807197b0155ebffe8eaaa3ad153deb749215970 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 14:24:15 +0200 Subject: [PATCH 0176/2822] nginx: use HTTPS --- lib/docs/scrapers/nginx.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/nginx.rb b/lib/docs/scrapers/nginx.rb index 5354b8bd3a..3a459f708b 100644 --- a/lib/docs/scrapers/nginx.rb +++ b/lib/docs/scrapers/nginx.rb @@ -6,7 +6,7 @@ class Nginx < UrlScraper self.base_url = 'https://nginx.org/en/docs/' self.links = { home: 'https://nginx.org/', - code: 'http://hg.nginx.org/nginx' + code: 'https://hg.nginx.org/nginx' } html_filters.push 'nginx/clean_html', 'nginx/entries' From 6cc1d87e951a73452cd60aec8ccb3cb19794bf39 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 15:35:57 +0200 Subject: [PATCH 0177/2822] angularjs: add version 1.7.8 --- lib/docs/scrapers/angularjs.rb | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/docs/scrapers/angularjs.rb b/lib/docs/scrapers/angularjs.rb index 9d663e355e..4e563c8240 100644 --- a/lib/docs/scrapers/angularjs.rb +++ b/lib/docs/scrapers/angularjs.rb @@ -31,10 +31,14 @@ class Angularjs < UrlScraper end options[:only_patterns] = [%r{\Aapi}, %r{\Aguide}] - options[:skip] = %w(api/ng.html) + options[:skip] = %w(api/ng.html guide/tutorial/step_14.html guide/api.html guide/tutorial/.html) + options[:skip_patterns] = [ + /error\/\$compile/, + /misc/, + ] options[:attribution] = <<-HTML - © 2010–2017 Google, Inc.
    + © 2010–2018 Google, Inc.
    Licensed under the Creative Commons Attribution License 4.0. HTML @@ -45,8 +49,13 @@ class Angularjs < UrlScraper capybara.execute_script("return document.querySelector('.side-navigation').innerHTML") end + version '1.7' do + self.release = '1.7.8' + self.base_url = "https://code.angularjs.org/#{release}/docs/partials/" + end + version '1.6' do - self.release = '1.6.6' + self.release = '1.6.9' self.base_url = "https://code.angularjs.org/#{release}/docs/partials/" end From 40477ece850a658ade267420ee78dce4d9ff3919 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Thu, 8 Aug 2019 15:22:12 +0200 Subject: [PATCH 0178/2822] go: move `id`s to kept elements --- lib/docs/filters/go/clean_html.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/docs/filters/go/clean_html.rb b/lib/docs/filters/go/clean_html.rb index 9acc91c7e7..a286c66b85 100644 --- a/lib/docs/filters/go/clean_html.rb +++ b/lib/docs/filters/go/clean_html.rb @@ -17,6 +17,7 @@ def call css('#plusone', '#nav', '.pkgGopher', '#footer', '.collapsed', '.permalink', '#pkg-callgraph').remove css('span[style]', '.toggleVisible', '.expanded', 'div.toggle').each do |node| + node.first_element_child['id'] = node['id'] if node['id'] node.before(node.children).remove end From f6c4cefa54a0ae4dca8ad3ed4062fbdabd83af12 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Thu, 8 Aug 2019 15:30:17 +0200 Subject: [PATCH 0179/2822] python: do not exclude constants --- lib/docs/filters/python/entries_v2.rb | 8 +------- lib/docs/filters/python/entries_v3.rb | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/lib/docs/filters/python/entries_v2.rb b/lib/docs/filters/python/entries_v2.rb index 35168aac1a..562790dfce 100644 --- a/lib/docs/filters/python/entries_v2.rb +++ b/lib/docs/filters/python/entries_v2.rb @@ -57,16 +57,10 @@ def additional_entries clean_id_attributes entries = [] - css('.class > dt[id]', '.exception > dt[id]', '.attribute > dt[id]').each do |node| + css('.class > dt[id]', '.exception > dt[id]', '.attribute > dt[id]', '.data > dt[id]').each do |node| entries << [node['id'], node['id']] end - css('.data > dt[id]').each do |node| - if node['id'].split('.').last.upcase! # skip constants - entries << [node['id'], node['id']] - end - end - css('.function > dt[id]', '.method > dt[id]', '.staticmethod > dt[id]', '.classmethod > dt[id]').each do |node| entries << [node['id'] + '()', node['id']] end diff --git a/lib/docs/filters/python/entries_v3.rb b/lib/docs/filters/python/entries_v3.rb index 2bd06de2c7..bbf1fbe60c 100644 --- a/lib/docs/filters/python/entries_v3.rb +++ b/lib/docs/filters/python/entries_v3.rb @@ -55,16 +55,10 @@ def additional_entries clean_id_attributes entries = [] - css('.class > dt[id]', '.exception > dt[id]', '.attribute > dt[id]').each do |node| + css('.class > dt[id]', '.exception > dt[id]', '.attribute > dt[id]', '.data > dt[id]').each do |node| entries << [node['id'], node['id']] end - css('.data > dt[id]').each do |node| - if node['id'].split('.').last.upcase! # skip constants - entries << [node['id'], node['id']] - end - end - css('.function > dt[id]', '.method > dt[id]', '.staticmethod > dt[id]', '.classmethod > dt[id]').each do |node| entries << [node['id'] + '()', node['id']] end From d370aacca0369645cd661cd21f21c5236d713785 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 14:26:39 +0200 Subject: [PATCH 0180/2822] nginx: update to 1.17.2 --- assets/javascripts/templates/pages/about_tmpl.coffee | 2 +- lib/docs/scrapers/nginx.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index aa51f5d15f..fd3b617a8f 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -473,7 +473,7 @@ credits = [ 'https://github.com/LearnBoost/mongoose/blob/master/README.md#license' ], [ 'nginx', - '2002-2018 Igor Sysoev
    © 2011-2018 Nginx, Inc.', + '2002-2019 Igor Sysoev
    © 2011-2019 Nginx, Inc.', 'BSD', 'http://nginx.org/LICENSE' ], [ diff --git a/lib/docs/scrapers/nginx.rb b/lib/docs/scrapers/nginx.rb index 3a459f708b..98a927fc9a 100644 --- a/lib/docs/scrapers/nginx.rb +++ b/lib/docs/scrapers/nginx.rb @@ -2,7 +2,7 @@ module Docs class Nginx < UrlScraper self.name = 'nginx' self.type = 'nginx' - self.release = '1.15.5' + self.release = '1.17.2' self.base_url = 'https://nginx.org/en/docs/' self.links = { home: 'https://nginx.org/', @@ -21,8 +21,8 @@ class Nginx < UrlScraper options[:skip_patterns] = [/\/faq\//] options[:attribution] = <<-HTML - © 2002-2018 Igor Sysoev
    - © 2011-2018 Nginx, Inc.
    + © 2002-2019 Igor Sysoev
    + © 2011-2019 Nginx, Inc.
    Licensed under the BSD License. HTML From ac2165eea1e6dd1854221b3bc807559386f2dc7a Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 15:56:39 +0200 Subject: [PATCH 0181/2822] ansible: add version 2.8 --- .../templates/pages/about_tmpl.coffee | 2 +- lib/docs/scrapers/ansible.rb | 68 ++++++------------- 2 files changed, 23 insertions(+), 47 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index aa51f5d15f..d2225028bd 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -88,7 +88,7 @@ credits = [ 'https://creativecommons.org/licenses/by/4.0/' ], [ 'Ansible', - '2012-2018 Michael DeHaan
    © 2018 Red Hat, Inc.', + '2012-2018 Michael DeHaan
    © 2018–2019 Red Hat, Inc.', 'GPLv3', 'https://raw.githubusercontent.com/ansible/ansible/devel/COPYING' ], [ diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index b2363d4d78..a5e89b4e31 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -11,68 +11,43 @@ class Ansible < UrlScraper options[:attribution] = <<-HTML © 2012–2018 Michael DeHaan
    - © 2018 Red Hat, Inc.
    + © 2018–2019 Red Hat, Inc.
    Licensed under the GNU General Public License version 3. HTML + options[:skip] = %w( + installation_guide/index.html + reference_appendices/glossary.html + reference_appendices/faq.html + reference_appendices/tower.html + user_guide/quickstart.html + modules/modules_by_category.html + modules/list_of_all_modules.html) + + options[:skip_patterns] = [ + /\Acommunity.*/i, + /\Adev_guide.*/i, + /\Aroadmap.*/i, + ] + + version '2.8' do + self.release = '2.8' + self.base_url = 'https://docs.ansible.com/ansible/2.7/' + end + version '2.7' do self.release = '2.7.1' self.base_url = 'https://docs.ansible.com/ansible/2.7/' - - options[:skip] = %w( - installation_guide/index.html - reference_appendices/glossary.html - reference_appendices/faq.html - reference_appendices/tower.html - user_guide/quickstart.html - modules/modules_by_category.html - modules/list_of_all_modules.html) - - options[:skip_patterns] = [ - /\Acommunity.*/i, - /\Adev_guide.*/i, - /\Aroadmap.*/i, - ] end version '2.6' do self.release = '2.6.7' self.base_url = 'https://docs.ansible.com/ansible/2.6/' - - options[:skip] = %w( - installation_guide/index.html - reference_appendices/glossary.html - reference_appendices/faq.html - reference_appendices/tower.html - user_guide/quickstart.html - modules/modules_by_category.html - modules/list_of_all_modules.html) - - options[:skip_patterns] = [ - /\Acommunity.*/i, - /\Adev_guide.*/i, - /\Aroadmap.*/i, - ] end version '2.5' do self.release = '2.5.3' self.base_url = 'https://docs.ansible.com/ansible/2.5/' - - options[:skip] = %w( - installation_guide/index.html - reference_appendices/glossary.html - reference_appendices/faq.html - reference_appendices/tower.html - user_guide/quickstart.html - modules/modules_by_category.html - modules/list_of_all_modules.html) - - options[:skip_patterns] = [ - /\Acommunity.*/i, - /\Adev_guide.*/i, - /\Aroadmap.*/i, - ] end version '2.4' do @@ -86,6 +61,7 @@ class Ansible < UrlScraper tower.html quickstart.html list_of_all_modules.html) + options[:skip_patterns] = [] end def get_latest_version(opts) From 89171745a501daad5e98f4b170f9c4ff10667190 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 14:15:34 +0200 Subject: [PATCH 0182/2822] leaflet: add versions 1.4 and 1.5 --- assets/javascripts/templates/pages/about_tmpl.coffee | 2 +- lib/docs/scrapers/leaflet.rb | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index aa51f5d15f..7acef192be 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -398,7 +398,7 @@ credits = [ 'https://raw.githubusercontent.com/laravel/framework/master/LICENSE.txt' ], [ 'Leaflet', - '2010-2018 Vladimir Agafonkin
    © 2010-2011, CloudMade
    Maps © OpenStreetMap contributors.', + '2010-2019 Vladimir Agafonkin
    © 2010-2011, CloudMade
    Maps © OpenStreetMap contributors.', 'BSD', 'https://raw.githubusercontent.com/Leaflet/Leaflet/master/LICENSE' ], [ diff --git a/lib/docs/scrapers/leaflet.rb b/lib/docs/scrapers/leaflet.rb index 38e497e7c9..1de33186d9 100644 --- a/lib/docs/scrapers/leaflet.rb +++ b/lib/docs/scrapers/leaflet.rb @@ -14,11 +14,21 @@ class Leaflet < UrlScraper options[:skip_links] = true options[:attribution] = <<-HTML - © 2010–2018 Vladimir Agafonkin
    + © 2010–2019 Vladimir Agafonkin
    © 2010–2011, CloudMade
    Maps © OpenStreetMap contributors. HTML + version '1.5' do + self.release = '1.5.0' + self.base_url = "https://leafletjs.com/reference-#{release}.html" + end + + version '1.4' do + self.release = '1.4.0' + self.base_url = "https://leafletjs.com/reference-#{release}.html" + end + version '1.3' do self.release = '1.3.4' self.base_url = "https://leafletjs.com/reference-#{release}.html" From 79b584dc14d28b02ff147aba3a466117457a34ec Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 15:53:00 +0200 Subject: [PATCH 0183/2822] fish: add version 3.0 --- lib/docs/scrapers/fish.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/docs/scrapers/fish.rb b/lib/docs/scrapers/fish.rb index c9a9880256..3dac427f0c 100644 --- a/lib/docs/scrapers/fish.rb +++ b/lib/docs/scrapers/fish.rb @@ -12,11 +12,17 @@ class Fish < UrlScraper options[:skip] = %w(design.html license.html) + # https://fishshell.com/docs/current/license.html options[:attribution] = <<-HTML © 2005–2009 Axel Liljencrantz
    Licensed under the GNU General Public License, version 2. HTML + version '3.0' do + self.release = '3.0.1' + self.base_url = "https://fishshell.com/docs/#{version}/" + end + version '2.7' do self.release = '2.7.1' self.base_url = "https://fishshell.com/docs/#{version}/" From 321ef2db3e0ee65aea1b4caecba25ee155a2e866 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Wed, 7 Aug 2019 15:37:51 +0200 Subject: [PATCH 0184/2822] bootstrap: update to version 4.3 --- assets/javascripts/templates/pages/about_tmpl.coffee | 2 +- lib/docs/scrapers/bootstrap.rb | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index aa51f5d15f..fb28f0510a 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -123,7 +123,7 @@ credits = [ 'https://raw.githubusercontent.com/petkaantonov/bluebird/master/LICENSE' ], [ 'Bootstrap', - '2011-2018 Twitter, Inc.
    2011-2018 The Bootstrap Authors', + '2011-2019 Twitter, Inc.
    2011-2019 The Bootstrap Authors', 'CC BY', 'https://creativecommons.org/licenses/by/3.0/' ], [ diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb index 8571462e56..6a1811b6e4 100644 --- a/lib/docs/scrapers/bootstrap.rb +++ b/lib/docs/scrapers/bootstrap.rb @@ -8,16 +8,17 @@ class Bootstrap < UrlScraper options[:trailing_slash] = true + # https://github.com/twbs/bootstrap/blob/master/LICENSE options[:attribution] = <<-HTML - © 2011–2018 Twitter, Inc.
    - © 2011–2018 The Bootstrap Authors
    + © 2011–2019 Twitter, Inc.
    + © 2011–2019 The Bootstrap Authors
    Code licensed under the MIT License.
    Documentation licensed under the Creative Commons Attribution License v3.0. HTML version '4' do - self.release = '4.1.3' - self.base_url = 'https://getbootstrap.com/docs/4.1/' + self.release = '4.3' + self.base_url = 'https://getbootstrap.com/docs/4.3/' self.root_path = 'getting-started/introduction/' html_filters.push 'bootstrap/entries_v4', 'bootstrap/clean_html_v4' From 897fdd188337a36a47ef88befa8ce9c0cbee6c4f Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Thu, 8 Aug 2019 16:57:41 +0200 Subject: [PATCH 0185/2822] cmake: add versions 3.13, 3.14, 3.15 --- .../templates/pages/about_tmpl.coffee | 2 +- lib/docs/filters/cmake/entries.rb | 1 + lib/docs/scrapers/cmake.rb | 35 +++++++++++++------ 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index aa51f5d15f..c246123840 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -163,7 +163,7 @@ credits = [ 'https://github.com/clojure/clojure/blob/master/epl-v10.html' ], [ 'CMake', - '2000-2018 Kitware, Inc. and Contributors', + '2000-2019 Kitware, Inc. and Contributors', 'BSD', 'https://cmake.org/licensing/' ], [ diff --git a/lib/docs/filters/cmake/entries.rb b/lib/docs/filters/cmake/entries.rb index f58c49fc91..2d64279b48 100644 --- a/lib/docs/filters/cmake/entries.rb +++ b/lib/docs/filters/cmake/entries.rb @@ -20,6 +20,7 @@ class EntriesFilter < Docs::EntriesFilter 'prop_sf' => 'Properties: Source Files', 'prop_test' => 'Properties: Tests', 'prop_tgt' => 'Properties: Targets', + 'envvar' => 'Environment Variables', 'variable' => 'Variables' } def get_name diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb index 7548a4a996..bf10ea6584 100644 --- a/lib/docs/scrapers/cmake.rb +++ b/lib/docs/scrapers/cmake.rb @@ -13,51 +13,66 @@ class Cmake < UrlScraper options[:title] = false options[:root_title] = 'CMake Reference Documentation' options[:skip] = %w(release/index.html genindex.html search.html) - options[:skip_patterns] = [/\Agenerator/, /\Ainclude/, /\Arelease/] + options[:skip_patterns] = [/\Agenerator/, /\Acpack_gen/, /\Ainclude/, /\Arelease/] options[:attribution] = <<-HTML - © 2000–2018 Kitware, Inc. and Contributors
    + © 2000–2019 Kitware, Inc. and Contributors
    Licensed under the BSD 3-clause License. HTML + version '3.15' do + self.release = '3.15.2' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" + end + + version '3.14' do + self.release = '3.14.6' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" + end + + version '3.13' do + self.release = '3.13.5' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" + end + version '3.12' do self.release = '3.12.1' - self.base_url = 'https://cmake.org/cmake/help/v3.12/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.11' do self.release = '3.11.4' - self.base_url = 'https://cmake.org/cmake/help/v3.11/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.10' do self.release = '3.10.3' - self.base_url = 'https://cmake.org/cmake/help/v3.10/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.9' do self.release = '3.9.6' - self.base_url = 'https://cmake.org/cmake/help/v3.9/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.8' do self.release = '3.8.2' - self.base_url = 'https://cmake.org/cmake/help/v3.8/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.7' do self.release = '3.7.2' - self.base_url = 'https://cmake.org/cmake/help/v3.7/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.6' do self.release = '3.6.3' - self.base_url = 'https://cmake.org/cmake/help/v3.6/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end version '3.5' do self.release = '3.5.2' - self.base_url = 'https://cmake.org/cmake/help/v3.5/' + self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end def get_latest_version(opts) From 5ad7e013e39a1e190881ec5cd9d12336ac218f61 Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Thu, 8 Aug 2019 17:54:39 +0200 Subject: [PATCH 0186/2822] python: include library/asyncio --- lib/docs/filters/python/entries_v3.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/docs/filters/python/entries_v3.rb b/lib/docs/filters/python/entries_v3.rb index 2bd06de2c7..3217ed1321 100644 --- a/lib/docs/filters/python/entries_v3.rb +++ b/lib/docs/filters/python/entries_v3.rb @@ -27,6 +27,7 @@ def get_name def get_type return 'Logging' if slug.start_with? 'library/logging' + return 'Asynchronous I/O' if slug.start_with? 'library/asyncio' type = at_css('.related a[accesskey="U"]').content @@ -47,6 +48,7 @@ def get_type end def include_default_entry? + return true if slug == 'library/asyncio' !at_css('.body > .section:only-child > .toctree-wrapper:last-child') && !type.in?(%w(Superseded)) end From 770e0c71ccc4cedd9b0dafd28160409625eed40a Mon Sep 17 00:00:00 2001 From: Simon Legner Date: Thu, 8 Aug 2019 18:04:59 +0200 Subject: [PATCH 0187/2822] matplotlib: add version 3.1 --- lib/docs/scrapers/matplotlib.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/docs/scrapers/matplotlib.rb b/lib/docs/scrapers/matplotlib.rb index eeecea71d8..96a64edb3b 100644 --- a/lib/docs/scrapers/matplotlib.rb +++ b/lib/docs/scrapers/matplotlib.rb @@ -20,6 +20,15 @@ class Matplotlib < UrlScraper Licensed under the Matplotlib License Agreement. HTML + version '3.1' do + self.release = '3.1.1' + self.base_urls = [ + "https://matplotlib.org/#{release}/api/", + "https://matplotlib.org/#{release}/mpl_toolkits/mplot3d/", + "https://matplotlib.org/#{release}/mpl_toolkits/axes_grid/api/" + ] + end + version '3.0' do self.release = '3.0.0' self.base_urls = [ From bdc8c9a08dd1e7bf1dad2e724e712a40030a898f Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 8 Aug 2019 22:38:08 +0200 Subject: [PATCH 0188/2822] go: update version --- lib/docs/scrapers/go.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/go.rb b/lib/docs/scrapers/go.rb index 27b46652fe..725df2a441 100644 --- a/lib/docs/scrapers/go.rb +++ b/lib/docs/scrapers/go.rb @@ -1,7 +1,7 @@ module Docs class Go < UrlScraper self.type = 'go' - self.release = '1.11.2' + self.release = '1.12' self.base_url = 'https://golang.org/pkg/' self.links = { home: 'https://golang.org/', From 8368b455ca573e9433629a3c62659b62b7206c1e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 8 Aug 2019 23:01:54 +0200 Subject: [PATCH 0189/2822] python: update versions --- lib/docs/scrapers/python.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/docs/scrapers/python.rb b/lib/docs/scrapers/python.rb index c790559119..e22665cb70 100644 --- a/lib/docs/scrapers/python.rb +++ b/lib/docs/scrapers/python.rb @@ -24,28 +24,28 @@ class Python < FileScraper HTML version '3.7' do # docs.python.org/3.7/download.html - self.release = '3.7.0' + self.release = '3.7.4' self.base_url = 'https://docs.python.org/3.7/' html_filters.push 'python/entries_v3', 'sphinx/clean_html', 'python/clean_html' end version '3.6' do # docs.python.org/3.6/download.html - self.release = '3.6.6' + self.release = '3.6.9' self.base_url = 'https://docs.python.org/3.6/' html_filters.push 'python/entries_v3', 'sphinx/clean_html', 'python/clean_html' end version '3.5' do # docs.python.org/3.5/download.html - self.release = '3.5.3' + self.release = '3.5.7' self.base_url = 'https://docs.python.org/3.5/' html_filters.push 'python/entries_v3', 'sphinx/clean_html', 'python/clean_html' end version '2.7' do # docs.python.org/2.7/download.html - self.release = '2.7.13' + self.release = '2.7.16' self.base_url = 'https://docs.python.org/2.7/' html_filters.push 'python/entries_v2', 'sphinx/clean_html', 'python/clean_html' From dc2503d439dd45a802af8f188e4f2a70ef5cd494 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 8 Aug 2019 23:21:09 +0200 Subject: [PATCH 0190/2822] cmake: update 3.12's release version --- lib/docs/scrapers/cmake.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb index bf10ea6584..52e5e87af9 100644 --- a/lib/docs/scrapers/cmake.rb +++ b/lib/docs/scrapers/cmake.rb @@ -36,7 +36,7 @@ class Cmake < UrlScraper end version '3.12' do - self.release = '3.12.1' + self.release = '3.12.4' self.base_url = "https://cmake.org/cmake/help/v#{self.version}/" end From 9a9bc5bc6dc5c95ccc029416ee132e96d1b7d2d3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 8 Aug 2019 23:24:21 +0200 Subject: [PATCH 0191/2822] bootstrap: update release to 4.3.1 --- lib/docs/scrapers/bootstrap.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/bootstrap.rb b/lib/docs/scrapers/bootstrap.rb index 6a1811b6e4..32de92d8f3 100644 --- a/lib/docs/scrapers/bootstrap.rb +++ b/lib/docs/scrapers/bootstrap.rb @@ -17,7 +17,7 @@ class Bootstrap < UrlScraper HTML version '4' do - self.release = '4.3' + self.release = '4.3.1' self.base_url = 'https://getbootstrap.com/docs/4.3/' self.root_path = 'getting-started/introduction/' From f05a8fd163faf1218716c0b23cf56d364a03453b Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 9 Aug 2019 00:05:54 +0200 Subject: [PATCH 0192/2822] ansible: update self.release on all versions --- lib/docs/scrapers/ansible.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/docs/scrapers/ansible.rb b/lib/docs/scrapers/ansible.rb index a5e89b4e31..8e3a63ad9c 100644 --- a/lib/docs/scrapers/ansible.rb +++ b/lib/docs/scrapers/ansible.rb @@ -31,27 +31,27 @@ class Ansible < UrlScraper ] version '2.8' do - self.release = '2.8' + self.release = '2.8.3' self.base_url = 'https://docs.ansible.com/ansible/2.7/' end - + version '2.7' do - self.release = '2.7.1' + self.release = '2.7.12' self.base_url = 'https://docs.ansible.com/ansible/2.7/' end version '2.6' do - self.release = '2.6.7' + self.release = '2.6.18' self.base_url = 'https://docs.ansible.com/ansible/2.6/' end version '2.5' do - self.release = '2.5.3' + self.release = '2.5.15' self.base_url = 'https://docs.ansible.com/ansible/2.5/' end version '2.4' do - self.release = '2.4.3' + self.release = '2.4.6' self.base_url = 'https://docs.ansible.com/ansible/2.4/' options[:skip] = %w( From ad9e7a62692e07b43853e8c1d90a54230c171ca1 Mon Sep 17 00:00:00 2001 From: Phil Scherer Date: Thu, 8 Aug 2019 21:44:41 -0500 Subject: [PATCH 0193/2822] Add Octave Documentation --- assets/stylesheets/application.css.scss | 1 + assets/stylesheets/pages/_octave.scss | 9 +++++ lib/docs/filters/octave/clean_html.rb | 45 ++++++++++++++++++++++++ lib/docs/filters/octave/entries.rb | 20 +++++++++++ lib/docs/scrapers/octave.rb | 38 ++++++++++++++++++++ public/icons/docs/octave/16.png | Bin 0 -> 1310 bytes public/icons/docs/octave/16@2x.png | Bin 0 -> 1940 bytes public/icons/docs/octave/SOURCE | 1 + 8 files changed, 114 insertions(+) create mode 100644 assets/stylesheets/pages/_octave.scss create mode 100644 lib/docs/filters/octave/clean_html.rb create mode 100644 lib/docs/filters/octave/entries.rb create mode 100644 lib/docs/scrapers/octave.rb create mode 100644 public/icons/docs/octave/16.png create mode 100644 public/icons/docs/octave/16@2x.png create mode 100644 public/icons/docs/octave/SOURCE diff --git a/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 85d1134f70..7a09dd9797 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -75,6 +75,7 @@ 'pages/nginx', 'pages/node', 'pages/npm', + 'pages/octave', 'pages/openjdk', 'pages/perl', 'pages/phalcon', diff --git a/assets/stylesheets/pages/_octave.scss b/assets/stylesheets/pages/_octave.scss new file mode 100644 index 0000000000..1dfc3f8ca2 --- /dev/null +++ b/assets/stylesheets/pages/_octave.scss @@ -0,0 +1,9 @@ +._octave { + @extend %simple; + + dl:not([compact]) > dt { @extend %block-label, %label-blue; } + + dl[compact] > dt { @extend %block-label; } + + .footnotes-heading { @extend %block-heading; } +} diff --git a/lib/docs/filters/octave/clean_html.rb b/lib/docs/filters/octave/clean_html.rb new file mode 100644 index 0000000000..cae7ec1c11 --- /dev/null +++ b/lib/docs/filters/octave/clean_html.rb @@ -0,0 +1,45 @@ +module Docs + class Octave + class CleanHtmlFilter < Filter + def call + root_page? ? root : other + doc + end + + def root + @doc = at_css('.contents') + end + + def other + css('.header', 'hr').remove + + css('.footnote > h3').each do |node| + node.name = 'h5' + end + + at_css('h2, h3, h4').name = 'h1' + + css('.example').each do |node| + node.name = 'pre' + node['data-language'] = 'matlab' + node.content = node.content + end + + css('a[name] + dl').each do |node| + node['id'] = node.previous['name'] + end + + css('dt > a[name]', 'th > a[name]').each do |node| + node.parent['id'] = node['name'] + node.parent.content = node.parent.content.strip + end + + css('h5 > a').each do |node| + node.parent['id'] = node['name'] + node.parent.content = node.content + end + + end + end + end +end diff --git a/lib/docs/filters/octave/entries.rb b/lib/docs/filters/octave/entries.rb new file mode 100644 index 0000000000..70b29df170 --- /dev/null +++ b/lib/docs/filters/octave/entries.rb @@ -0,0 +1,20 @@ +module Docs + class Octave + class EntriesFilter < Docs::EntriesFilter + def get_name + at_css('h1').content + end + + def get_type + 'Manual' + end + + def additional_entries + css('dl:not([compact]) > dt').each_with_object [] do |node, entries| + name = node.content.gsub(/[A-z0-9\,… ]*\=/,'').strip + entries << [name, node['id'], 'Functions'] + end + end + end + end +end diff --git a/lib/docs/scrapers/octave.rb b/lib/docs/scrapers/octave.rb new file mode 100644 index 0000000000..1b8e70c07a --- /dev/null +++ b/lib/docs/scrapers/octave.rb @@ -0,0 +1,38 @@ +module Docs + class Octave < UrlScraper + self.name = 'Octave' + self.type = 'octave' + self.release = '5.1.0' + self.base_url = 'https://octave.org/doc/interpreter/' + self.root_path = 'index.html' + self.links = { + home: 'http://www.octave.org/', + code: 'http://www.octave.org/hg/octave' + } + + html_filters.push 'octave/clean_html', 'octave/entries', 'title' + + options[:skip] = %w( + Copying.html + Preface.html + Acknowledgements.html + Citing-Octave-in-Publications.html + How-You-Can-Contribute-to-Octave.html + Distribution.html) + + options[:title] = false + options[:root_title] = 'GNU Octave' + + options[:attribution] = <<-HTML + © 1996–2018 John W. Eaton
    + Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
    +Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
    +Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
    + HTML + + def get_latest_version(opts) + doc = fetch_doc('https://octave.org/doc/interpreter/', opts) + doc.at_css('h1').content.scan(/([0-9.]+)/)[0][0] + end + end +end diff --git a/public/icons/docs/octave/16.png b/public/icons/docs/octave/16.png new file mode 100644 index 0000000000000000000000000000000000000000..bef5229f9dbf701d066cb7f642d7600307f8b190 GIT binary patch literal 1310 zcmb7CdsLEV7=MA#BD|yy)5@qVwF`!LTg;i39;AdJkVnc3re@BxQnJ*RWS4Wyl}=}A zsB^0vWjQ;wnKwj%@)8(c$WYO8c5J8V$}%yFJ)ZvBpZm`9J@4~=&*l65e(#&hVKXcU zjs%2|1v5C13#;|QyBG)Fm14z%Wl=%^D*&O}`Ag?x@USPx26I^mWjZ4yK8?^Ed=gI} zbcBk~UqXcFB?#FcDr*S!MF<Apf$yEZZFM?f=TnbcTA$x~IJ#NNbj=UXt}%fK%wZ1ual z0E5vm5Ynsf^BIq|017Tu>J3s2u=D@D9}vzS`}~b)wSG4qxVV)y zx?fTF{!~94wdC()dqbK_QEATe1e=FPeN>rS$C4Ze1z4b|WuW4`L(%Pq$d0G4Q&+t^ zy4Da)0M=kI4Fm!1V4q@uw@WcRb`E?04X@~L8zaIBT7U&lTM@wPUWo6zX{3& z%Z4#Uow!1!MX}QQq7oz>k6F^3;eYZ{E(ir?S*%!gNlChVA7IaT#&N5 zs00}u${sjXcGydwlzt}wU`SktyU=1@AYWS4W-qzFvZ9@QMa}!M{875ctHUcN679?i z5O9us464@w}gHCipOe_+zi65p+Mv9Qvxk zIR9qG^itbso6z=px_-xJR!Nq1=K(He?@mTw$G6Q15wI~AFmpHwC04GD}ywS z85qD{-Ww|v#`X02P(5kh?q0F`5SA2{mUrZ0n9lo;^cl+o{+M*euWvPOH7msx z3=za3KiP`;`3y0)33D=_^*C|O&npydM!XoCv+RdZ?KYzOZOOA|wx>^G*XA-i)?X(k zO6m@(bgbH>=@;16ykvP)o1R>|Ze&2zqMI*q*YhEAIyt!`vQZogAEb!aQ6 zTz5LR=t4*Z?TG%310!F(=tWqJ4}qPQ4QJUuow9u`ESx^JOSJt$O9K8;2Pqk2-PUUVuoi8O2epN8av naf$mf78;;}Mxpuesh)Hw_3-}GKyJEh2MvfB#15?4Cd~O4_VGD3 literal 0 HcmV?d00001 diff --git a/public/icons/docs/octave/16@2x.png b/public/icons/docs/octave/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6c9700b3254e8b5619ebc0a53db6ac5dfca41f GIT binary patch literal 1940 zcmV;F2W$9=P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Re0|f&X7$L~owg3PIm`OxIR9M5kmwSv=)fL8n z-`eNCW}E@aOCF^>jG`b=v86nU6i8aIRBdTQ!T!-ltg&hOP&7?!|Ijv#Hrm#vS7A3NdFB+*-W`$>Tl9GlV+P~W)Q8I-SbY* z-pjJ3Qu&Edy-rVH?6R#SL8OtJO)N4~eK&Yj?gM7JH<*^-yc<38?Ceq93thi%4|N&C zovayGnc3H~mE!afdsaVs?aJF%Iv~-O$FU{Zm^I4CMe0$d|jg=#9fQrT9-lIp`=Sl3W5l8?= zKK>6Ji0;>UWSk4!z#||^zduMIkTm+3=uYZR8lBWVO{4#|R7u~d#52M^Mv4`e^e{0JLK+mu3Suz25Wk>AM>*n<}YGEm4=Yw~lY#@W;^c?w``gQ)ZNF=6S!^ zG^;w6D`argvju9vlIjuF{h4&1vw|9%`^XZz8zr*U`LVeHED zRKOt!V(N`9lB8HH-nMW5{;y?{WDwvTmdn4MAADIV%Lu3t*j)dy;_9KFc&k^bmEO}Q za_H8{=S(1tPNlPw4M9TfeWT3o zG<>^9Z#f?YQU^x^h+Kg@J-+sfULjXJfGd1b?n@Bih1s#PCEK0M5eeW?}?#F8Z1;_6L?lMWWhSa2zN%u?q;7mxo^m#Bd z+l00Tu(-R@*ZO)vmZxrbQ<1b?0D` z1P*>>;wcGi+Ki@7&MY1{aNrm6`8*DoM`BuG|AFR~lYR#x5Zznc{f_AVLh4S8-Azi) z-EVj2ag#nS_t59j4JRcaU_d`4vqC15AtVV&2w0NAvUwCj;iLr8Z%*s#5qa62ug2(G zYb0WXG-A=2>G1pL{;)}t2K;Jc{nNgi!N1-Jz_{gGSv>Ym9{cPMv!#&B)r`;`UGvjl zZ$DatNjQF`(8FfBCYWlapf)#CTaf-~rp>{$JDA#nDHBXXGQbB^PF0o{7=`?QL0dv%l0=hHAu6}^wD4%YEpd{aC05UK!IV~_VEig1xGBP?c zGCD9cEig4YFfeNt_y+(003~!qSaf7zbY(hiZ)9m^c>ppnF*GeOGA%MUR4_C;Ff}?e aHZ3qUIxsLGyqXjM0000a0 literal 0 HcmV?d00001 diff --git a/public/icons/docs/octave/SOURCE b/public/icons/docs/octave/SOURCE new file mode 100644 index 0000000000..917586bc67 --- /dev/null +++ b/public/icons/docs/octave/SOURCE @@ -0,0 +1 @@ +https://www.gnu.org/software/octave/img/octave-logo.svg From 6614375671eeedb7634034a7e36f966b5072610e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 11 Aug 2019 19:53:12 +0200 Subject: [PATCH 0194/2822] scala: finish scraper and filters --- lib/docs/filters/scala/clean_html.rb | 114 ++++++++++++----------- lib/docs/filters/scala/clean_html_210.rb | 32 ------- lib/docs/filters/scala/clean_html_212.rb | 36 ------- lib/docs/filters/scala/entries.rb | 48 +++++++++- lib/docs/scrapers/scala.rb | 98 ++++++++----------- 5 files changed, 145 insertions(+), 183 deletions(-) delete mode 100644 lib/docs/filters/scala/clean_html_210.rb delete mode 100644 lib/docs/filters/scala/clean_html_212.rb diff --git a/lib/docs/filters/scala/clean_html.rb b/lib/docs/filters/scala/clean_html.rb index 95097c80e5..0320932d1e 100644 --- a/lib/docs/filters/scala/clean_html.rb +++ b/lib/docs/filters/scala/clean_html.rb @@ -2,97 +2,107 @@ module Docs class Scala class CleanHtmlFilter < Filter def call + @doc = at_css('#content') + always + add_title - if slug == 'index' - root - else - other - end + doc end def always - # remove deprecated sections + # Remove deprecated sections css('.members').each do |members| header = members.at_css('h3') members.remove if header.text.downcase.include? 'deprecate' end - # Some of this is just for 2.12 - # These are things that provide interactive features, which are not supported yet. - css('#subpackage-spacer, #search, #mbrsel, .diagram-btn').remove - css('#footer').remove - css('.toggleContainer').remove + + css('#mbrsel, #footer').remove + + css('.diagram-container').remove + css('.toggleContainer > .toggle').each do |node| + title = node.at_css('span') + next if title.nil? + + content = node.at_css('.hiddenContent') + next if content.nil? + + title.name = 'dt' + + content.remove_attribute('class') + content.remove_attribute('style') + content.name = 'dd' + + attributes = at_css('.attributes') + unless attributes.nil? + title.parent = attributes + content.parent = attributes + end + end signature = at_css('#signature') - signature.replace %Q| -

    #{signature.inner_html}

    - | + signature.replace "

    #{signature.inner_html}

    " css('div.members > h3').each do |node| - change_tag! 'h2', node + node.name = 'h2' end css('div.members > ol').each do |list| list.css('li').each do |li| h3 = doc.document.create_element 'h3' + h3['id'] = li['name'].rpartition('#').last unless li['name'].nil? + li.prepend_child h3 li.css('.shortcomment').remove + modifier = li.at_css('.modifier_kind') - modifier.parent = h3 if modifier + modifier.parent = h3 unless modifier.nil? + + kind = li.at_css('.modifier_kind .kind') + kind.content = kind.content + ' ' unless kind.nil? + symbol = li.at_css('.symbol') - symbol.parent = h3 if symbol + symbol.parent = h3 unless symbol.nil? + li.swap li.children end + list.swap list.children end - pres = css('.fullcomment pre, .fullcommenttop pre') - pres.each do |pre| + css('.fullcomment pre, .fullcommenttop pre').each do |pre| pre['data-language'] = 'scala' + pre.content = pre.content end - pres.add_class 'language-scala' - - - - doc - - end - - def root - css('#filter').remove # these are filters to search through the types and packages - css('#library').remove # these are icons at the top - doc - end - def other - # these are sections of the documentation which do not seem useful + # Sections of the documentation which do not seem useful %w(#inheritedMembers #groupedMembers .permalink .hiddenContent .material-icons).each do |selector| css(selector).remove end - # This is the kind of thing we have, class, object, trait - kind = at_css('.modifier_kind .kind').content - # this image replacement doesn't do anything on 2.12 docs - img = at_css('img') - img.replace %Q|#{kind}| unless img.nil? - class_to_add = kind == 'object' ? 'value': 'type' + # Things that are not shown on the site, like deprecated members + css('li[visbl=prt]').remove + end + + def add_title + css('.permalink').remove - # for 2.10, 2.11, the kind class is associated to the body. we have to - # add it somewhere, so we do that with the #definition. - definition = css('#definition') - definition.css('.big_circle').remove - definition.add_class class_to_add + definition = at_css('#definition') + return if definition.nil? - # this is something that is not shown on the site, such as deprecated members - css('li[visbl=prt]').remove + type_full_name = {a: 'Annotation', c: 'Class', t: 'Trait', o: 'Object', p: 'Package'} + type = type_full_name[definition.at_css('.big-circle').text.to_sym] + name = CGI.escapeHTML definition.at_css('h1').text - doc - end + package = definition.at_css('#owner').text rescue '' + package = package + '.' unless name.empty? || package.empty? - private + other = definition.at_css('.morelinks').dup + other_content = other ? "

    #{other.to_html}

    " : '' - def change_tag!(new_tag, node) - node.replace %Q|<#{new_tag}>#{node.inner_html}| + title_content = root_page? ? 'Package root' : "#{type} #{package}#{name}".strip + title = "

    #{title_content}

    " + definition.replace title + other_content end end end diff --git a/lib/docs/filters/scala/clean_html_210.rb b/lib/docs/filters/scala/clean_html_210.rb deleted file mode 100644 index 3160f10386..0000000000 --- a/lib/docs/filters/scala/clean_html_210.rb +++ /dev/null @@ -1,32 +0,0 @@ -module Docs - class Scala - class CleanHtml210Filter < Filter - def call - definition = at_css('#definition') - begin - type = definition.at_css('.img_kind').text - name = definition.at_css('h1').text.strip - - package = definition.at_css('#owner').text rescue '' - package = package + '.' unless name.empty? || name.start_with?('root') - - other = definition.at_css('.morelinks').dup - other_content = other ? "

    #{other.to_html}

    " : '' - - definition.replace %Q| -

    #{type} #{package}#{name}

    - #{other_content} - | - end if definition - - doc - end - - private - - def change_tag!(new_tag, node) - node.replace %Q|<#{new_tag}>#{node.inner_html}| - end - end - end -end diff --git a/lib/docs/filters/scala/clean_html_212.rb b/lib/docs/filters/scala/clean_html_212.rb deleted file mode 100644 index 7b4b1fe2c5..0000000000 --- a/lib/docs/filters/scala/clean_html_212.rb +++ /dev/null @@ -1,36 +0,0 @@ -module Docs - class Scala - class CleanHtml212Filter < Filter - def call - css('.permalink').remove - - definition = at_css('#definition') - begin - type_full_name = {c: 'class', t: 'trait', o: 'object', 'p': 'package'} - type = type_full_name[definition.at_css('.big-circle').text.to_sym] - name = definition.at_css('h1').text - - package = definition.at_css('#owner').text rescue '' - package = package + '.' unless name.empty? || package.empty? - - other = definition.at_css('.morelinks').dup - other_content = other ? "

    #{other.to_html}

    " : '' - - definition.replace %Q| -

    #{type} #{package}#{name}

    - #{other_content} - | - - end if definition - - doc - end - - private - - def change_tag!(new_tag, node) - node.replace %Q|<#{new_tag}>#{node.inner_html}| - end - end - end -end diff --git a/lib/docs/filters/scala/entries.rb b/lib/docs/filters/scala/entries.rb index d328764cc7..98eb978111 100644 --- a/lib/docs/filters/scala/entries.rb +++ b/lib/docs/filters/scala/entries.rb @@ -1,14 +1,30 @@ module Docs class Scala class EntriesFilter < Docs::EntriesFilter + REPLACEMENTS = { + '$eq' => '=', + '$colon' => ':', + '$less' => '<', + } + def get_name - # this first condition is mainly for scala 212 docs, which - # have their package listing as index.html if is_package? symbol = at_css('#definition h1') symbol ? symbol.text.gsub(/\W+/, '') : "package" else - slug.split('/').last + name = slug.split('/').last + + # Some objects have inner objects, show ParentObject$.ChildObject$ instead of ParentObject$$ChildObject$ + name = name.gsub('$$', '$.') + + # If a dollar sign is used as separator between two characters, replace it with a dot + name = name.gsub(/([^$.])\$([^$.])/, '\1.\2') + + REPLACEMENTS.each do |key, value| + name = name.gsub(key, value) + end + + name end end @@ -26,6 +42,31 @@ def include_default_entry? true end + def additional_entries + entries = [] + + full_name = "#{type}.#{name}".remove('$') + css(".members li[name^=\"#{full_name}\"]").each do |node| + # Ignore packages + kind = node.at_css('.modifier_kind > .kind') + next if !kind.nil? && kind.content == 'package' + + # Ignore deprecated members + next unless node.at_css('.symbol > .name.deprecated').nil? + + id = node['name'].rpartition('#').last + member_name = node.at_css('.name') + + # Ignore members only existing of hashtags, we can't link to that + next if member_name.nil? || member_name.content.strip.remove('#').blank? + + member = "#{name}.#{member_name.content}()" + entries << [member, id] + end + + entries + end + private # For the package name, we use the slug rather than parsing the package @@ -40,7 +81,6 @@ def package_name end def parent_package - name = package_name parent = package_drop_last(package_name.split('.')) parent.empty? ? '_root_' : parent end diff --git a/lib/docs/scrapers/scala.rb b/lib/docs/scrapers/scala.rb index 6b6d6bb20c..e831fa8480 100644 --- a/lib/docs/scrapers/scala.rb +++ b/lib/docs/scrapers/scala.rb @@ -1,80 +1,60 @@ module Docs class Scala < FileScraper - include FixInternalUrlsBehavior - - self.name = 'scala' + self.name = 'Scala' self.type = 'scala' self.links = { home: 'http://www.scala-lang.org/', code: 'https://github.com/scala/scala' } - version '2.12 Library' do - self.release = '2.12.3' - self.dir = '/Users/Thibaut/DevDocs/Docs/Scala212/api/scala-library' # https://downloads.lightbend.com/scala/2.12.3/scala-docs-2.12.3.zip - self.base_url = 'http://www.scala-lang.org/api/2.12.3/' + options[:container] = '#content-container' + options[:attribution] = <<-HTML + © 2002-2019 EPFL, with contributions from Lightbend. + HTML + + # https://downloads.lightbend.com/scala/2.13.0/scala-docs-2.13.0.zip + # Extract api/scala-library into docs/scala~2.13_library + version '2.13 Library' do + self.release = '2.13.0' + self.base_url = 'https://www.scala-lang.org/api/2.13.0/' self.root_path = 'index.html' - options[:attribution] = <<-HTML - Scala programming documentation. Copyright (c) 2003-2017 EPFL, with contributions from Lightbend. - HTML - html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_212' + + html_filters.push 'scala/entries', 'scala/clean_html' end - version '2.12 Reflection' do - self.release = '2.12.3' - self.dir = '/Users/Thibaut/DevDocs/Docs/Scala212/api/scala-reflect' # https://downloads.lightbend.com/scala/2.12.3/scala-docs-2.12.3.zip - self.base_url = 'http://www.scala-lang.org/api/2.12.3/scala-reflect/' + # https://downloads.lightbend.com/scala/2.13.0/scala-docs-2.13.0.zip + # Extract api/scala-reflect into docs/scala~2.13_reflection + version '2.13 Reflection' do + self.release = '2.13.0' + self.base_url = 'https://www.scala-lang.org/api/2.13.0/scala-reflect/' self.root_path = 'index.html' - options[:attribution] = <<-HTML - Scala programming documentation. Copyright (c) 2003-2017 EPFL, with contributions from Lightbend. - HTML - html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_212' + + html_filters.push 'scala/entries', 'scala/clean_html' end - version '2.11 Library' do - self.release = '2.11.8' - self.dir = '/Users/Thibaut/DevDocs/Docs/Scala211/api/scala-library' # https://downloads.lightbend.com/scala/2.11.8/scala-docs-2.11.8.zip - self.base_url = 'http://www.scala-lang.org/api/2.11.8/' - self.root_path = 'package.html' - options[:skip_patterns] = [/^index.html/, /index\/index-/] - options[:attribution] = <<-HTML - Scala programming documentation. Copyright (c) 2003-2016 EPFL, with contributions from Lightbend. - HTML - html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip + # Extract api/scala-library into docs/scala~2.12_library + version '2.12 Library' do + self.release = '2.12.6' + self.base_url = 'https://www.scala-lang.org/api/2.12.6/' + self.root_path = 'index.html' + + html_filters.push 'scala/entries', 'scala/clean_html' end - version '2.11 Reflection' do - self.release = '2.11.8' - self.dir = '/Users/Thibaut/DevDocs/Docs/Scala211/api/scala-reflect' # https://downloads.lightbend.com/scala/2.11.8/scala-docs-2.11.8.zip - self.base_url = 'http://www.scala-lang.org/api/2.11.8/scala-reflect/' - self.root_path = 'package.html' - options[:skip_patterns] = [/^index.html/, /index\/index-/] - options[:attribution] = <<-HTML - Scala programming documentation. Copyright (c) 2003-2016 EPFL, with contributions from Lightbend. - HTML - html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip + # Extract api/scala-reflect into docs/scala~2.12_reflection + version '2.12 Reflection' do + self.release = '2.12.6' + self.base_url = 'https://www.scala-lang.org/api/2.12.6/scala-reflect/' + self.root_path = 'index.html' + + html_filters.push 'scala/entries', 'scala/clean_html' end - version '2.10' do - self.release = '2.10.6' - self.dir = '/Users/Thibaut/DevDocs/Docs/Scala210' # https://downloads.lightbend.com/scala/2.10.6/scala-docs-2.10.6.zip - self.base_url = 'http://www.scala-lang.org/api/2.10.6/' - self.root_path = 'package.html' - options[:skip_patterns] = [/^index.html/, /index\/index-/] - options[:attribution] = <<-HTML - Scala programming documentation. Copyright (c) 2003-2013 EPFL, with contributions from Typesafe. - HTML - html_filters.push 'scala/entries', 'scala/clean_html', 'scala/clean_html_210' + def get_latest_version(opts) + doc = fetch_doc('https://www.scala-lang.org/api/current/', opts) + doc.at_css('#doc-version').content end end end From e566036f54231232769a5288088b8452db2d6106 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sun, 11 Aug 2019 21:26:41 +0200 Subject: [PATCH 0195/2822] scala: fix license and update entries filter --- .../javascripts/templates/pages/about_tmpl.coffee | 6 ++++++ lib/docs/filters/scala/entries.rb | 6 ++---- lib/docs/scrapers/scala.rb | 15 ++++++++------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 0981b9a361..81e1e5b7f1 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -637,6 +637,12 @@ credits = [ 'MIT', 'https://raw.githubusercontent.com/sass/sass/stable/MIT-LICENSE' ], [ + 'Scala', + '2002-2019 EPFL, with contributions from Lightbend', + 'Apache', + 'https://raw.githubusercontent.com/scala/scala-lang/master/license.md' + ], + [ 'scikit-image', '2011 the scikit-image team', 'BSD', diff --git a/lib/docs/filters/scala/entries.rb b/lib/docs/filters/scala/entries.rb index 98eb978111..5eff47fbdf 100644 --- a/lib/docs/filters/scala/entries.rb +++ b/lib/docs/filters/scala/entries.rb @@ -17,14 +17,12 @@ def get_name # Some objects have inner objects, show ParentObject$.ChildObject$ instead of ParentObject$$ChildObject$ name = name.gsub('$$', '$.') - # If a dollar sign is used as separator between two characters, replace it with a dot - name = name.gsub(/([^$.])\$([^$.])/, '\1.\2') - REPLACEMENTS.each do |key, value| name = name.gsub(key, value) end - name + # If a dollar sign is used as separator between two characters, replace it with a dot + name.gsub(/([^$.])\$([^$.])/, '\1.\2') end end diff --git a/lib/docs/scrapers/scala.rb b/lib/docs/scrapers/scala.rb index e831fa8480..dc268960d5 100644 --- a/lib/docs/scrapers/scala.rb +++ b/lib/docs/scrapers/scala.rb @@ -9,7 +9,8 @@ class Scala < FileScraper options[:container] = '#content-container' options[:attribution] = <<-HTML - © 2002-2019 EPFL, with contributions from Lightbend. + © 2002-2019 EPFL, with contributions from Lightbend.
    + Licensed under the Apache License, Version 2.0. HTML # https://downloads.lightbend.com/scala/2.13.0/scala-docs-2.13.0.zip @@ -32,21 +33,21 @@ class Scala < FileScraper html_filters.push 'scala/entries', 'scala/clean_html' end - # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip + # https://downloads.lightbend.com/scala/2.12.9/scala-docs-2.12.9.zip # Extract api/scala-library into docs/scala~2.12_library version '2.12 Library' do - self.release = '2.12.6' - self.base_url = 'https://www.scala-lang.org/api/2.12.6/' + self.release = '2.12.9' + self.base_url = 'https://www.scala-lang.org/api/2.12.9/' self.root_path = 'index.html' html_filters.push 'scala/entries', 'scala/clean_html' end - # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip + # https://downloads.lightbend.com/scala/2.12.9/scala-docs-2.12.9.zip # Extract api/scala-reflect into docs/scala~2.12_reflection version '2.12 Reflection' do - self.release = '2.12.6' - self.base_url = 'https://www.scala-lang.org/api/2.12.6/scala-reflect/' + self.release = '2.12.9' + self.base_url = 'https://www.scala-lang.org/api/2.12.9/scala-reflect/' self.root_path = 'index.html' html_filters.push 'scala/entries', 'scala/clean_html' From 78168366cf67c0fc3dbff9e6c64425fbc74a5a1e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 00:32:37 +0200 Subject: [PATCH 0196/2822] wordpress: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 6 ++++++ lib/docs/filters/wordpress/clean_html.rb | 9 ++++++++- lib/docs/filters/wordpress/entries.rb | 12 +----------- lib/docs/scrapers/wordpress.rb | 10 +++++----- public/icons/docs/wordpress/16.png | Bin 958 -> 1513 bytes public/icons/docs/wordpress/16@2x.png | Bin 3284 -> 1703 bytes 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 81e1e5b7f1..37d14eea32 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -728,6 +728,12 @@ credits = [ 'CC BY', 'https://creativecommons.org/licenses/by/4.0/' ], [ + 'Wordpress', + '2003-2019 WordPress Foundation', + 'GPLv2+', + 'https://wordpress.org/about/license/' + ], + [ 'Yarn', '2016-present Yarn Contributors', 'BSD', diff --git a/lib/docs/filters/wordpress/clean_html.rb b/lib/docs/filters/wordpress/clean_html.rb index 42ca5f2959..32cf3b3f62 100644 --- a/lib/docs/filters/wordpress/clean_html.rb +++ b/lib/docs/filters/wordpress/clean_html.rb @@ -7,12 +7,19 @@ def call return doc end + article = at_css('article[id^="post-"]') + @doc = at_css('article[id^="post-"]') unless article.nil? + css('hr', '.screen-reader-text', '.table-of-contents', '.anchor', '.toc-jump', '.source-code-links', '.user-notes', '.show-more', '.hide-more').remove br = //i + header = at_css('h1') + header.content = header.content.strip + doc.prepend_child header + # Add PHP code highlighting css('pre').each do |node| node['data-language'] = 'php' @@ -29,4 +36,4 @@ def call end end end -end \ No newline at end of file +end diff --git a/lib/docs/filters/wordpress/entries.rb b/lib/docs/filters/wordpress/entries.rb index bfcd10b324..ba539d6793 100644 --- a/lib/docs/filters/wordpress/entries.rb +++ b/lib/docs/filters/wordpress/entries.rb @@ -1,12 +1,6 @@ module Docs class Wordpress class EntriesFilter < Docs::EntriesFilter - def breadcrumbs - @breadcrumbs ||= css('.breadcrumbs .trail-inner a') - .map(&:content) - .map(&:strip) - end - def get_name at_css('.breadcrumbs .trail-end').content end @@ -18,12 +12,8 @@ def get_type 'Hooks' elsif subpath.starts_with?('functions') 'Functions' - elsif breadcrumbs.size > 1 - breadcrumbs.drop(1).join(': ') - else - at_css('.breadcrumbs .trail-end').content end end end end -end \ No newline at end of file +end diff --git a/lib/docs/scrapers/wordpress.rb b/lib/docs/scrapers/wordpress.rb index 472013ac37..58e42cb82d 100644 --- a/lib/docs/scrapers/wordpress.rb +++ b/lib/docs/scrapers/wordpress.rb @@ -2,7 +2,7 @@ module Docs class Wordpress < UrlScraper self.name = 'WordPress' self.type = 'wordpress' - self.release = '4.9.4' + self.release = '5.2.2' self.base_url = 'https://developer.wordpress.org/reference/' self.initial_paths = %w( functions/ @@ -15,10 +15,10 @@ class Wordpress < UrlScraper code: 'https://github.com/WordPress/WordPress' } - html_filters.push 'wordpress/clean_html', 'wordpress/entries' + html_filters.push 'wordpress/entries', 'wordpress/clean_html' options[:container] = '#content-area' - options[:trailing_slash] = true + options[:trailing_slash] = false options[:only_patterns] = [ /\Afunctions\//, /\Ahooks\//, @@ -32,8 +32,8 @@ class Wordpress < UrlScraper ] options[:attribution] = <<-HTML - © 2003–2018 WordPress Foundation
    + © 2003–2019 WordPress Foundation
    Licensed under the GNU GPLv2+ License. HTML end -end \ No newline at end of file +end diff --git a/public/icons/docs/wordpress/16.png b/public/icons/docs/wordpress/16.png index 13f3fa64dd7aee3835861516bd4a5e51de297ac7..0b3dc1cd28a48509d8df1e745359bc9fad981b7c 100644 GIT binary patch literal 1513 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>JBa>64!Xr+uTYzM8|MjeJL1pfd3FZ$%42Qbw>E(!7j^RP8GVfOb# z#xSQsJ29Sp7vy;NZ{$*NFD$M~Y5$wp@y*?(v^Zz(7G{UfOPxNK*3Hhznf+Fe@5Cft z!ILFN=j0UCmbZRxNo#*y__402Ane0oZpS_I4{jkHBI2M=WH=O_QxDN3=(Xh{R<^0mk?LfLta?DQOv5Ie7&|NoGc%k*rF}DynMg8k$<#I=XBu z4D5RP28KqDfxy_r)XbcN!NStY+Q!z--of#)le3Gf8-u%trnub+QFU=U|;NGL;C zctm8>!xX1AciAl)}DXD2(>5nrqxw9T;=j7()GZYjS6_=DgF5@Y$cwAXkUBggY zSKrXs^tidDwe4|xM`ss9ch8ev-oE|`6Zs}ho-%dXbcPu-XU(27ci#L33l}Y3vUJ&U zh7~JUtzNTs-TDn1H*Masb=wMt?K^hv+ReXb@8f*}`wtvEbeKW#$kAiRPn>-G_|)k$ zXOA8cVh|QNcmBe~OP8-)y>|V^IT29?1~KuQw{G9Ld++{(hmR!07*aLM`af^C@dSpK zYKdz^NlIc#s#S7PDv)9@GBC8%HL%b%Gzu{=ure~SGBngSFtRc*@Ofsk0YyV@eoAIq bC8h=gGl&M0ZJT6(8W=oX{an^LB{Ts5wdS@& delta 947 zcmV;k15Ets3%&=C8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00Ur2L_t(|+FVmzOjBnVe$G#Y73dFGq@$D;DnGimGJhZ{nmFfhn$76N zHYbUh%d%t_OC)-=EN0n-F_||@mJH@D=CaK!nLiUYNEX?v!|7HR zBR=nGf#*Lvu(^Kno%UwFzEnxGcx0L5uZ;S)-gy}Lt0>D~693{FAKY37>j>A)hO&n5 zKj`AU!MMXS9e+hgN?@f>L}N`Q_PZT$+iPaJ`)(=mR5nQbw+VT{xa%!u@Rg(5@XD2s z4_nV)9X1a>3}YdagRB4?$0L9UWD0@w2C z!EM;pTnk>*Kmm`_hqj~V@D9k71uu&5KTWEJ>D)>k(=aVF=<43ts{dxdr*3LXOR!4f zk)VXpSxJo<%3gv%roY~wRoCOuc`yyrG6TE2uG&5lnn!dYgBG(9x-u;|K?BcB9Eze~ z-zEzk27ixODytd{2j!@%?tXapX6n#_PA!&aqL1#R^vlnV;h zS7;HLPa`y!gurubOJD}kM^YkaHR<7rB)qik;y9uvZuG>2ef3CU~@o2?u0ESrZ>ufu_@ zt$wB<+9hV-qr3n4{ob3IGy9q{@x^82R*UMP#dCm0SB0Ue7&R0yn_R*d@4c2e(bu0P z&3}(f%dgEu&y19sJNEU}*vV~{KtTqkrA6qC>rrE=gOrn5OQOSW3LO9TW`uD`bCwC! zSzyETQ}=c>oc&H6rh`tK_ucju-A>2LHb(LUo`ioHonE}{3%l7c1uuMf@%ZHj&xeWi z4xya&3&B|7-0iAxbsiB7CRZVyu&5(jQ7rkmka{+mo*cTC_6<)`h_z&jkoix50RVA1 VT=~ZhHl+Xn002ovPDHLkV1hBW(}Ms2 diff --git a/public/icons/docs/wordpress/16@2x.png b/public/icons/docs/wordpress/16@2x.png index dd7147c74e1ad91ffb33d0f9ed0c4c6fd73ad031..9de430fec4074445ff3c114ebcd8166f51341c7e 100644 GIT binary patch delta 1687 zcmV;I259-z8K(`9B!2{FK}|sb0I`n?{9y$E001CkNK#Dz0D2|>0Dy!50Qvv`0D$NK z0Cg|`0P0`>06Lfe02gqax=}m;000JJOGiWi{{a60|De66lK=n!32#P5a{vGU2mk;8 z2mt<|zN-KL00(qQO+^Re2n+xi22I)unE(I)33hNnX8-^IFn<6505AZ~?u=Ie00n_b zL_t(o!^PKYjFwjs2k_s#tSl8QMky4QOGBxmptTUBT4)T?wUuI2A~A*-Yho0mF}fyeM$?7<;Cnd%cU9SiYl^x;9=h6gZuu0Z}HfW=oYS4x3t_#m#u7JM%vhDs?D z(m@|ynA?tLa0epdpQV&}cso|&SJ;Td5ne z26xmT#x<}vao`qwCn9de8*nRDCC|@QCSnQt@o+@kp(g6bup5VF%$noSf&Dd$Tbyse zoe{CAlz;LLd>0EYz;RnnV-Sx+gxivu4Vacbja#&InTQB{A~$Zpjrazp{Flz*H+UC@ z26t{Zy>GTW{k2#S5!0BCzye^sdfItg!p2NPiRl2USD!O z4tq)|$0BO0h#ty_VSEYSN}u=lL`0NQ)~TiTuz#AEpA#{vl!9UvLoA>|@;$L_wjZDE$6Op!T z!CNvQn2LMws+P`)MD6Dh(d5};3}YlIUf)sc`mu=k6W)WRjfGOmF}0C&%aXRUk&%%j zV}IyP#z!!@Nw}nPO+*Z-jcY|GxxcTJ(u=oZb+e)7rh8h5w2i;90lTNCr_mek(p#aH za3hzXKYiVY*AdT~}`x*vPHbjBxDO~-s`e)`hq+>Uyy z9n8fSq{3^uXxKVN053aBZ?qi2wsYuBR(~sJX@2iZpOZRj*`0Exw~xo0BI_q<_*v?- zWdg2jbfR-kx_Z^JT$uXf)JyCXIvr!n>q;q?wSEtdLBp`TT)OD$rr~%7bwfHX?SFRE zM)G{MY@W{bIcfq`c$H(gx6ANewJ|MjlD3p`bPT%wfFAW;kv@*6&(V%r%QMunIDgR! zY<0pXJVV2iEyG)JnObVS=b>vry-ybA?-S{322OVJ6bo{3sI~EGyu9`M0sOHA|GjF5 z?8p2r8XCF|V@JY2Dc71FumF#AGQuShG3@Ltp4x&9Bu>=(FBEk)`GcU2c%zgDm08*ovsZ%!X;@nA&k>y(

    yBkCoU|N-0gV*?*O}a5MJf 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 From 934cee4ae2246bd8a888428d7569b323539007f6 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 00:44:53 +0200 Subject: [PATCH 0197/2822] wordpress: implement get_latest_version --- lib/docs/scrapers/wordpress.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/scrapers/wordpress.rb b/lib/docs/scrapers/wordpress.rb index 58e42cb82d..b1bf46c928 100644 --- a/lib/docs/scrapers/wordpress.rb +++ b/lib/docs/scrapers/wordpress.rb @@ -35,5 +35,10 @@ class Wordpress < UrlScraper © 2003–2019 WordPress Foundation
    Licensed under the GNU GPLv2+ License. HTML + + def get_latest_version(opts) + doc = fetch_doc('https://wordpress.org/download/releases/', opts) + doc.at_css('.releases.latest td').content + end end end From 11234ecb454ff837ca1b3fa18ae338cb0793df54 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 02:02:16 +0200 Subject: [PATCH 0198/2822] cypress: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 6 ++++ lib/docs/filters/cypress/clean_html.rb | 15 +++++++-- lib/docs/filters/cypress/entries.rb | 7 ---- lib/docs/scrapers/cypress.rb | 33 ++++++++++--------- 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 37d14eea32..5e9dc6cc1f 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -202,6 +202,12 @@ credits = [ 'Apache', 'https://raw.githubusercontent.com/crystal-lang/crystal/master/LICENSE' ], [ + 'Cypress', + '2017 Cypress.io', + 'MIT', + 'https://raw.githubusercontent.com/cypress-io/cypress-documentation/develop/LICENSE.md' + ], + [ 'D', '1999-2018 The D Language Foundation', 'Boost', diff --git a/lib/docs/filters/cypress/clean_html.rb b/lib/docs/filters/cypress/clean_html.rb index 6a36d24c75..9b93b3133c 100644 --- a/lib/docs/filters/cypress/clean_html.rb +++ b/lib/docs/filters/cypress/clean_html.rb @@ -4,12 +4,21 @@ module Docs class Cypress class CleanHtmlFilter < Filter def call + article_div = at_css('#article > div') + @doc = article_div unless article_div.nil? + + header = at_css('h1.article-title') + doc.prepend_child(header) unless header.nil? + css('.article-edit-link').remove - css('#sidebar').remove - css('article footer').remove - css('#article-toc').remove + css('.article-footer').remove css('.article-footer-updated').remove + css('pre').each do |node| + node.content = node.content + node['data-language'] = 'javascript' + end + doc end end diff --git a/lib/docs/filters/cypress/entries.rb b/lib/docs/filters/cypress/entries.rb index a854acd7b6..664f4da729 100644 --- a/lib/docs/filters/cypress/entries.rb +++ b/lib/docs/filters/cypress/entries.rb @@ -8,7 +8,6 @@ class EntriesFilter < Docs::EntriesFilter core-concepts cypress-api events - examples getting-started guides overview @@ -30,12 +29,6 @@ def get_type end end end - - def additional_entries - css('.sidebar-li > a').map do |node| - [node['href']] - end - end end end end diff --git a/lib/docs/scrapers/cypress.rb b/lib/docs/scrapers/cypress.rb index e5433b22af..56380630c9 100644 --- a/lib/docs/scrapers/cypress.rb +++ b/lib/docs/scrapers/cypress.rb @@ -2,32 +2,35 @@ module Docs class Cypress < UrlScraper - # Follow the instructions on https://github.com/cypress-io/cypress-documentation/blob/develop/CONTRIBUTING.md - # to run the cypress documentation server locally in the following URL: - # self.base_url = 'http://localhost:2222' - self.base_url = 'https://docs.cypress.io' - self.name = 'Cypress' self.type = 'cypress' + self.release = '3.4.1' + self.base_url = 'https://docs.cypress.io' self.root_path = '/api/api/table-of-contents.html' + self.links = { + home: 'https://www.cypress.io/', + code: 'https://github.com/cypress-io/cypress', + } - html_filters.push 'cypress/clean_html', 'cypress/entries' + html_filters.push 'cypress/entries', 'cypress/clean_html' - options[:root_title] = 'Cypress' options[:container] = '#content' - + options[:max_image_size] = 300_000 options[:include_default_entry] = true - options[:skip_link] = lambda do |link| + options[:skip_patterns] = [/examples\//] + options[:skip_link] = ->(link) { href = link.attr(:href) - - EntriesFilter::SECTIONS.none? { |section| href.match?("/#{section}/") } - end + href.nil? ? true : EntriesFilter::SECTIONS.none? { |section| href.match?("/#{section}/") } + } options[:attribution] = <<-HTML - © 2018 Cypress.io - - Licensed under the - MIT License. + © 2017 Cypress.io
    + Licensed under the MIT License. HTML + + def get_latest_version(opts) + get_latest_github_release('cypress-io', 'cypress', opts) + end end end From 991ee5ab7fe85c554acc733da7d3cc18fbad2905 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 02:07:52 +0200 Subject: [PATCH 0199/2822] cypress: update icon source --- public/icons/docs/cypress/SOURCE | 1 + public/icons/docs/cypress/SOURCE.ico | Bin 32038 -> 0 bytes 2 files changed, 1 insertion(+) create mode 100644 public/icons/docs/cypress/SOURCE delete mode 100644 public/icons/docs/cypress/SOURCE.ico diff --git a/public/icons/docs/cypress/SOURCE b/public/icons/docs/cypress/SOURCE new file mode 100644 index 0000000000..3ea998300f --- /dev/null +++ b/public/icons/docs/cypress/SOURCE @@ -0,0 +1 @@ +https://github.com/cypress-io/cypress-documentation/raw/develop/themes/cypress/source/img/favicon.ico diff --git a/public/icons/docs/cypress/SOURCE.ico b/public/icons/docs/cypress/SOURCE.ico deleted file mode 100644 index 45749a770368dbe9f806622df654187b7cd93144..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 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 From 22094f7dcf2e00823300a3e48e19b5a94bbf6ff1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 13:10:41 +0200 Subject: [PATCH 0200/2822] Fix #1049 --- assets/javascripts/lib/page.coffee | 4 ++-- assets/javascripts/views/layout/document.coffee | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/lib/page.coffee b/assets/javascripts/lib/page.coffee index ba2f26478a..ea20000b1a 100644 --- a/assets/javascripts/lib/page.coffee +++ b/assets/javascripts/lib/page.coffee @@ -208,12 +208,12 @@ track = -> # Only ask for consent once per browser session Cookies.set('analyticsConsentAsked', '1') - new app.views.Notif 'AnalyticsConsent', autoHide: null + new app.views.Notif 'AnalyticsConsent', autoHide: false return @resetAnalytics = -> for cookie in document.cookie.split(/;\s?/) name = cookie.split('=')[0] - if name[0] == '_' + if name[0] == '_' && name[1] != '_' Cookies.expire(name) return diff --git a/assets/javascripts/views/layout/document.coffee b/assets/javascripts/views/layout/document.coffee index 597dfe37e0..a10d0b3ce2 100644 --- a/assets/javascripts/views/layout/document.coffee +++ b/assets/javascripts/views/layout/document.coffee @@ -80,6 +80,6 @@ class app.views.Document extends app.View when 'reboot' then app.reboot() when 'hard-reload' then app.reload() when 'reset' then app.reset() if confirm('Are you sure you want to reset DevDocs?') - when 'accept-analytics' then Cookies.set('analyticsConsent', '1') && app.reboot() - when 'decline-analytics' then Cookies.set('analyticsConsent', '0') && app.reboot() + when 'accept-analytics' then Cookies.set('analyticsConsent', '1', expires: 1e8) && app.reboot() + when 'decline-analytics' then Cookies.set('analyticsConsent', '0', expires: 1e8) && app.reboot() return From f25c62ede416593a63bc81fbcb9b2efd476dbacd Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Mon, 12 Aug 2019 13:21:15 +0200 Subject: [PATCH 0201/2822] Revert autoHide change for consistency --- assets/javascripts/lib/page.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/lib/page.coffee b/assets/javascripts/lib/page.coffee index ea20000b1a..91d7343286 100644 --- a/assets/javascripts/lib/page.coffee +++ b/assets/javascripts/lib/page.coffee @@ -208,7 +208,7 @@ track = -> # Only ask for consent once per browser session Cookies.set('analyticsConsentAsked', '1') - new app.views.Notif 'AnalyticsConsent', autoHide: false + new app.views.Notif 'AnalyticsConsent', autoHide: null return @resetAnalytics = -> From 2490136110e8090b89a5f9ee638e0489447719b1 Mon Sep 17 00:00:00 2001 From: Jiawen Geng Date: Tue, 13 Aug 2019 14:24:58 +0800 Subject: [PATCH 0202/2822] bump jest to 24.8.0 --- lib/docs/scrapers/jest.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/jest.rb b/lib/docs/scrapers/jest.rb index a495d93982..3aff5b217f 100644 --- a/lib/docs/scrapers/jest.rb +++ b/lib/docs/scrapers/jest.rb @@ -1,7 +1,7 @@ module Docs class Jest < UrlScraper self.type = 'simple' - self.release = '23.5.0' + self.release = '24.8.0' self.base_url = 'https://jestjs.io/docs/en/' self.root_path = 'getting-started' self.links = { From 710b1151ecf038c64c4c0b8504857f3f244bce13 Mon Sep 17 00:00:00 2001 From: Jiawen Geng Date: Tue, 13 Aug 2019 16:24:42 +0800 Subject: [PATCH 0203/2822] bump vue to 2.6.10 --- lib/docs/scrapers/vue.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/docs/scrapers/vue.rb b/lib/docs/scrapers/vue.rb index 333ade1d33..3555fa0617 100644 --- a/lib/docs/scrapers/vue.rb +++ b/lib/docs/scrapers/vue.rb @@ -15,12 +15,12 @@ class Vue < UrlScraper options[:replace_paths] = { 'guide/' => 'guide/index.html' } options[:attribution] = <<-HTML - © 2013–2018 Evan You, Vue.js contributors
    + © 2013–2019 Evan You, Vue.js contributors
    Licensed under the MIT License. HTML version '2' do - self.release = '2.5.16' + self.release = '2.6.10' self.base_url = 'https://vuejs.org/v2/' self.root_path = 'guide/index.html' self.initial_paths = %w(api/) From c5136b1af67b3e1f01869c3b7ba8b5ca5ec41462 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 11:57:56 +0200 Subject: [PATCH 0204/2822] Update contributing guidelines on updating docs --- .github/CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 99fd85840d..0f84b7c0ea 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,9 +58,9 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea ## Updating existing documentations -Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. +Please don't submit a pull request updating only version number and/or the attribution of a documentation. Do feel free to create a pull request if a bigger change is required in the scraper and you've verified that it works. If you do make a pull request and you happen to update `options[:attribution]`, make sure to also update the documentation's entry in the array in [`assets/javascripts/templates/pages/about_tmpl.coffee`](../assets/javascripts/templates/pages/about_tmpl.coffee) with correct license information. -To ask that an existing documentation be updated, first check the last two [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. +To ask that an existing documentation be updated, first check the last [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. ## Coding conventions From aae955b446886610e3b11bcec448706640e1f34a Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 12:35:35 +0200 Subject: [PATCH 0205/2822] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0f84b7c0ea..d5b6283662 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,7 +58,7 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea ## Updating existing documentations -Please don't submit a pull request updating only version number and/or the attribution of a documentation. Do feel free to create a pull request if a bigger change is required in the scraper and you've verified that it works. If you do make a pull request and you happen to update `options[:attribution]`, make sure to also update the documentation's entry in the array in [`assets/javascripts/templates/pages/about_tmpl.coffee`](../assets/javascripts/templates/pages/about_tmpl.coffee) with correct license information. +Please don't submit a pull request updating only the version number and/or the attribution of a documentation. Do feel free to create a pull request if a bigger change is required in the scraper and you've verified that it works. If you do make a pull request and you happen to update `options[:attribution]`, make sure to also update the documentation's entry in the array in [`assets/javascripts/templates/pages/about_tmpl.coffee`](../assets/javascripts/templates/pages/about_tmpl.coffee) with correct license information. To ask that an existing documentation be updated, first check the last [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. From 35a9d83fb1ae6bb76c4cb9d621a19c758a205ac6 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 12:47:03 +0200 Subject: [PATCH 0206/2822] Revert CONTRIBUTING.md changes --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d5b6283662..151fdb484e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,7 +58,7 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea ## Updating existing documentations -Please don't submit a pull request updating only the version number and/or the attribution of a documentation. Do feel free to create a pull request if a bigger change is required in the scraper and you've verified that it works. If you do make a pull request and you happen to update `options[:attribution]`, make sure to also update the documentation's entry in the array in [`assets/javascripts/templates/pages/about_tmpl.coffee`](../assets/javascripts/templates/pages/about_tmpl.coffee) with correct license information. +Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. To ask that an existing documentation be updated, first check the last [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. From de88cc251871343b77433c17dbbd5f0265ce1d7f Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 14:32:04 +0200 Subject: [PATCH 0207/2822] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 151fdb484e..0c53b8e910 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -58,9 +58,9 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea ## Updating existing documentations -Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works. +Please don't submit a pull request updating only the version number and/or the attribution of a documentation. Do submit a pull request if a bigger change is required in the scraper and you've verified that it works. -To ask that an existing documentation be updated, first check the last [documentation versions reports](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. +To ask that an existing documentation be updated, first check the latest [documentation versions report](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date. ## Coding conventions From f3d5a6eae324c6a97e8d5e849db1d98fb0f6f69c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 16:32:40 +0200 Subject: [PATCH 0208/2822] salt_stack: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 6 ++++ lib/docs/filters/salt_stack/clean_html.rb | 11 +++++++ lib/docs/filters/salt_stack/entries.rb | 13 +++++++- lib/docs/scrapers/salt_stack.rb | 32 +++++++++++++------ 4 files changed, 51 insertions(+), 11 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 5e9dc6cc1f..dea5c4da69 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -638,6 +638,12 @@ credits = [ 'MIT', 'https://raw.githubusercontent.com/rust-lang/rust/master/LICENSE-MIT' ], [ + 'Salt Stack', + '2019 SaltStack', + 'Apache', + 'https://raw.githubusercontent.com/saltstack/salt/develop/LICENSE' + ], + [ 'Sass', '2006-2016 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein', 'MIT', diff --git a/lib/docs/filters/salt_stack/clean_html.rb b/lib/docs/filters/salt_stack/clean_html.rb index 0f084519ef..8c5cb6ca33 100644 --- a/lib/docs/filters/salt_stack/clean_html.rb +++ b/lib/docs/filters/salt_stack/clean_html.rb @@ -4,6 +4,17 @@ class CleanHtmlFilter < Filter def call css('.headerlink').remove + css('div[class^="highlight-"]').each do |node| + node.name = 'pre' + node['data-language'] = node['class'].scan(/highlight-([a-z]+)/i)[0][0] + node.content = node.content.strip + end + + css('.function > dt').each do |node| + node.name = 'h3' + node.content = node.content + end + doc end end diff --git a/lib/docs/filters/salt_stack/entries.rb b/lib/docs/filters/salt_stack/entries.rb index 23b8f46fa9..d346fa297b 100644 --- a/lib/docs/filters/salt_stack/entries.rb +++ b/lib/docs/filters/salt_stack/entries.rb @@ -16,12 +16,23 @@ def get_name end def get_type - slug.split('/', 2).first + slug.split('/', 3)[1] end def include_default_entry? slug.split('/').last.start_with? 'salt' end + + def additional_entries + entries = [] + + css('.function > h3').each do |node| + name = node.content.remove('salt.').split('(')[0] + '()' + entries << [name, node['id']] + end + + entries + end end end end diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index ae4e47f3a7..390dd7bbf1 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -1,8 +1,19 @@ module Docs - class SaltStack < UrlScraper - self.type = 'salt_stack' - self.release = '2018.3.2' - self.base_url = 'https://docs.saltstack.com/en/latest/ref/' + # The official documentation website is heavily rate-limited + # + # The documentation can be generated like this (replace 2019.2 with the correct tag): + # $ git clone https://github.com/saltstack/salt.git --branch 2019.2 --depth 1 + # $ cd salt/doc + # $ pip install sphinx + # $ make html + # + # The generated html can be found in salt/doc/_build/html + class SaltStack < FileScraper + self.type = 'simple' + self.slug = 'salt_stack' + self.release = '2019.2.0' + self.base_url = 'https://docs.saltstack.com/en/latest/' + self.root_path = 'ref/index.html' self.links = { home: 'https://www.saltstack.com/', code: 'https://github.com/saltstack/salt' @@ -10,15 +21,16 @@ class SaltStack < UrlScraper html_filters.push 'salt_stack/clean_html', 'salt_stack/entries' - options[:only_patterns] = [ - %r{^[^/]+/all/} - ] - - options[:container] = '.body-content' + options[:only_patterns] = [/all\//] + options[:container] = '.body-content > .section' options[:attribution] = <<-HTML - © 2018 SaltStack.
    + © 2019 SaltStack.
    Licensed under the Apache License, Version 2.0. HTML + + def get_latest_version(opts) + get_latest_github_release('saltstack', 'salt', opts) + end end end From da1200dbb4da5943ba7b7254abbaffca7604bc33 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 16:42:35 +0200 Subject: [PATCH 0209/2822] salt_stack: simplify root page --- lib/docs/filters/salt_stack/clean_html.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/docs/filters/salt_stack/clean_html.rb b/lib/docs/filters/salt_stack/clean_html.rb index 8c5cb6ca33..37e2a3b64f 100644 --- a/lib/docs/filters/salt_stack/clean_html.rb +++ b/lib/docs/filters/salt_stack/clean_html.rb @@ -2,6 +2,11 @@ module Docs class SaltStack class CleanHtmlFilter < Filter def call + if root_page? + doc.inner_html = '

    SaltStack

    ' + return doc + end + css('.headerlink').remove css('div[class^="highlight-"]').each do |node| From 5dec35b914fc104f16a08df7d98e7800f8e5c3ed Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 17:13:28 +0200 Subject: [PATCH 0210/2822] saltstack: salt_stack -> saltstack --- lib/docs/scrapers/salt_stack.rb | 2 +- public/icons/docs/{salt_stack => saltstack}/16.png | Bin .../icons/docs/{salt_stack => saltstack}/16@2x.png | Bin public/icons/docs/{salt_stack => saltstack}/SOURCE | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename public/icons/docs/{salt_stack => saltstack}/16.png (100%) rename public/icons/docs/{salt_stack => saltstack}/16@2x.png (100%) rename public/icons/docs/{salt_stack => saltstack}/SOURCE (100%) diff --git a/lib/docs/scrapers/salt_stack.rb b/lib/docs/scrapers/salt_stack.rb index 390dd7bbf1..3af77753cb 100644 --- a/lib/docs/scrapers/salt_stack.rb +++ b/lib/docs/scrapers/salt_stack.rb @@ -10,7 +10,7 @@ module Docs # The generated html can be found in salt/doc/_build/html class SaltStack < FileScraper self.type = 'simple' - self.slug = 'salt_stack' + self.slug = 'saltstack' self.release = '2019.2.0' self.base_url = 'https://docs.saltstack.com/en/latest/' self.root_path = 'ref/index.html' diff --git a/public/icons/docs/salt_stack/16.png b/public/icons/docs/saltstack/16.png similarity index 100% rename from public/icons/docs/salt_stack/16.png rename to public/icons/docs/saltstack/16.png diff --git a/public/icons/docs/salt_stack/16@2x.png b/public/icons/docs/saltstack/16@2x.png similarity index 100% rename from public/icons/docs/salt_stack/16@2x.png rename to public/icons/docs/saltstack/16@2x.png diff --git a/public/icons/docs/salt_stack/SOURCE b/public/icons/docs/saltstack/SOURCE similarity index 100% rename from public/icons/docs/salt_stack/SOURCE rename to public/icons/docs/saltstack/SOURCE From ce5f182014555e5086f121dce1e3deec92d08d68 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 17:42:20 +0200 Subject: [PATCH 0211/2822] composer: finish scraper and filters --- assets/javascripts/templates/pages/about_tmpl.coffee | 4 ++-- lib/docs/filters/composer/entries.rb | 3 --- lib/docs/scrapers/composer.rb | 11 ++++++----- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 710d4be796..4a2a722cd2 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -188,9 +188,9 @@ credits = [ 'https://raw.githubusercontent.com/jashkenas/coffeescript/master/LICENSE' ], [ 'Composer', - '2012-2018 Nils Adermann, Jordi Boggiano', + 'Nils Adermann, Jordi Boggiano', 'MIT', - 'https://github.com/composer/composer/blob/master/LICENSE' + 'https://raw.githubusercontent.com/composer/composer/master/LICENSE' ], [ 'Cordova', '2012-2018 The Apache Software Foundation', diff --git a/lib/docs/filters/composer/entries.rb b/lib/docs/filters/composer/entries.rb index 7547dd385f..d311675637 100644 --- a/lib/docs/filters/composer/entries.rb +++ b/lib/docs/filters/composer/entries.rb @@ -3,15 +3,12 @@ class Composer class EntriesFilter < Docs::EntriesFilter def get_name title = at_css('h1').content - title = "#{Integer(subpath[1]) + 1}. #{title}" if type == 'Book' - title end def get_type return 'Articles' if subpath.start_with?('articles/') - 'Book' end diff --git a/lib/docs/scrapers/composer.rb b/lib/docs/scrapers/composer.rb index beade9cb5c..ade5ca8307 100644 --- a/lib/docs/scrapers/composer.rb +++ b/lib/docs/scrapers/composer.rb @@ -1,8 +1,8 @@ module Docs class Composer < UrlScraper - self.name = 'Composer' self.type = 'simple' - + self.release = '1.9.0' + self.base_url = 'https://getcomposer.org/doc/' self.links = { home: 'https://getcomposer.org', code: 'https://github.com/composer/composer' @@ -10,9 +10,6 @@ class Composer < UrlScraper html_filters.push 'composer/clean_html', 'composer/entries' - self.release = '1.7.2' - self.base_url = 'https://getcomposer.org/doc/' - options[:container] = '#main' options[:skip_patterns] = [ @@ -23,5 +20,9 @@ class Composer < UrlScraper © Nils Adermann, Jordi Boggiano
    Licensed under the MIT License. HTML + + def get_latest_version(opts) + get_latest_github_release('composer', 'composer', opts) + end end end From 1c3a9761c6028a37082c4fb3e1a8bb353382551c Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 18:14:58 +0200 Subject: [PATCH 0212/2822] vue-router: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 4 +- lib/docs/filters/vue_router/clean_html.rb | 2 +- lib/docs/filters/vue_router/entries.rb | 40 +++++++++---------- lib/docs/scrapers/vue_router.rb | 14 ++++--- public/icons/docs/vue_router/SOURCE | 2 +- 5 files changed, 32 insertions(+), 30 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index c22b737c4a..67fade425c 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -736,9 +736,9 @@ credits = [ 'https://raw.githubusercontent.com/vuejs/vue/master/LICENSE' ], [ 'Vue Router', - '2013-2018 Evan You, Vue.js contributors', + '2013-present Evan You', 'MIT', - 'https://github.com/vuejs/vue-router/blob/dev/LICENSE' + 'https://raw.githubusercontent.com/vuejs/vue-router/dev/LICENSE' ], [ 'Vulkan', '2014-2017 Khronos Group Inc.
    Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.', diff --git a/lib/docs/filters/vue_router/clean_html.rb b/lib/docs/filters/vue_router/clean_html.rb index 6377b0d402..19c6e7aebd 100644 --- a/lib/docs/filters/vue_router/clean_html.rb +++ b/lib/docs/filters/vue_router/clean_html.rb @@ -11,4 +11,4 @@ def call end end end -end \ No newline at end of file +end diff --git a/lib/docs/filters/vue_router/entries.rb b/lib/docs/filters/vue_router/entries.rb index e8eb227922..b38fed2870 100644 --- a/lib/docs/filters/vue_router/entries.rb +++ b/lib/docs/filters/vue_router/entries.rb @@ -3,16 +3,13 @@ class VueRouter class EntriesFilter < Docs::EntriesFilter def get_name name = at_css('h1').content - name.remove! '# ' - name end def get_type return 'Other Guides' if subpath.start_with?('guide/advanced') return 'Basic Guides' if subpath.start_with?('guide') || subpath.start_with?('installation') - 'API Reference' end @@ -21,7 +18,7 @@ def include_default_entry? end def additional_entries - return [] unless subpath.start_with?('api') + return [] unless subpath.start_with?('api') entries = [ ['', 'router-link', 'API Reference'], @@ -31,7 +28,7 @@ def additional_entries ] css('h3').each do |node| - entryName = node.content.strip + entry_name = node.content.strip # Get the previous h2 title title = node @@ -39,33 +36,36 @@ def additional_entries title = title.content.strip title.remove! '# ' - entryName.remove! '# ' + entry_name.remove! '# ' - if title == "Router Construction Options" - entryName = "RouterOptions.#{entryName}" - elsif title == " Props" - entryName = " `#{entryName}` prop" - elsif title == " Props" - entryName = " `#{entryName}` prop" - elsif title == "Router Instance Methods" - entryName = "#{entryName}()" + case title + when 'Router Construction Options' + entry_name = "RouterOptions.#{entry_name}" + when ' Props' + entry_name = " `#{entry_name}` prop" + when ' Props' + entry_name = " `#{entry_name}` prop" + when 'Router Instance Methods' + entry_name = "#{entry_name}()" end - unless title == "Component Injections" || node['id'] == 'applying-active-class-to-outer-element' || node['id'] == 'route-object-properties' - entries << [entryName, node['id'], 'API Reference'] + entry_name = entry_name.split(' API ')[0] if entry_name.start_with?('v-slot') + + unless title == "Component Injections" || node['id'] == 'route-object-properties' + entries << [entry_name, node['id'], 'API Reference'] end end css('#route-object-properties + ul > li > p:first-child > strong').each do |node| - entryName = node.content.strip - id = "route-object-#{entryName.remove('$route.')}" + entry_name = node.content.strip + id = "route-object-#{entry_name.remove('$route.')}" node['id'] = id - entries << [entryName, node['id'], 'API Reference'] + entries << [entry_name, node['id'], 'API Reference'] end entries end end end -end \ No newline at end of file +end diff --git a/lib/docs/scrapers/vue_router.rb b/lib/docs/scrapers/vue_router.rb index a029466bfb..9f6179442f 100644 --- a/lib/docs/scrapers/vue_router.rb +++ b/lib/docs/scrapers/vue_router.rb @@ -1,9 +1,10 @@ module Docs class VueRouter < UrlScraper - self.slug = 'vue_router' self.name = 'Vue Router' + self.slug = 'vue_router' self.type = 'simple' - + self.release = '3.1.2' + self.base_url = 'https://router.vuejs.org/' self.links = { home: 'https://router.vuejs.org', code: 'https://github.com/vuejs/vue-router' @@ -11,17 +12,18 @@ class VueRouter < UrlScraper html_filters.push 'vue_router/entries', 'vue_router/clean_html' - self.release = '3.0.1' - self.base_url = 'https://router.vuejs.org/' - options[:skip_patterns] = [ # Other languages /^(zh|ja|ru|kr|fr)\//, ] options[:attribution] = <<-HTML - © 2013–2018 Evan You, Vue.js contributors
    + © 2013–present Evan You
    Licensed under the MIT License. HTML + + def get_latest_version(opts) + get_latest_github_release('vuejs', 'vue-router', opts) + end end end diff --git a/public/icons/docs/vue_router/SOURCE b/public/icons/docs/vue_router/SOURCE index 97bd9e0369..6999e8c5ff 100644 --- a/public/icons/docs/vue_router/SOURCE +++ b/public/icons/docs/vue_router/SOURCE @@ -1 +1 @@ -http://vuejs.org/ +https://github.com/vuejs/vuejs.org/blob/master/assets/logo.ai From b34dbb25f80e15c7e709c524ce3cd149e205acb3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 18:25:57 +0200 Subject: [PATCH 0213/2822] vue-router: fix notes --- lib/docs/filters/vue_router/clean_html.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/docs/filters/vue_router/clean_html.rb b/lib/docs/filters/vue_router/clean_html.rb index 19c6e7aebd..71c1a1320c 100644 --- a/lib/docs/filters/vue_router/clean_html.rb +++ b/lib/docs/filters/vue_router/clean_html.rb @@ -7,6 +7,13 @@ def call # Remove unneeded elements css('.bit-sponsor, .header-anchor').remove + css('.custom-block').each do |node| + node.name = 'blockquote' + + title = node.at_css('.custom-block-title') + title.name = 'strong' unless title.nil? + end + doc end end From 93582d3b8268366e7c831573b8989f1805174a01 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 22:55:05 +0200 Subject: [PATCH 0214/2822] mariadb: update scraper and filters to work with the official website --- .../templates/pages/about_tmpl.coffee | 2 +- assets/stylesheets/pages/_mariadb.scss | 2 +- lib/docs/filters/mariadb/clean_html.rb | 41 ++++++++----------- lib/docs/filters/mariadb/entries.rb | 16 ++++++-- .../filters/mariadb/erase_invalid_pages.rb | 34 +++++++++++++++ lib/docs/scrapers/mariadb.rb | 25 ++++++++--- 6 files changed, 84 insertions(+), 36 deletions(-) create mode 100644 lib/docs/filters/mariadb/erase_invalid_pages.rb diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 98775c57fe..f00ff2df32 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -439,7 +439,7 @@ credits = [ 'http://www.gnu.org/copyleft/fdl.html' ], [ 'MariaDB', - '2018 MariaDB', + '2019 MariaDB', 'CC BY-SA & GFDL', 'https://mariadb.com/kb/en/library/documentation/+license/' ], [ diff --git a/assets/stylesheets/pages/_mariadb.scss b/assets/stylesheets/pages/_mariadb.scss index ef6144cefb..19d8d6398b 100644 --- a/assets/stylesheets/pages/_mariadb.scss +++ b/assets/stylesheets/pages/_mariadb.scss @@ -1,7 +1,7 @@ ._mariadb { @extend %simple; - .graybox { + .graybox, .product { @extend %note; } } diff --git a/lib/docs/filters/mariadb/clean_html.rb b/lib/docs/filters/mariadb/clean_html.rb index 88ab4fc50b..86b6dc005e 100644 --- a/lib/docs/filters/mariadb/clean_html.rb +++ b/lib/docs/filters/mariadb/clean_html.rb @@ -1,11 +1,10 @@ -require 'net/http' - module Docs class Mariadb class CleanHtmlFilter < Filter - @@known_urls = Hash.new - def call + # Return the empty doc if the EraseInvalidPagesFilter detected this page shouldn't be scraped + return doc if doc.inner_html == '' + # Extract main content @doc = at_css('#content') @@ -21,19 +20,6 @@ def call node['data-language'] = 'sql' end - # Fix links like http://kb-mirror.mariadb.com/kb/en/bitwise-or/ to not redirect to an external page - css('a').each do |node| - url = node['href'] - - if /^http:\/\/kb-mirror\.mariadb\.com\/kb\/en\/[^\/]+\/(#[^\/]+)?$/.match?(url) - final_url = get_final_url(url) - - if !final_url.nil? && final_url.start_with?('/kb/en/library/documentation/') - node['href'] = "#{'../' * subpath.count('/')}#{final_url[29..-1]}index" - end - end - end - # Fix images css('img').each do |node| node['src'] = node['src'].sub('http:', 'https:') @@ -46,11 +32,11 @@ def call end end - # Convert listings (pages like http://kb-mirror.mariadb.com/kb/en/library/documentation/sql-statements-structure/) into tables + # Convert listings (pages like https://mariadb.com/kb/en/library/documentation/sql-statements-structure/) into tables css('ul.listing').each do |node| rows = [] - node.css('li').each do |li| + node.css('li:not(.no_data)').each do |li| name = li.at_css('.media-heading').content description = li.at_css('.blurb').content url = li.at_css('a')['href'] @@ -61,15 +47,20 @@ def call node.replace(table) end - doc - end + # Turn note titles into tags + css('.product_title').each do |node| + node.name = 'strong' + end - def get_final_url(url) - unless @@known_urls.has_key?(url) - @@known_urls[url] = Net::HTTP.get_response(URI(url))['location'] + # Remove comments and questions + css('.related_questions, #comments').remove + css('h2').each do |node| + if node.content == 'Comments' + node.remove + end end - @@known_urls[url] + doc end end end diff --git a/lib/docs/filters/mariadb/entries.rb b/lib/docs/filters/mariadb/entries.rb index 32d4f6b25b..a3cbeb344b 100644 --- a/lib/docs/filters/mariadb/entries.rb +++ b/lib/docs/filters/mariadb/entries.rb @@ -2,12 +2,22 @@ module Docs class Mariadb class EntriesFilter < Docs::EntriesFilter def get_name - at_css('.container > h1').content.strip + return 'Name' if doc.inner_html == '' + + at_css('#content > h1').content.strip end def get_type - link = at_css('#breadcrumbs > a:nth-child(6)') - link.nil? ? at_css('#breadcrumbs > a:nth-child(5)').content : link.content + return 'Type' if doc.inner_html == '' + + link = at_css('#breadcrumbs > a:nth-child(4)') + link.nil? ? at_css('#breadcrumbs > a:nth-child(3)').content : link.content + end + + def entries + # Don't add an entry for this page if the EraseInvalidPagesFilter detected this page shouldn't be scraped + return [] if doc.inner_html == '' + super end end end diff --git a/lib/docs/filters/mariadb/erase_invalid_pages.rb b/lib/docs/filters/mariadb/erase_invalid_pages.rb new file mode 100644 index 0000000000..0987375d06 --- /dev/null +++ b/lib/docs/filters/mariadb/erase_invalid_pages.rb @@ -0,0 +1,34 @@ +module Docs + class Mariadb + class EraseInvalidPagesFilter < Filter + @@seen_urls = Hash.new + + def call + # The MariaDB documentation uses urls like mariadb.com/kb/en/* + # This means there is no way to detect if a page should be scraped based on it's url + # We run this filter before the internal_urls filter scrapes all internal urls + # If this page should not be scraped, we erase it's contents in here so that the internal urls are not picked up + # The entries filter will make sure that no entry is saved for this page + + if at_css('a.crumb[href="https://mariadb.com/kb/en/documentation/"]').nil? + doc.inner_html = '' + end + + current_page = at_css('a.crumb.node_link') + unless current_page.nil? + url = current_page['href'] + + # Some links lead to the same page + # Only parse the page one time + if @@seen_urls.has_key?(url) + doc.inner_html = '' + end + + @@seen_urls[url] = true + end + + doc + end + end + end +end diff --git a/lib/docs/scrapers/mariadb.rb b/lib/docs/scrapers/mariadb.rb index b4293a9ac2..859b6bec4a 100644 --- a/lib/docs/scrapers/mariadb.rb +++ b/lib/docs/scrapers/mariadb.rb @@ -2,21 +2,34 @@ module Docs class Mariadb < UrlScraper self.name = 'MariaDB' self.type = 'mariadb' - self.release = '10.3.8' - self.base_url = 'http://kb-mirror.mariadb.com/kb/en/library/documentation/' + self.release = '10.4.7' + self.base_url = 'https://mariadb.com/kb/en/' + self.root_path = 'library/documentation/' self.links = { home: 'https://mariadb.com/', code: 'https://github.com/MariaDB/server' } - html_filters.push 'mariadb/entries', 'mariadb/clean_html', 'title' + html_filters.insert_before 'internal_urls', 'mariadb/erase_invalid_pages' + html_filters.push 'mariadb/entries', 'mariadb/clean_html' - options[:download_images] = false - options[:root_title] = 'MariaDB' + options[:skip_patterns] = [ + /\+/, + /\/ask\//, + /-release-notes\//, + /-changelog\//, + /^documentation\//, + /^mariadb-server-documentation\//, + ] options[:attribution] = <<-HTML - © 2018 MariaDB
    + © 2019 MariaDB
    Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License. HTML + + def get_latest_version(opts) + doc = fetch_doc('https://mariadb.com/downloads/', opts) + doc.at_css('[data-version-id="mariadb_server-versions"] option').content.split('-')[0] + end end end From abe3d4b370e519d88c4ff6e8976bbc848a04e1bd Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 23:05:16 +0200 Subject: [PATCH 0215/2822] enzyme: add get_latest_version and update release --- lib/docs/scrapers/enzyme.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/docs/scrapers/enzyme.rb b/lib/docs/scrapers/enzyme.rb index 7c225bdc4d..4bdbb82f6c 100644 --- a/lib/docs/scrapers/enzyme.rb +++ b/lib/docs/scrapers/enzyme.rb @@ -1,7 +1,7 @@ module Docs class Enzyme < UrlScraper self.type = 'simple' - self.release = '3.6.0' + self.release = '3.10.0' self.base_url = 'https://airbnb.io/enzyme/' self.root_path = 'index.html' self.links = { @@ -16,5 +16,9 @@ class Enzyme < UrlScraper © 2015 Airbnb, Inc.
    Licensed under the MIT License. HTML + + def get_latest_version(opts) + get_npm_version('enzyme', opts) + end end end From e61f3f7202f749ea60c1c9761394c5f154ecd98e Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 23:11:50 +0200 Subject: [PATCH 0216/2822] gnu_cobol: implement get_latest_version --- lib/docs/scrapers/gnu_cobol.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/docs/scrapers/gnu_cobol.rb b/lib/docs/scrapers/gnu_cobol.rb index 75d939a947..9965359dfc 100644 --- a/lib/docs/scrapers/gnu_cobol.rb +++ b/lib/docs/scrapers/gnu_cobol.rb @@ -16,5 +16,11 @@ class GnuCobol < UrlScraper Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
    Licensed under the GNU Free Documentation License. HTML + + def get_latest_version(opts) + doc = fetch_doc('https://open-cobol.sourceforge.io/HTML/gnucobpg.html', opts) + title = doc.at_css('h1').content + title.scan(/([0-9.]+)/)[0][0] + end end end From c88ae2c1e1cb4e4f4f2a487bb44734f7101d82b1 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 23:28:08 +0200 Subject: [PATCH 0217/2822] reactivex: implement get_latest_version --- lib/docs/core/doc.rb | 6 ++++++ lib/docs/scrapers/reactivex.rb | 6 +++++- public/icons/docs/reactivex/{logo.png => 16.png} | Bin .../icons/docs/reactivex/{logo@2x.png => 16@2x.png} | Bin 4 files changed, 11 insertions(+), 1 deletion(-) rename public/icons/docs/reactivex/{logo.png => 16.png} (100%) rename public/icons/docs/reactivex/{logo@2x.png => 16@2x.png} (100%) diff --git a/lib/docs/core/doc.rb b/lib/docs/core/doc.rb index da21daf873..a5268300db 100644 --- a/lib/docs/core/doc.rb +++ b/lib/docs/core/doc.rb @@ -262,5 +262,11 @@ def get_github_file_contents(owner, repo, path, opts) json = fetch_json("https://api.github.com/repos/#{owner}/#{repo}/contents/#{path}", opts) Base64.decode64(json['content']) end + + def get_latest_github_commit_date(owner, repo, opts) + commits = fetch_json("https://api.github.com/repos/#{owner}/#{repo}/commits", opts) + timestamp = commits[0]['commit']['author']['date'] + Date.iso8601(timestamp).to_time.to_i + end end end diff --git a/lib/docs/scrapers/reactivex.rb b/lib/docs/scrapers/reactivex.rb index 1374468b48..007ae00fb3 100644 --- a/lib/docs/scrapers/reactivex.rb +++ b/lib/docs/scrapers/reactivex.rb @@ -1,7 +1,7 @@ module Docs class Reactivex < UrlScraper - self.type = 'reactivex' self.name = 'ReactiveX' + self.type = 'reactivex' self.base_url = 'http://reactivex.io/' self.root_path = 'intro.html' self.links = { @@ -19,5 +19,9 @@ class Reactivex < UrlScraper © ReactiveX contributors
    Licensed under the Apache License 2.0. HTML + + def get_latest_version(opts) + get_latest_github_commit_date('ReactiveX', 'reactivex.github.io', opts) + end end end diff --git a/public/icons/docs/reactivex/logo.png b/public/icons/docs/reactivex/16.png similarity index 100% rename from public/icons/docs/reactivex/logo.png rename to public/icons/docs/reactivex/16.png diff --git a/public/icons/docs/reactivex/logo@2x.png b/public/icons/docs/reactivex/16@2x.png similarity index 100% rename from public/icons/docs/reactivex/logo@2x.png rename to public/icons/docs/reactivex/16@2x.png From 40defddb6cdea03f9b66579843da7ac70fa5449a Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 13 Aug 2019 23:52:21 +0200 Subject: [PATCH 0218/2822] vuex: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 14 ++++---- lib/docs/filters/vuex/clean_html.rb | 5 ++- lib/docs/filters/vuex/entries.rb | 35 ++++++++++--------- lib/docs/scrapers/vuex.rb | 13 +++---- public/icons/docs/vuex/SOURCE | 2 +- 5 files changed, 37 insertions(+), 32 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 51d76c611e..07c92ad841 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -729,6 +729,11 @@ credits = [ '2010-2018 Mitchell Hashimoto', 'MPL', 'https://raw.githubusercontent.com/mitchellh/vagrant/master/website/LICENSE.md' + ], [ + 'Vue Router', + '2013-present Evan You', + 'MIT', + 'https://raw.githubusercontent.com/vuejs/vue-router/dev/LICENSE' ], [ 'Vue.js', '2013-2018 Evan You, Vue.js contributors', @@ -736,14 +741,9 @@ credits = [ 'https://raw.githubusercontent.com/vuejs/vue/master/LICENSE' ], [ 'Vuex', - '2015-2018 Evan You, Vue.js contributors', + '2015-present Evan You', 'MIT', - 'https://raw.githubusercontent.com/vuejs/vuex/master/LICENSE' - ], [ - 'Vue Router', - '2013-present Evan You', - 'MIT', - 'https://raw.githubusercontent.com/vuejs/vue-router/dev/LICENSE' + 'https://raw.githubusercontent.com/vuejs/vuex/dev/LICENSE' ], [ 'Vulkan', '2014-2017 Khronos Group Inc.
    Vulkan and the Vulkan logo are registered trademarks of the Khronos Group Inc.', diff --git a/lib/docs/filters/vuex/clean_html.rb b/lib/docs/filters/vuex/clean_html.rb index f62870cce5..4aad55a9a6 100644 --- a/lib/docs/filters/vuex/clean_html.rb +++ b/lib/docs/filters/vuex/clean_html.rb @@ -4,6 +4,9 @@ class CleanHtmlFilter < Filter def call @doc = at_css('.content') + # Remove video from root page + css('a[href="#"]').remove if root_page? + # Remove unneeded elements css('.header-anchor').remove @@ -11,4 +14,4 @@ def call end end end -end \ No newline at end of file +end diff --git a/lib/docs/filters/vuex/entries.rb b/lib/docs/filters/vuex/entries.rb index 72c8486e1d..04846fd281 100644 --- a/lib/docs/filters/vuex/entries.rb +++ b/lib/docs/filters/vuex/entries.rb @@ -8,10 +8,10 @@ def get_name # Add index on guides unless subpath.start_with?('api') - sidebarLink = at_css('.sidebar-link.active') - allLinks = css('.sidebar-link:not([href="/"]):not([href="../index"])') + sidebar_link = at_css('.sidebar-link.active') + all_links = css('.sidebar-link:not([href="/"]):not([href="../index"])') - index = allLinks.index(sidebarLink) + index = all_links.index(sidebar_link) name.prepend "#{index + 1}. " if index end @@ -28,7 +28,7 @@ def include_default_entry? end def additional_entries - return [] unless subpath.start_with?('api') + return [] unless subpath.start_with?('api') entries = [ ['Component Binding Helpers', 'component-binding-helpers', 'API Reference'], @@ -36,7 +36,7 @@ def additional_entries ] css('h3').each do |node| - entryName = node.content.strip + entry_name = node.content.strip # Get the previous h2 title title = node @@ -44,25 +44,26 @@ def additional_entries title = title.content.strip title.remove! '# ' - entryName.remove! '# ' + entry_name.remove! '# ' - unless entryName.start_with?('router.') - if title == "Vuex.Store Constructor Options" - entryName = "StoreOptions.#{entryName}" - elsif title == "Vuex.Store Instance Properties" - entryName = "Vuex.Store.#{entryName}" - elsif title == "Vuex.Store Instance Methods" - entryName = "Vuex.Store.#{entryName}()" - elsif title == "Component Binding Helpers" - entryName = "#{entryName}()" + unless entry_name.start_with?('router.') + case title + when "Vuex.Store Constructor Options" + entry_name = "StoreOptions.#{entry_name}" + when "Vuex.Store Instance Properties" + entry_name = "Vuex.Store.#{entry_name}" + when "Vuex.Store Instance Methods" + entry_name = "Vuex.Store.#{entry_name}()" + when "Component Binding Helpers" + entry_name = "#{entry_name}()" end end - entries << [entryName, node['id'], 'API Reference'] + entries << [entry_name, node['id'], 'API Reference'] end entries end end end -end \ No newline at end of file +end diff --git a/lib/docs/scrapers/vuex.rb b/lib/docs/scrapers/vuex.rb index 774e989fcf..57e761ce15 100644 --- a/lib/docs/scrapers/vuex.rb +++ b/lib/docs/scrapers/vuex.rb @@ -1,8 +1,8 @@ module Docs class Vuex < UrlScraper - self.name = 'Vuex' self.type = 'simple' - + self.release = '3.1.1' + self.base_url = 'https://vuex.vuejs.org/' self.links = { home: 'https://vuex.vuejs.org', code: 'https://github.com/vuejs/vuex' @@ -10,17 +10,18 @@ class Vuex < UrlScraper html_filters.push 'vuex/entries', 'vuex/clean_html' - self.release = '3.0.1' - self.base_url = 'https://vuex.vuejs.org/' - options[:skip_patterns] = [ # Other languages /^(zh|ja|ru|kr|fr|ptbr)\//, ] options[:attribution] = <<-HTML - © 2015–2018 Evan You, Vue.js contributors
    + © 2015–present Evan You
    Licensed under the MIT License. HTML + + def get_latest_version(opts) + get_npm_version('vuex', opts) + end end end diff --git a/public/icons/docs/vuex/SOURCE b/public/icons/docs/vuex/SOURCE index 97bd9e0369..6999e8c5ff 100644 --- a/public/icons/docs/vuex/SOURCE +++ b/public/icons/docs/vuex/SOURCE @@ -1 +1 @@ -http://vuejs.org/ +https://github.com/vuejs/vuejs.org/blob/master/assets/logo.ai From eb82f6024cf25e8c468b5198404b75f7015fe457 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 14 Aug 2019 02:28:43 +0200 Subject: [PATCH 0219/2822] pony: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 6 ++++ lib/docs/filters/pony/clean_html.rb | 15 ++++++++++ lib/docs/filters/pony/container.rb | 9 ------ lib/docs/filters/pony/entries.rb | 26 ++++++++++++++++-- lib/docs/scrapers/pony.rb | 19 +++++++++---- public/icons/docs/pony/16.png | Bin 1979 -> 1360 bytes 6 files changed, 59 insertions(+), 16 deletions(-) create mode 100644 lib/docs/filters/pony/clean_html.rb delete mode 100644 lib/docs/filters/pony/container.rb diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 07c92ad841..ac86b701c3 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -568,6 +568,12 @@ credits = [ 'CC BY', 'https://creativecommons.org/licenses/by/3.0/' ], [ + 'Pony', + '2016-2018, The Pony Developers & 2014-2015, Causality Ltd.', + 'BSD', + 'https://raw.githubusercontent.com/ponylang/ponyc/master/LICENSE' + ], + [ 'PostgreSQL', '1996-2018 The PostgreSQL Global Development Group
    © 1994 The Regents of the University of California', 'PostgreSQL', diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb new file mode 100644 index 0000000000..665d104864 --- /dev/null +++ b/lib/docs/filters/pony/clean_html.rb @@ -0,0 +1,15 @@ +module Docs + class Pony + class CleanHtmlFilter < Filter + def call + css('.headerlink').remove + + css('pre').each do |node| + node.content = node.content + end + + doc + end + end + end +end diff --git a/lib/docs/filters/pony/container.rb b/lib/docs/filters/pony/container.rb deleted file mode 100644 index f29db7d492..0000000000 --- a/lib/docs/filters/pony/container.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Docs - class Pony - class ContainerFilter < Filter - def call - css('article') - end - end - end -end diff --git a/lib/docs/filters/pony/entries.rb b/lib/docs/filters/pony/entries.rb index 0dbc81c8e4..296f20908f 100644 --- a/lib/docs/filters/pony/entries.rb +++ b/lib/docs/filters/pony/entries.rb @@ -2,11 +2,33 @@ module Docs class Pony class EntriesFilter < Docs::EntriesFilter def get_name - context[:html_title].sub(/ - .*/, '') + title = context[:html_title].sub(/ - .*/, '').split(' ').last + title = "1. #{type}" if title == 'Package' + title end def get_type - subpath.split('-')[0][0..-1] + subpath.split(/-([^a-z])/)[0][0..-1].sub('-', '/') + end + + def additional_entries + return [] if root_page? || name.start_with?("1. ") + + entries = [] + + css('h3').each do |node| + member_name = node.content + + is_field = member_name.start_with?('let ') + member_name = member_name[4..-1] if is_field + + member_name = member_name.scan(/^([a-zA-Z0-9_]+)/)[0][0] + member_name += '()' unless is_field + + entries << ["#{name}.#{member_name}", node['id']] + end + + entries end end end diff --git a/lib/docs/scrapers/pony.rb b/lib/docs/scrapers/pony.rb index 5f1bbc046f..24df881d5a 100644 --- a/lib/docs/scrapers/pony.rb +++ b/lib/docs/scrapers/pony.rb @@ -1,18 +1,27 @@ module Docs class Pony < UrlScraper - self.type = 'pony' - self.release = '0.25.0' + self.type = 'simple' + self.release = '0.30.0' self.base_url = 'https://stdlib.ponylang.io/' + self.links = { + home: 'https://www.ponylang.io/', + code: 'https://github.com/ponylang/ponyc' + } - html_filters.push 'pony/container', 'pony/entries' + html_filters.push 'pony/clean_html', 'pony/entries' options[:attribution] = <<-HTML © 2016-2018, The Pony Developers
    © 2014-2015, Causality Ltd.
    - Licensed under the BSD 2-Clause License + Licensed under the BSD 2-Clause License. HTML + options[:container] = 'article' options[:trailing_slash] = false - options[:skip_patterns] = [/src/] + options[:skip_patterns] = [/src/, /stdlib--index/] + + def get_latest_version(opts) + get_latest_github_release('ponylang', 'ponyc', opts) + end end end diff --git a/public/icons/docs/pony/16.png b/public/icons/docs/pony/16.png index daed6509fb0efbcee6aceaa42047dd39ed731f03..c5b30dade6843b0a39575e97a0fc6147f79346b6 100644 GIT binary patch literal 1360 zcmZ`(c~FyA5Z^Bc34uT;R|HYe8c`q(0cr>-3M7Oxgvb#RjsO9q%4q~dKm<#n%Akl4 zFnCnJQCq9U;DA!Fr53FqtyqyVT8mKeXvMoCrSHSBo&M3^?6>=N-@Z4y`+M_MNhM-B z&4va5^uPe23|R*LQHe-9x|ps-hLq+L>H~19#^`k-8Tt0f0kTklLKZ;jc7RtXRC*U+ z69?d)3V^Q#u+G+Xg$n=(4bqSZ5lWyCfkp%>0mua80SNh9rbZe(zXwk=`!C;c|ha# zyc113lY+c1w6{L~_4@SfYgHT7c?r_C+U>c@P$VVmVz#C$(1mqdb4L5mW<-m}f9OM* z6T=r(fu0rFi6a*}r98(#j{W)wp(=n^kSN<*>nJB0m=+z(BUHo?JuoGreaCT&T zsQuEV$?wJg~9$|J80d${XQZ_+$_N;j@%GIxfC3|w|`{`|9y z4G$mKEo^4$;;g#5I=2+CA3uIR9rxh3D~yxssV^s-qE0BfQy+Fcvwh!yOUf8MmvX=3 zp;zATquptLd^LOC*nwiQh+lN)?y2$RlKuSR$qkNvBb`sI+3{UP6ZiD@S7qMpvKwTW zEwHpRx3xa7OIxR_ZK@yKwYza|^PYVT2~v4PtV|I#*eeZ>iHuvTjJ`EAGCcMpO~Y3z zw}{iC^TV3`NC5>{htFFS?cuE&HsPkrrI9; O3IPH|65$D7RoUOGw#z&K literal 1979 zcmV;s2SoUZP)hr}s;W?PY#LfiKT`mKOgiA& znx)_ge$DZ|LOC!@aS8&($kCy&?^t1u1;7B3^0+uw`US$2&$QUl6&j`mh8af4IH=Yv zZ&oaOozh=(ya-hPCjcXyXkdb8Xv~FN+!%0a!ejEs-(yF=Q))n9guoLT02zqbRH(Ab zItmGo8HXb7;0TU*M-uminF`5V$YoQ~+?({6=OC(CdSj(%l~UEQuVU#0G*%8NI05ku zO=ChzQD0)IJR<<9r18JYj1@f7IMQNX9Mo3m2`y)%AgEC;8GFY*EWQ4##D&cWb z?C4K=ObHBQlRhUJAvjRw$wGxy4yv)E9dJi=AT-Pm46_2mq-?;&4&uHlYburqsV5l1w(s-kv_LUUAXJ zH#>HJTXG>ctlzNlzUIltfjTa^;5_zq??tt~Yfhfp%-#3>iiaQkHLD-{1F^NtK5Y&^ zx&1C~xbAE0*}aQIGRZURUgDlRZ)0ayCylurMht~Q57Va4VC$Q2@a{Wrv!G=m_x$n! z5JSiA9+oa?yV0+gKtb!x8AY{Waey7$J9y-w2YB?6hlj`B-uf1QUi~-?=>`C*l?t!F zwwVnttYu$!H*@Bl&Vjx@cJ1ty6nc7Cdd|53jGr)(S6+OPMN8`6mMuS@36mxbuQPkjT*5Hqa~EE8Sa}Wu zxayi~0a(z|%JR>D0e~P30J!!W*Yl&5KO0KI(b~2YfY!DpYuaU&*=WUr=`< z2#BJn4geTapML7hSv2MIY*^Pm1W-TUmMuS@WGcmimR6eb`B4E5+dpo|fv;bGBiDcH zCICKse;WX6pL>R#T{{@EU>Kk@ILN|9ZLDj59uXNH7ZKt(CYef&Dn6T}(Ua1YA^M@zS#y92g+g(7?3mGXO{=68z#f53%8ex+ABbIiLAwwXnYZ zc?OC_X3w3=m@!Q}{r7cbvf1IqXU;l}Og2k4+sOFw6aJNTkYv}+E&#*`W5y=U_aFV^ z<3DU|Ya5mF(~g%nZsdx~E?wDMakqYaA27$KxLd$Wd9)fK9~#Cvs5&JQU?8I1!2uu{ z2q&uGs}dO@69{>Q!N^enO0lv>psB%Up@YFdIId!OqvqHRR21y~GT)(off*6r*aUY5 zhN)JG1H)KPNEahsv&z1Th{}s*n~T zoAR0M6p3|cK_LT-S8$nt3ypv;UDfv>vRndLZV>LX~Gn6FsT}!?l1xtL(Fm z11gj~ArUJbMo2dXoEtm#M#}y`80!gRl0Fj)6>h6ow$~gVlw$s7>do2DQ64Er1Q?2< zgFS&^a$uMd*MWM Date: Wed, 14 Aug 2019 02:40:51 +0200 Subject: [PATCH 0220/2822] pony: remove horizontal lines --- lib/docs/filters/pony/clean_html.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/docs/filters/pony/clean_html.rb b/lib/docs/filters/pony/clean_html.rb index 665d104864..9260f226bd 100644 --- a/lib/docs/filters/pony/clean_html.rb +++ b/lib/docs/filters/pony/clean_html.rb @@ -3,6 +3,7 @@ class Pony class CleanHtmlFilter < Filter def call css('.headerlink').remove + css('hr').remove css('pre').each do |node| node.content = node.content From 0b1adb5291b4f0e54fe7c2520148b7ef1cabf170 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Wed, 14 Aug 2019 17:36:06 +0200 Subject: [PATCH 0221/2822] Fix #1054 --- views/service-worker.js.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index aa234c19df..722cd3fe64 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -50,7 +50,7 @@ self.addEventListener('fetch', event => { <%# The index page will make sure the correct documentation or a proper offline page is shown %> const pathname = url.pathname; const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; - if (url.origin === location.origin && !filename.includes('.')) { + if (url.origin === location.origin && !['.css', '.js', '.json', '.png', '.ico', '.svg', '.xml'].some(ext => filename.endsWith(ext))) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; } From c8f30b213f46486a5c527de3cca8eddaa28cf01c Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Wed, 14 Aug 2019 18:53:21 +0200 Subject: [PATCH 0222/2822] Update the Godot icon This updates the Godot icon to the official icon used since Godot 3.0. --- public/icons/docs/godot/16.png | Bin 751 -> 642 bytes public/icons/docs/godot/16@2x.png | Bin 1585 -> 1415 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/icons/docs/godot/16.png b/public/icons/docs/godot/16.png index c574a60d1b295b5bd6ef27aa0102e02a9ef8112b..5497dfaf3d27d8450eaad27d2499f559e83c4aa8 100644 GIT binary patch literal 642 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZOo>JNh~@Fl_AS{*%bcz`!UK;1l8s6nF30@6xl+ zvum$g&jI(IeeT`+9Xs|;+;uZ~?n$T4z3x2+JV4_6NkwiwAaf?|z6nH0b58)-a0E2U zwR@ijHZy^`oICdcWj%WjH6w(MF+1A}2_oI%M$I~1SEf9)Ar t+?~Uy z&$g{XY;&~s?%B3)-<$Q}w{4Ua^GnZctm~@h?*6{lkp3=Dx)0ne8@7j&np-Y$^$YE|ck7Y>;9wB-T=doqWR-7y}V@~WUITlBy--M9% z&x&5d>GV}pmpzBq-h3B}5|?3~>%j545ljx`@o8WSo_~4l5ga^n3>){g*xxx$rZEPsAoqxR zx~+a@sDQQGu3_ztI!y3nKu$4@Vlp$BwPWA}c*WLQY}{3g8KnExp{Ax~@%*DwnVNd- z^Ru0Z@PBS3(>(~Ky0AE2#HO7!2-4nnu@mncX>y!}=^WuSNY|h01!eFPsqC|Jcg+lB z2j4%@j-`nr)^ES&C~V91VL1hG7BSe8=|%8T7v4VH=rH>5R0kHu@?%fw;vwf7B$KUmT0f#XR UU{RvMy8r+H07*qoM6N<$f)(L+P5=M^ diff --git a/public/icons/docs/godot/16@2x.png b/public/icons/docs/godot/16@2x.png index 8047384df823bd537ad58c6e84d48df527e1fbb9..64cdf210e5a600bfcf830f4f5fe653990ac95efb 100644 GIT binary patch literal 1415 zcmbtTeN>WH7=J-cYh|w1vC~=8dD6Z-m6@nnDu^O}a1dLDiXWBJtc0y}+D2O1Ohj~= zC9S0nh=u@1z$f<6PRd1AEHe@G>0ZSqTK8M`(tOj=XdXO?{lB?yZ5=z?-t>4 zm<{W;tpfmH12z;*fUNUsx3hvqG>ZnVE>49KA_3r%8vx`L0Du{C_ z3M&<1=z2vs*K}_{#9^rQsdvb`Pat@SBFgcxF!!O%PNBg+alqJpUG} zNBm!)>4IPg#e%2`F`+^{F|&B`mtF{HngGIoSyTO=cw!aY5k0Od5N#oA+PhVwJQHwGLbXLhkgAL;^JguFHThT zKsTwCyd=fN1r&C$rBm`}Lq6WVfdNQ_7lKvaKxWHvWt}?X5``^S3=cK-Pvy5N4SHP^ zKFaG5A_Numw6o^~vlsVMmwtY^U7=O0RIJ(>K^Iuis*Eh_)EburVo;@0g%k@Yjl+c; zRr1{dI%hPTAqu7m{0lq67@`;Y1;x~#pxV$j{3iXLG`d0@R|Upaf!!*Dd~!~$Tga#% z%zY>?;f^Zb7@PVg{D16-z9EJR{l}aMsyKr?me-;n*AE62@qO}nOrcshs)Iy=EfJ;F zN+)LC#WTURlEJ?iV1&2S;jJ2^`_$2iH`RZSWeQPqC_{oA8+ST*Pb$)T|<9c6ljBu+>|$;k+u_V-3_o^cWeu!F6f-y z;f337+gnLveTYujHIw+}P%105E{BQtSU=01Fx45bLO>X;X+R+s0RPyU?lEQH)Txn9{JjqoV={l2U24mh%|KO-q|Xr9#Pj&)r)wDlnVbwU58-MBu^#c87B z+MZam`2LgRz9V+x5r;Oq?}UKIcQWTNsCRv&%NXqA42O>Vg5Le`rClCnbH~qIkl29! z&&~%lkTf{wis0{xt9m)jzQ}mwK(SDbEq4ld;`qbq*vny4)4INN#;3{=wnIGcmZxLr z`#HOqZB7|2 e2eZ@`{Yz`jx%ay_z}@{<1&IyDp&y`C}a;X0{+te@2c6U9q zLwlGgIVo><|Hoo;*D>4N-_YiNL@5qM8klVEhv~FA*+PzxOMhASiWk+%S#pf1q%+q( zL6pLfL!r=7ZE}Yo2SFCQ_83tFvsL{+pKbNBxkuU%r7+}BC`@Y&FUP`lGM)4%1BioM z$;Yl`nFSCZa)Y3Rcu3V^3ozN;e`d}9NfZO7_8(HqQVO^)8KU2R6UBgy{0}zmUx*^; zhw5Xu|B=Rx$bVv{+}C1P|HAXLyq`iY6O@u`WWL#^y;9z`>rXNvWIkzY8Nd6_L{WG! z(tL=3oFvo8&a5a=lMV*_>GBXmfw-+$CA6hg8&biB?20g z3%`SatE7wKJ3*69cNSD{lb=xX7nqE-1>4MH5Byi*fq!T(@j-(3i_6;x&FtqE2o3HeDUItgNQ$J0Z|9eVs5~G)S42M z%bAIIJGYR&tKy)hoI>K!3((TepwG%!Zvo*JKlhVFQFssm|2G7fNF}E~)Yrb68Kp6{NLo&guPb8B6|O61O=#40iEz9l>rD-M ziYUtGBX&GBZcB2*orxz8^jZ<4M^e$Lp$1beXCL;&593^Ppysnd8KbD?5-0eK&s=BG zvl4)6%z!)>vCBda9h5AiiXBWMZ_m)1C&?Lr#~osx1{7*JRWe zojcR8iAD{XYO2G^h{Nd34P+LtBM+WOv#jx}&Kj?eK1!#ju{-$`_GA&xevov_6p0Xd z@wWKm7|Ny`w>1T7>S=vv9J?hMyMK~SqRNDTn;csapuWm1B)6F#fz5Hp5s-cc$;U5Y z^6qp!8&ZnhT%b2#Rtnv8CgNlh5@E7$>_|9)fy@-6(i={EN#?#Ey9X`ih9U0AMO~YX(Uz_`5rMy*@uc1+N?vc?FW9zmQv|FgpyEqf)60y_{3xWh=K<2R7zcbrheaq6G>q4F9RHzo5(IN47wklS7v@?<@`NDh!F zvWT=KZ&}8xeYvIxTo0J->id~LLbWzL_aH;aP|}mM<0kW3?1PWYcK?Tc f?b@G-QWQS{a#}6TTP5K=00000NkvXXu0mjf{3;WQ From 22f7bcf987f320f0076ca2c02196953b64a6b39d Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Thu, 15 Aug 2019 03:17:18 +0200 Subject: [PATCH 0223/2822] Fix fetch issues with browser extension resources --- views/service-worker.js.erb | 42 ++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index 722cd3fe64..4a0bd9d080 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -11,6 +11,34 @@ const urlsToCache = [ '<%= doc_index_urls.join "',\n '" %>', ]; +<%# Clone a request with the mode set to 'cors' %> +function corsify(request) { + const options = { + mode: 'cors', + }; + + const keys = [ + 'body', + 'cache', + 'credentials', + 'headers', + 'integrity', + 'keepalive', + 'method', + 'redirect', + 'referrer', + 'referrerPolicy', + 'signal', + 'window', + ]; + + for (const key of keys) { + options[key] = request[key]; + } + + return new Request(request.url, options); +} + <%# Set-up the cache %> self.addEventListener('install', event => { self.skipWaiting(); @@ -36,9 +64,11 @@ self.addEventListener('fetch', event => { if (cachedResponse) return cachedResponse; try { - const response = await fetch(event.request); + const response = await fetch(corsify(event.request)); - if (!response.ok) { + <%# If the status code is 0 it means the response is opaque %> + <%# If the response is opaque it's not possible to read whether it is successful or not, so we assume it is %> + if (!response.ok && response.status !== 0) { throw new Error(`The HTTP request failed with status code ${response.status}`); } @@ -46,11 +76,13 @@ self.addEventListener('fetch', event => { } catch (err) { const url = new URL(event.request.url); - <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> - <%# The index page will make sure the correct documentation or a proper offline page is shown %> const pathname = url.pathname; const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; - if (url.origin === location.origin && !['.css', '.js', '.json', '.png', '.ico', '.svg', '.xml'].some(ext => filename.endsWith(ext))) { + const extensions = ['.html', '.css', '.js', '.json', '.png', '.ico', '.svg', '.xml']; + + <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> + <%# The index page will make sure the correct documentation or a proper offline page is shown %> + if (url.origin === location.origin && !extensions.some(ext => filename.endsWith(ext))) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; } From 3bf5d978c7a978ef039a288e43112ec9d8d9be7f Mon Sep 17 00:00:00 2001 From: David Chen Date: Wed, 14 Aug 2019 19:34:01 -0700 Subject: [PATCH 0224/2822] Add ruby 2.6 docs --- lib/docs/scrapers/rdoc/ruby.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/docs/scrapers/rdoc/ruby.rb b/lib/docs/scrapers/rdoc/ruby.rb index bc064660f2..3a2b8b7619 100644 --- a/lib/docs/scrapers/rdoc/ruby.rb +++ b/lib/docs/scrapers/rdoc/ruby.rb @@ -69,6 +69,10 @@ class Ruby < Rdoc Licensed under their own licenses. HTML + version '2.6' do + self.release = '2.6.3' + end + version '2.5' do self.release = '2.5.3' end From 17528d984575fe6d7a586987a7936a06d695c588 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 16 Aug 2019 16:49:12 +0200 Subject: [PATCH 0225/2822] rxjs: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 20 ++-- lib/docs/filters/rxjs/clean_html.rb | 54 ++++++++-- lib/docs/filters/rxjs/entries.rb | 12 ++- lib/docs/scrapers/rxjs.rb | 102 +++++++++--------- public/icons/docs/rxjs/16.png | Bin 5356 -> 1521 bytes public/icons/docs/rxjs/SOURCE | 2 +- 6 files changed, 117 insertions(+), 73 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index ac86b701c3..892c4284bf 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -211,8 +211,7 @@ credits = [ '2017 Cypress.io', 'MIT', 'https://raw.githubusercontent.com/cypress-io/cypress-documentation/develop/LICENSE.md' - ], - [ + ], [ 'D', '1999-2018 The D Language Foundation', 'Boost', @@ -572,8 +571,7 @@ credits = [ '2016-2018, The Pony Developers & 2014-2015, Causality Ltd.', 'BSD', 'https://raw.githubusercontent.com/ponylang/ponyc/master/LICENSE' - ], - [ + ], [ 'PostgreSQL', '1996-2018 The PostgreSQL Global Development Group
    © 1994 The Regents of the University of California', 'PostgreSQL', @@ -648,13 +646,17 @@ credits = [ '2010 The Rust Project Developers', 'MIT', 'https://raw.githubusercontent.com/rust-lang/rust/master/LICENSE-MIT' + ], [ + 'RxJS', + '2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors', + 'Apache', + 'https://raw.githubusercontent.com/ReactiveX/rxjs/master/LICENSE.txt' ], [ 'Salt Stack', '2019 SaltStack', 'Apache', 'https://raw.githubusercontent.com/saltstack/salt/develop/LICENSE' - ], - [ + ], [ 'Sass', '2006-2016 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein', 'MIT', @@ -664,8 +666,7 @@ credits = [ '2002-2019 EPFL, with contributions from Lightbend', 'Apache', 'https://raw.githubusercontent.com/scala/scala-lang/master/license.md' - ], - [ + ], [ 'scikit-image', '2011 the scikit-image team', 'BSD', @@ -765,8 +766,7 @@ credits = [ '2003-2019 WordPress Foundation', 'GPLv2+', 'https://wordpress.org/about/license/' - ], - [ + ], [ 'Yarn', '2016-present Yarn Contributors', 'BSD', diff --git a/lib/docs/filters/rxjs/clean_html.rb b/lib/docs/filters/rxjs/clean_html.rb index 1056b1a602..864c201b32 100644 --- a/lib/docs/filters/rxjs/clean_html.rb +++ b/lib/docs/filters/rxjs/clean_html.rb @@ -7,6 +7,11 @@ def call at_css('h1').content = 'RxJS Documentation' end + if at_css('h1').nil? + title = subpath.rpartition('/').last.titleize + doc.prepend_child("

    #{title}

    ") + end + css('br', 'hr', '.material-icons', '.header-link', '.breadcrumb').remove css('.content', 'article', '.api-header', 'section', '.instance-member').each do |node| @@ -65,6 +70,16 @@ def call if node['class'] && node['class'].include?('api-heading') node.name = 'h3' + + unless node.ancestors('.instance-method').empty? + matches = node.inner_html.scan(/([^(& ]+)[(&]/) + + unless matches.empty? || matches[0][0] == 'constructor' + node['name'] = matches[0][0] + node['id'] = node['name'].downcase + '-' + end + end + node.inner_html = "#{node.inner_html}" end @@ -77,25 +92,48 @@ def call node.remove_attribute('class') end - css('h1[class]').remove_attr('class') - css('table[class]').remove_attr('class') - css('table[width]').remove_attr('width') - css('tr[style]').remove_attr('style') + css('td > .overloads').each do |node| + node.replace node.at_css('.detail-contents') + end + + css('td.short-description p').each do |node| + signature = node.parent.parent.next_element.at_css('h3[id]') + signature.after(node) unless signature.nil? + end - if at_css('.api-type-label.module') - at_css('h1').content = subpath.remove('api/') + css('.method-table').each do |node| + node.replace node.at_css('tbody') end - css('th h3').each do |node| - node.name = 'span' + css('.api-body > table > caption').each do |node| + node.name = 'center' + lift_out_of_table node end + css('.api-body > table > tbody > tr:not([class]) > td > *').each do |node| + lift_out_of_table node + end + + css('.api-body > table').each do |node| + node.remove if node.content.strip.blank? + end + + css('h1[class]').remove_attr('class') + css('table[class]').remove_attr('class') + css('table[width]').remove_attr('width') + css('tr[style]').remove_attr('style') + css('code code').each do |node| node.before(node.children).remove end doc end + + def lift_out_of_table(node) + table = node.ancestors('table').first + table.previous_element.after(node) + end end end end diff --git a/lib/docs/filters/rxjs/entries.rb b/lib/docs/filters/rxjs/entries.rb index 020ce1eb68..c6e488fb0d 100644 --- a/lib/docs/filters/rxjs/entries.rb +++ b/lib/docs/filters/rxjs/entries.rb @@ -2,22 +2,28 @@ module Docs class Rxjs class EntriesFilter < Docs::EntriesFilter def get_name - name = at_css('h1').content + title = at_css('h1') + name = title.nil? ? subpath.rpartition('/').last.titleize : title.content name.prepend "#{$1}. " if subpath =~ /\-pt(\d+)/ + name += '()' unless at_css('.api-type-label.function').nil? name end def get_type if slug.start_with?('guide') 'Guide' - elsif at_css('.api-type-label.module') - name.split('/').first elsif slug.start_with?('api/') slug.split('/').second else 'Miscellaneous' end end + + def additional_entries + css('h3[id]').map do |node| + ["#{name}.#{node['name']}()", node['id']] + end + end end end end diff --git a/lib/docs/scrapers/rxjs.rb b/lib/docs/scrapers/rxjs.rb index 1825fc80df..e5ea105119 100644 --- a/lib/docs/scrapers/rxjs.rb +++ b/lib/docs/scrapers/rxjs.rb @@ -4,11 +4,26 @@ module Docs class Rxjs < UrlScraper self.name = 'RxJS' self.type = 'rxjs' + self.release = '6.5.2' + self.base_url = 'https://rxjs.dev/' + self.root_path = 'guide/overview' self.links = { home: 'https://rxjs.dev/', code: 'https://github.com/ReactiveX/rxjs' } + html_filters.push 'rxjs/clean_html', 'rxjs/entries' + + options[:follow_links] = false + options[:only_patterns] = [/guide\//, /api\//] + options[:skip_patterns] = [/api\/([^\/]+)\.json/] + options[:fix_urls_before_parse] = ->(url) do + url.sub! %r{\Aguide/}, '/guide/' + url.sub! %r{\Aapi/}, '/api/' + url.sub! %r{\Agenerated/}, '/generated/' + url + end + options[:max_image_size] = 256_000 options[:attribution] = <<-HTML @@ -16,69 +31,54 @@ class Rxjs < UrlScraper Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0. HTML - module Common - private + def get_latest_version(opts) + json = fetch_json('https://rxjs.dev/generated/navigation.json', opts) + json['__versionInfo']['raw'] + end - def initial_urls - initial_urls = [] + private - Request.run "#{self.class.base_url}generated/navigation.json" do |response| - data = JSON.parse(response.body) - dig = ->(entry) do - initial_urls << url_for("generated/docs/#{entry['url']}.json") if entry['url'] && entry['url'] != 'api' - entry['children'].each(&dig) if entry['children'] - end - data['SideNav'].each(&dig) - end + def initial_urls + initial_urls = [] - Request.run "#{self.class.base_url}generated/docs/api/api-list.json" do |response| - data = JSON.parse(response.body) - dig = ->(entry) do - initial_urls << url_for("generated/docs/#{entry['path']}.json") if entry['path'] - initial_urls << url_for("generated/docs/api/#{entry['name']}.json") if entry['name'] && !entry['path'] - entry['items'].each(&dig) if entry['items'] - end - data.each(&dig) + Request.run "#{self.class.base_url}generated/navigation.json" do |response| + data = JSON.parse(response.body) + dig = ->(entry) do + initial_urls << url_for("generated/docs/#{entry['url']}.json") if entry['url'] && entry['url'] != 'api' + entry['children'].each(&dig) if entry['children'] end - - initial_urls + data['SideNav'].each(&dig) end - def handle_response(response) - if response.mime_type.include?('json') - begin - response.options[:response_body] = JSON.parse(response.body)['contents'] - rescue JSON::ParserError - response.options[:response_body] = '' - end - response.headers['Content-Type'] = 'text/html' - response.url.path = response.url.path.sub('/generated/docs/', '/').remove('.json') - response.effective_url.path = response.effective_url.path.sub('/generated/docs/', '/').remove('.json') + Request.run "#{self.class.base_url}generated/docs/api/api-list.json" do |response| + data = JSON.parse(response.body) + dig = ->(entry) do + initial_urls << url_for("generated/docs/#{entry['path']}.json") if entry['path'] + initial_urls << url_for("generated/docs/api/#{entry['name']}.json") if entry['name'] && !entry['path'] + entry['items'].each(&dig) if entry['items'] end - super + data.each(&dig) end - end - version do - self.release = '6.3.3' - self.base_url = 'https://rxjs.dev/' - self.root_path = 'guide/overview' - - html_filters.push 'rxjs/clean_html', 'rxjs/entries' - - options[:follow_links] = false - options[:only_patterns] = [/\Aguide/, /\Aapi/] - options[:fix_urls_before_parse] = ->(url) do - url.sub! %r{\Aguide/}, '/guide/' - url.sub! %r{\Aapi/}, '/api/' - url.sub! %r{\Agenerated/}, '/generated/' - url + initial_urls.select do |url| + options[:only_patterns].any? { |pattern| url =~ pattern } && + options[:skip_patterns].none? { |pattern| url =~ pattern } end - - include Docs::Rxjs::Common end - private + def handle_response(response) + if response.mime_type.include?('json') + begin + response.options[:response_body] = JSON.parse(response.body)['contents'] + rescue JSON::ParserError + response.options[:response_body] = '' + end + response.headers['Content-Type'] = 'text/html' + response.url.path = response.url.path.sub('/generated/docs/', '/').remove('.json') + response.effective_url.path = response.effective_url.path.sub('/generated/docs/', '/').remove('.json') + end + super + end def parse(response) response.body.gsub! 'Z~!tni*7$tmRtL~dU*gFMgdVVKo?tzst4BC z0#AGa`vjnWSn}CfQviAS%o*O!tbl^60Zl^?1vMZk0}&J{=~zWkKyf1tTr##&_yj;* zfTVJ`Q(!rg%c0qXm?*?PgCht3R?t>x42bT=eu~u;NgR?XDhvqQgUb|?DYRYCHbZj@ zVits4a2eSAW=Ebvd;#e$q>~V`A>=_UkVz#nav!7uiKAgbL7G7_ARGr@BX2NF%Fde3PAEfo)~?=19(M1SOKya!d+1K`&|odfO#_~-U1jV62uxFm3ot#s`}H4h<3;Hn{p zgUbSU4BQd$=fU3wUjnWcd@FeB20jze`nKp2mOW{~o7Psne`2WiTB! zr}%Y!N!E(Nz?`x+M)XSWESIa<2d(y0=2L3uFwk2Q%q|)zZPG0i?zD7QtsQ&4F~Ho^ z$~|y4M^qi`!V$709+#=3Ldj>R61v`&;!xuf&=v&~tTB&7$Cr636KlGP6Mu z`rQjGQw=olQ0$1egK`?Hb6qebt<%udQ5+v%*xlf#K;Q7<4kn~o?`Z zY>=CigZF?tvOcos1|x@j#D^nCeKh)G#U~~#H68P*&1a>b+uA9|jvGJ0j4^yMagzNX zlc(IfKlRJ6zBVz3!?dyoc4plyui5aP^WEHs zKJ(@;Sh#5MqwjtFu;g)lgMUDvMNsh4Wy?cWti-A(p-;nBzZD+Qn~7DeS&Mbg8h==C zxuFmGZrt?F=EyCG+S(Mo?Omqmy_olZ{3&)j;&wc5-nlEjpW389#|t9C07=uL)g>f; zusbPv&)$@M7?`^M=d=R{52YXe<;c-v8OL#AP-fQ2Q`x7_{F-z2-1!T+82sCiyo;Cg zms_t~y_SFd#!$fOruD7c1-};-72mmAGHiIFD!hJ(qu)Me#7LF1k1D`V6=?4t9>@Ze zwswtBGCp#jT+*8c}U`41q`E9N=_z|Gmy JDPx*%^xvy8X{i7J literal 5356 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 KMNUMnLSTX!`8aC; diff --git a/public/icons/docs/rxjs/SOURCE b/public/icons/docs/rxjs/SOURCE index 536eb88a54..2a3b30846d 100644 --- a/public/icons/docs/rxjs/SOURCE +++ b/public/icons/docs/rxjs/SOURCE @@ -1 +1 @@ -http://reactivex.io/ +https://github.com/ReactiveX/reactivex.github.io/blob/develop/favicon.ico From d5f4a76fc2a9b78cf0e174076dc223d6e34c7762 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Fri, 16 Aug 2019 17:25:16 +0200 Subject: [PATCH 0226/2822] rxjs: fix Observable link on root page --- lib/docs/scrapers/rxjs.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/docs/scrapers/rxjs.rb b/lib/docs/scrapers/rxjs.rb index e5ea105119..e6f5796191 100644 --- a/lib/docs/scrapers/rxjs.rb +++ b/lib/docs/scrapers/rxjs.rb @@ -18,7 +18,7 @@ class Rxjs < UrlScraper options[:only_patterns] = [/guide\//, /api\//] options[:skip_patterns] = [/api\/([^\/]+)\.json/] options[:fix_urls_before_parse] = ->(url) do - url.sub! %r{\Aguide/}, '/guide/' + url.sub! %r{\A(\.\/)?guide/}, '/guide/' url.sub! %r{\Aapi/}, '/api/' url.sub! %r{\Agenerated/}, '/generated/' url From 4da5ae7e732b21c8c78aa94a8355cf89a1365117 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Sat, 17 Aug 2019 00:02:54 +0200 Subject: [PATCH 0227/2822] octave: finish scraper and filters --- .../templates/pages/about_tmpl.coffee | 5 + assets/javascripts/vendor/prism.js | 4787 +++++++++-------- lib/docs/filters/octave/clean_html.rb | 7 +- lib/docs/filters/octave/entries.rb | 8 +- lib/docs/scrapers/octave.rb | 2 +- 5 files changed, 2592 insertions(+), 2217 deletions(-) diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 892c4284bf..5238d85052 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -516,6 +516,11 @@ credits = [ '2008-2017 NumPy Developers', 'NumPy', 'https://raw.githubusercontent.com/numpy/numpy/master/LICENSE.txt' + ], [ + 'Octave', + '1996-2018 John W. Eaton', + 'Custom', + 'https://octave.org/doc/interpreter/' ], [ 'OpenJDK', '1993-2017, Oracle and/or its affiliates. All rights reserved.
    Licensed under the GNU General Public License, version 2, with the Classpath Exception.
    Various third party code in OpenJDK is licensed under different licenses.
    Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.', diff --git a/assets/javascripts/vendor/prism.js b/assets/javascripts/vendor/prism.js index 09d6df8727..c2cbaadd7c 100644 --- a/assets/javascripts/vendor/prism.js +++ b/assets/javascripts/vendor/prism.js @@ -1,12 +1,12 @@ -/* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+dart+django+elixir+markup-templating+erlang+go+java+json+kotlin+lua+crystal+nginx+nim+perl+php+sql+scss+python+jsx+typescript+rust+yaml */ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+c+bash+cpp+coffeescript+ruby+d+dart+markup-templating+elixir+erlang+go+java+php+json+kotlin+crystal+lua+django+matlab+typescript+nginx+nim+perl+sql+scss+python+jsx+rust+yaml */ var _self = (typeof window !== 'undefined') - ? window // if in browser - : ( - (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) - ? self // if in worker - : {} // if in node js - ); + ? window // if in browser + : ( + (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) + ? self // if in worker + : {} // if in node js + ); /** * Prism: Lightweight, robust, elegant syntax highlighting @@ -14,977 +14,1174 @@ var _self = (typeof window !== 'undefined') * @author Lea Verou http://lea.verou.me */ -var Prism = (function(){ +var Prism = (function (_self){ // Private helper vars -var lang = /\blang(?:uage)?-([\w-]+)\b/i; -var uniqueId = 0; - -var _ = _self.Prism = { - manual: _self.Prism && _self.Prism.manual, - disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler, - util: { - encode: function (tokens) { - if (tokens instanceof Token) { - return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias); - } else if (_.util.type(tokens) === 'Array') { - return tokens.map(_.util.encode); - } else { - return tokens.replace(/&/g, '&').replace(/ text.length) { - // Something went terribly wrong, ABORT, ABORT! - return; - } - - if (str instanceof Token) { - continue; - } - - if (greedy && i != strarr.length - 1) { - pattern.lastIndex = pos; - var match = pattern.exec(text); - if (!match) { - break; - } - - var from = match.index + (lookbehind ? match[1].length : 0), - to = match.index + match[0].length, - k = i, - p = pos; - - for (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) { - p += strarr[k].length; - // Move the index i to the element in strarr that is closest to from - if (from >= p) { - ++i; - pos = p; - } - } - - // If strarr[i] is a Token, then the match starts inside another Token, which is invalid - if (strarr[i] instanceof Token) { - continue; - } - - // Number of tokens to delete and replace with the new match - delNum = k - i; - str = text.slice(pos, p); - match.index -= pos; - } else { - pattern.lastIndex = 0; - - var match = pattern.exec(str), - delNum = 1; - } - - if (!match) { - if (oneshot) { - break; - } - - continue; - } - - if(lookbehind) { - lookbehindLength = match[1] ? match[1].length : 0; - } - - var from = match.index + lookbehindLength, - match = match[0].slice(lookbehindLength), - to = from + match.length, - before = str.slice(0, from), - after = str.slice(to); + var lang = /\blang(?:uage)?-([\w-]+)\b/i; + var uniqueId = 0; + + var _ = { + manual: _self.Prism && _self.Prism.manual, + disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler, + util: { + encode: function (tokens) { + if (tokens instanceof Token) { + return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias); + } else if (Array.isArray(tokens)) { + return tokens.map(_.util.encode); + } else { + return tokens.replace(/&/g, '&').replace(/ text.length) { + // Something went terribly wrong, ABORT, ABORT! + return; + } + + if (str instanceof Token) { + continue; + } + + if (greedy && i != strarr.length - 1) { + pattern.lastIndex = pos; + var match = pattern.exec(text); + if (!match) { + break; + } + + var from = match.index + (lookbehind ? match[1].length : 0), + to = match.index + match[0].length, + k = i, + p = pos; + + for (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) { + p += strarr[k].length; + // Move the index i to the element in strarr that is closest to from + if (from >= p) { + ++i; + pos = p; + } + } + + // If strarr[i] is a Token, then the match starts inside another Token, which is invalid + if (strarr[i] instanceof Token) { + continue; + } + + // Number of tokens to delete and replace with the new match + delNum = k - i; + str = text.slice(pos, p); + match.index -= pos; + } else { + pattern.lastIndex = 0; + + var match = pattern.exec(str), + delNum = 1; + } + + if (!match) { + if (oneshot) { + break; + } + + continue; + } + + if(lookbehind) { + lookbehindLength = match[1] ? match[1].length : 0; + } + + var from = match.index + lookbehindLength, + match = match[0].slice(lookbehindLength), + to = from + match.length, + before = str.slice(0, from), + after = str.slice(to); + + var args = [i, delNum]; + + if (before) { + ++i; + pos += before.length; + args.push(before); + } + + var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy); + + args.push(wrapped); + + if (after) { + args.push(after); + } + + Array.prototype.splice.apply(strarr, args); + + if (delNum != 1) + _.matchGrammar(text, strarr, grammar, i, pos, true, token); + + if (oneshot) + break; + } + } + } + }, + + tokenize: function(text, grammar) { + var strarr = [text]; + + var rest = grammar.rest; + + if (rest) { + for (var token in rest) { + grammar[token] = rest[token]; + } + + delete grammar.rest; + } + + _.matchGrammar(text, strarr, grammar, 0, 0, false); + + return strarr; + }, + + hooks: { + all: {}, + + add: function (name, callback) { + var hooks = _.hooks.all; + + hooks[name] = hooks[name] || []; + + hooks[name].push(callback); + }, + + run: function (name, env) { + var callbacks = _.hooks.all[name]; + + if (!callbacks || !callbacks.length) { + return; + } - var args = [i, delNum]; - - if (before) { - ++i; - pos += before.length; - args.push(before); - } + for (var i=0, callback; callback = callbacks[i++];) { + callback(env); + } + } + }, - var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy); - - args.push(wrapped); + Token: Token + }; - if (after) { - args.push(after); - } - - Array.prototype.splice.apply(strarr, args); - - if (delNum != 1) - _.matchGrammar(text, strarr, grammar, i, pos, true, token); + _self.Prism = _; - if (oneshot) - break; - } - } - } - }, + function Token(type, content, alias, matchedStr, greedy) { + this.type = type; + this.content = content; + this.alias = alias; + // Copy of the full string this token was created from + this.length = (matchedStr || "").length|0; + this.greedy = !!greedy; + } - tokenize: function(text, grammar, language) { - var strarr = [text]; + Token.stringify = function(o, language) { + if (typeof o == 'string') { + return o; + } - var rest = grammar.rest; + if (Array.isArray(o)) { + return o.map(function(element) { + return Token.stringify(element, language); + }).join(''); + } - if (rest) { - for (var token in rest) { - grammar[token] = rest[token]; - } - - delete grammar.rest; - } - - _.matchGrammar(text, strarr, grammar, 0, 0, false); - - return strarr; - }, - - hooks: { - all: {}, - - add: function (name, callback) { - var hooks = _.hooks.all; - - hooks[name] = hooks[name] || []; - - hooks[name].push(callback); - }, - - run: function (name, env) { - var callbacks = _.hooks.all[name]; - - if (!callbacks || !callbacks.length) { - return; - } - - for (var i=0, callback; callback = callbacks[i++];) { - callback(env); - } - } - } -}; - -var Token = _.Token = function(type, content, alias, matchedStr, greedy) { - this.type = type; - this.content = content; - this.alias = alias; - // Copy of the full string this token was created from - this.length = (matchedStr || "").length|0; - this.greedy = !!greedy; -}; - -Token.stringify = function(o, language, parent) { - if (typeof o == 'string') { - return o; - } - - if (_.util.type(o) === 'Array') { - return o.map(function(element) { - return Token.stringify(element, language, o); - }).join(''); - } - - var env = { - type: o.type, - content: Token.stringify(o.content, language, parent), - tag: 'span', - classes: ['token', o.type], - attributes: {}, - language: language, - parent: parent - }; - - if (o.alias) { - var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias]; - Array.prototype.push.apply(env.classes, aliases); - } - - _.hooks.run('wrap', env); - - var attributes = Object.keys(env.attributes).map(function(name) { - return name + '="' + (env.attributes[name] || '').replace(/"/g, '"') + '"'; - }).join(' '); - - return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + ''; - -}; + var env = { + type: o.type, + content: Token.stringify(o.content, language), + tag: 'span', + classes: ['token', o.type], + attributes: {}, + language: language + }; -// if (!_self.document) { -// if (!_self.addEventListener) { -// // in Node.js -// return _self.Prism; -// } - -// if (!_.disableWorkerMessageHandler) { -// // In worker -// _self.addEventListener('message', function (evt) { -// var message = JSON.parse(evt.data), -// lang = message.language, -// code = message.code, -// immediateClose = message.immediateClose; - -// _self.postMessage(_.highlight(code, _.languages[lang], lang)); -// if (immediateClose) { -// _self.close(); -// } -// }, false); -// } - -// return _self.Prism; -// } - -// //Get current script and highlight -// var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop(); - -// if (script) { -// _.filename = script.src; - -// if (!_.manual && !script.hasAttribute('data-manual')) { -// if(document.readyState !== "loading") { -// if (window.requestAnimationFrame) { -// window.requestAnimationFrame(_.highlightAll); -// } else { -// window.setTimeout(_.highlightAll, 16); -// } -// } -// else { -// document.addEventListener('DOMContentLoaded', _.highlightAll); -// } -// } -// } - -return _self.Prism; - -})(); + if (o.alias) { + var aliases = Array.isArray(o.alias) ? o.alias : [o.alias]; + Array.prototype.push.apply(env.classes, aliases); + } + + _.hooks.run('wrap', env); + + var attributes = Object.keys(env.attributes).map(function(name) { + return name + '="' + (env.attributes[name] || '').replace(/"/g, '"') + '"'; + }).join(' '); + + return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + ''; + }; + + if (!_self.document) { + if (!_self.addEventListener) { + // in Node.js + return _; + } + + if (!_.disableWorkerMessageHandler) { + // In worker + _self.addEventListener('message', function (evt) { + var message = JSON.parse(evt.data), + lang = message.language, + code = message.code, + immediateClose = message.immediateClose; + + _self.postMessage(_.highlight(code, _.languages[lang], lang)); + if (immediateClose) { + _self.close(); + } + }, false); + } + + return _; + } + +//Get current script and highlight + var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop(); + + if (script) { + _.filename = script.src; + + if (!_.manual && !script.hasAttribute('data-manual')) { + if(document.readyState !== "loading") { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(_.highlightAll); + } else { + window.setTimeout(_.highlightAll, 16); + } + } + else { + document.addEventListener('DOMContentLoaded', _.highlightAll); + } + } + } + + return _; + +})(_self); if (typeof module !== 'undefined' && module.exports) { - module.exports = Prism; + module.exports = Prism; } // hack for components to work correctly in node.js if (typeof global !== 'undefined') { - global.Prism = Prism; + global.Prism = Prism; } ; Prism.languages.markup = { - 'comment': //, - 'prolog': /<\?[\s\S]+?\?>/, - 'doctype': //i, - 'cdata': //i, - 'tag': { - pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - greedy: true, - inside: { - 'tag': { - pattern: /^<\/?[^\s>\/]+/i, - inside: { - 'punctuation': /^<\/?/, - 'namespace': /^[^\s>\/:]+:/ - } - }, - 'attr-value': { - pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i, - inside: { - 'punctuation': [ - /^=/, - { - pattern: /(^|[^\\])["']/, - lookbehind: true - } - ] - } - }, - 'punctuation': /\/?>/, - 'attr-name': { - pattern: /[^\s>\/]+/, - inside: { - 'namespace': /^[^\s>\/:]+:/ - } - } - - } - }, - 'entity': /&#?[\da-z]{1,8};/i + 'comment': //, + 'prolog': /<\?[\s\S]+?\?>/, + 'doctype': //i, + 'cdata': //i, + 'tag': { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i, + greedy: true, + inside: { + 'tag': { + pattern: /^<\/?[^\s>\/]+/i, + inside: { + 'punctuation': /^<\/?/, + 'namespace': /^[^\s>\/:]+:/ + } + }, + 'attr-value': { + pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i, + inside: { + 'punctuation': [ + /^=/, + { + pattern: /^(\s*)["']|["']$/, + lookbehind: true + } + ] + } + }, + 'punctuation': /\/?>/, + 'attr-name': { + pattern: /[^\s>\/]+/, + inside: { + 'namespace': /^[^\s>\/:]+:/ + } + } + + } + }, + 'entity': /&#?[\da-z]{1,8};/i }; Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] = - Prism.languages.markup['entity']; + Prism.languages.markup['entity']; // Plugin to make entity title show the real entity, idea by Roman Komarov Prism.hooks.add('wrap', function(env) { - if (env.type === 'entity') { - env.attributes['title'] = env.content.replace(/&/, '&'); - } + if (env.type === 'entity') { + env.attributes['title'] = env.content.replace(/&/, '&'); + } +}); + +Object.defineProperty(Prism.languages.markup.tag, 'addInlined', { + /** + * Adds an inlined language to markup. + * + * An example of an inlined language is CSS with ` - - - """ - source.replace / +\ +` + ); + return source.replace(/ \ -` +`, ); return source.replace(/

S)&gxjLYm`dmc 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 LV5VQDXCL-INF-=d diff --git a/assets/images/docs-2@2x.png b/assets/images/docs-2@2x.png deleted file mode 100644 index c781b24849de5f56d507261da2457dc3a266b39d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47420 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 + +%svg-icon { + display: inline-block; + vertical-align: top; + width: 1rem; + height: 1rem; + pointer-events: none; + fill: currentColor; +} + +%doc-icon { + content: ''; + display: block; + width: 1rem; + height: 1rem; + background-image: image-url('sprites/docs.png'); + background-size: <%= manifest['icons_per_row'] %>rem <%= manifest['icons_per_row'] %>rem; +} + +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + %doc-icon { background-image: image-url('sprites/docs@2x.png'); } +} + +%darkIconFix { + @if $style == 'dark' { + filter: invert(100%) grayscale(100%); + -webkit-filter: invert(100%) grayscale(100%); + } +} + +<%= + items = [] + + manifest['icons'].each do |icon| + rules = [] + rules << "background-position: -#{icon['col']}rem -#{icon['row']}rem;" + rules << "@extend %darkIconFix !optional;" if icon['dark_icon_fix'] + items << "._icon-#{icon['type']}:before { #{rules.join(' ')} }" + end + + items.join('') + %> diff --git a/lib/app.rb b/lib/app.rb index b5015b3ac9..af9387bb42 100644 --- a/lib/app.rb +++ b/lib/app.rb @@ -48,6 +48,11 @@ class App < Sinatra::Application end configure :test, :development do + require 'thor' + load 'tasks/sprites.thor' + + SpritesCLI.new.invoke(:generate) + require 'active_support/per_thread_registry' require 'active_support/cache' sprockets.cache = ActiveSupport::Cache.lookup_store :file_store, root.join('tmp', 'cache', 'assets', environment.to_s) diff --git a/lib/tasks/assets.thor b/lib/tasks/assets.thor index c3a4caf5cf..d49efd7dde 100644 --- a/lib/tasks/assets.thor +++ b/lib/tasks/assets.thor @@ -14,6 +14,7 @@ class AssetsCLI < Thor option :keep, type: :numeric, default: 0, desc: 'Number of old assets to keep' option :verbose, type: :boolean def compile + invoke 'sprites:generate', [], :verbose => options[:verbose] manifest.compile App.assets_compile manifest.clean(options[:keep]) if options[:clean] end diff --git a/lib/tasks/sprites.thor b/lib/tasks/sprites.thor new file mode 100644 index 0000000000..ea0a8b16b5 --- /dev/null +++ b/lib/tasks/sprites.thor @@ -0,0 +1,185 @@ +class SpritesCLI < Thor + def self.to_s + 'Sprites' + end + + def initialize(*args) + require 'docs' + require 'chunky_png' + require 'fileutils' + super + end + + desc 'generate [--verbose]', 'Generate the documentation icon spritesheets' + option :verbose, type: :boolean + def generate + icons = get_icons + icons_per_row = Math.sqrt(icons.length).ceil + + bg_color = get_sidebar_background + + icons.each_with_index do |icon, index| + icon[:row] = (index / icons_per_row).floor + icon[:col] = index - icon[:row] * icons_per_row + + icon[:icon_16] = get_icon(icon[:path_16], 16) + icon[:icon_32] = get_icon(icon[:path_32], 32) + + icon[:dark_icon_fix] = needs_dark_icon_fix(icon[:icon_32], bg_color) + end + + log_details(icons, icons_per_row) + + generate_spritesheet(16, icons, 'assets/images/sprites/docs.png') {|icon| icon[:icon_16]} + generate_spritesheet(32, icons, 'assets/images/sprites/docs@2x.png') {|icon| icon[:icon_32]} + + save_manifest(icons, icons_per_row, 'assets/images/sprites/docs.json') + end + + private + + def get_icons + items = Docs.all.map do |doc| + base_path = "public/icons/docs/#{doc.slug}" + { + :type => doc.slug, + :path_16 => "#{base_path}/16.png", + :path_32 => "#{base_path}/16@2x.png" + } + end + + # Checking paths against an array of possible paths is faster than 200+ File.exist? calls + files = Dir.glob('public/icons/docs/**/*.png') + items.select {|item| files.include?(item[:path_16]) && files.include?(item[:path_32])} + end + + def get_icon(path, max_size) + icon = ChunkyPNG::Image.from_file(path) + + # Check if the icon is too big + # If it is, resize the image without changing the aspect ratio + if icon.width > max_size || icon.height > max_size + ratio = icon.width.to_f / icon.height + new_width = (icon.width >= icon.height ? max_size : max_size * ratio).floor + new_height = (icon.width >= icon.height ? max_size / ratio : max_size).floor + + logger.warn("Icon #{path} is too big: max size is #{max_size} x #{max_size}, icon is #{icon.width} x #{icon.height}, resizing to #{new_width} x #{new_height}") + + icon.resample_nearest_neighbor!(new_width, new_height) + end + + icon + end + + def get_sidebar_background + # This is a hacky way to get the background color of the sidebar + # Unfortunately, it's not possible to get the value of a SCSS variable from a Thor task + # Because hard-coding the value is even worse, we extract it using some regex + path = 'assets/stylesheets/global/_variables-dark.scss' + regex = /\$sidebarBackground:\s+([^;]+);/ + ChunkyPNG::Color.parse(File.read(path)[regex, 1]) + end + + def needs_dark_icon_fix(icon, bg_color) + # Determine whether the icon needs to be grayscaled if the user has enabled the dark theme + # The logic comes from https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast + contrast = icon.pixels.map do |pixel| + get_contrast(bg_color, pixel) + end + + contrast.max < 7 + end + + def get_contrast(base, other) + l1 = get_luminance(base) + 0.05 + l2 = get_luminance(other) + 0.05 + ratio = l1 / l2 + l2 > l1 ? 1 / ratio : ratio + end + + def get_luminance(color) + rgba = [ + ChunkyPNG::Color.r(color).to_f, + ChunkyPNG::Color.g(color).to_f, + ChunkyPNG::Color.b(color).to_f, + ChunkyPNG::Color.a(color).to_f + ] + + rgba.map! do |rgb| + rgb /= 255 + rgb < 0.03928 ? rgb / 12.92 : ((rgb + 0.055) / 1.055) ** 2.4 + end + + 0.2126 * rgba[0] + 0.7152 * rgba[1] + 0.0722 * rgba[2] + end + + def generate_spritesheet(size, icons, output_path, &icon_to_img) + logger.info("Generating spritesheet #{output_path} with icons of size #{size} x #{size}") + + icons_per_row = Math.sqrt(icons.length).ceil + spritesheet = ChunkyPNG::Image.new(size * icons_per_row, size * icons_per_row) + + icons.each do |icon| + img = icon_to_img.call(icon) + + # Calculate the base coordinates + base_x = icon[:col] * size + base_y = icon[:row] * size + + # Center the icon if it's not a perfect rectangle + x = base_x + ((size - img.width) / 2).floor + y = base_y + ((size - img.height) / 2).floor + + spritesheet.compose!(img, x, y) + end + + FileUtils.mkdir_p(File.dirname(output_path)) + spritesheet.save(output_path) + end + + def save_manifest(icons, icons_per_row, path) + logger.info("Saving spritesheet details to #{path}") + + FileUtils.mkdir_p(File.dirname(path)) + + # Only save the details that the scss file needs + manifest_icons = icons.map do |icon| + { + :type => icon[:type], + :row => icon[:row], + :col => icon[:col], + :dark_icon_fix => icon[:dark_icon_fix] + } + end + + manifest = {:icons_per_row => icons_per_row, :icons => manifest_icons} + + File.open(path, 'w') do |f| + f.write(JSON.generate(manifest)) + end + end + + def log_details(icons, icons_per_row) + logger.debug("Amount of icons: #{icons.length}") + logger.debug("Icons per row: #{icons_per_row}") + + max_type_length = icons.map { |icon| icon[:type].length }.max + border = "+#{'-' * (max_type_length + 2)}+#{'-' * 5}+#{'-' * 8}+#{'-' * 15}+" + logger.debug(border) + logger.debug("| #{'Type'.ljust(max_type_length)} | Row | Column | Dark icon fix |") + logger.debug(border) + + icons.each do |icon| + logger.debug("| #{icon[:type].ljust(max_type_length)} | #{icon[:row].to_s.ljust(3)} | #{icon[:col].to_s.ljust(6)} | #{(icon[:dark_icon_fix] ? 'Yes' : 'No').ljust(13)} |") + end + + logger.debug(border) + end + + def logger + @logger ||= Logger.new($stdout).tap do |logger| + logger.level = options[:verbose] ? Logger::DEBUG : Logger::INFO + logger.formatter = proc { |severity, datetime, progname, msg| "#{msg}\n" } + end + end +end diff --git a/public/icons/docs-1.pxm b/public/icons/docs-1.pxm deleted file mode 100644 index d9418ee738f169bdce4128585237f62760f96b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3352748 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