diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 8e8d9219..51b9aa62 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -826,5 +826,10 @@ credits = [ '2008-2017 by Yii Software LLC', 'BSD', 'https://raw.githubusercontent.com/yiisoft/yii/master/LICENSE' + ], [ + 'Spring Boot', + '2002-2020 Pivotal, Inc. All Rights Reserved.', + 'Apache License 2.0', + 'https://raw.githubusercontent.com/spring-projects/spring-boot/master/LICENSE.txt' ] ] diff --git a/lib/docs/filters/spring_boot/clean_html.rb b/lib/docs/filters/spring_boot/clean_html.rb new file mode 100644 index 00000000..eb1639d3 --- /dev/null +++ b/lib/docs/filters/spring_boot/clean_html.rb @@ -0,0 +1,15 @@ +module Docs + class SpringBoot + class CleanHtmlFilter < Filter + def call + + css('pre').each do |node| + language = node.children.first['data-lang'] if node.children.first.name == 'code' + node['data-language'] = language + end + + doc + end + end + end +end diff --git a/lib/docs/filters/spring_boot/entries.rb b/lib/docs/filters/spring_boot/entries.rb new file mode 100644 index 00000000..f6809024 --- /dev/null +++ b/lib/docs/filters/spring_boot/entries.rb @@ -0,0 +1,21 @@ +module Docs + class SpringBoot + class EntriesFilter < Docs::EntriesFilter + + def get_type + slug.gsub('-', ' ').capitalize + end + + def additional_entries + css('td a[href], li a[href]').each_with_object [] do |node, entries| + next if root_page? + next if node['href'].start_with?('http') + name = node.content.strip + id = node['href'].remove('#') + next if id.blank? + entries << [name, id, get_type] + end + end + end + end +end diff --git a/lib/docs/scrapers/spring_boot.rb b/lib/docs/scrapers/spring_boot.rb new file mode 100644 index 00000000..9e9cbc33 --- /dev/null +++ b/lib/docs/scrapers/spring_boot.rb @@ -0,0 +1,30 @@ +module Docs + class SpringBoot < UrlScraper + self.name = 'Spring Boot' + self.slug = 'spring_boot' + self.type = 'simple' + self.root_path = "index.html" + self.links = { + home: 'https://spring.io/', + code: 'https://github.com/spring-projects/spring-boot' + } + + html_filters.push 'spring_boot/entries', 'spring_boot/clean_html' + + options[:skip_patterns] = [/legal/] + + options[:attribution] = <<-HTML + Copyright © 2002–2020 Pivotal, Inc. All Rights Reserved. + HTML + + version do + self.release = '2.4.0' + self.base_url = "https://docs.spring.io/spring-boot/docs/#{release}/reference/html/" + end + + def get_latest_version(opts) + get_latest_github_release('spring-projects', 'spring-boot', opts) + end + + end +end diff --git a/public/icons/docs/spring_boot/16.png b/public/icons/docs/spring_boot/16.png new file mode 100644 index 00000000..8668b904 Binary files /dev/null and b/public/icons/docs/spring_boot/16.png differ diff --git a/public/icons/docs/spring_boot/16@2x.png b/public/icons/docs/spring_boot/16@2x.png new file mode 100644 index 00000000..cfaf4d83 Binary files /dev/null and b/public/icons/docs/spring_boot/16@2x.png differ diff --git a/public/icons/docs/spring_boot/SOURCE b/public/icons/docs/spring_boot/SOURCE new file mode 100644 index 00000000..eb93f3d7 --- /dev/null +++ b/public/icons/docs/spring_boot/SOURCE @@ -0,0 +1 @@ +https://spring.io/trademarks