diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index 37d14eea..5e9dc6cc 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/assets/stylesheets/application.css.scss b/assets/stylesheets/application.css.scss index 03c588a8..4374e60c 100644 --- a/assets/stylesheets/application.css.scss +++ b/assets/stylesheets/application.css.scss @@ -45,6 +45,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 00000000..aa1108d2 --- /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 00000000..9b93b313 --- /dev/null +++ b/lib/docs/filters/cypress/clean_html.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +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('.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 + end +end diff --git a/lib/docs/filters/cypress/entries.rb b/lib/docs/filters/cypress/entries.rb new file mode 100644 index 00000000..664f4da7 --- /dev/null +++ b/lib/docs/filters/cypress/entries.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Docs + class Cypress + class EntriesFilter < Docs::EntriesFilter + SECTIONS = %w[ + commands + core-concepts + cypress-api + events + 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 + end + end +end diff --git a/lib/docs/scrapers/cypress.rb b/lib/docs/scrapers/cypress.rb new file mode 100644 index 00000000..56380630 --- /dev/null +++ b/lib/docs/scrapers/cypress.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Docs + class Cypress < UrlScraper + 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/entries', 'cypress/clean_html' + + options[:container] = '#content' + options[:max_image_size] = 300_000 + options[:include_default_entry] = true + + options[:skip_patterns] = [/examples\//] + options[:skip_link] = ->(link) { + href = link.attr(:href) + href.nil? ? true : EntriesFilter::SECTIONS.none? { |section| href.match?("/#{section}/") } + } + + options[:attribution] = <<-HTML + © 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 diff --git a/public/icons/docs/cypress/16.png b/public/icons/docs/cypress/16.png new file mode 100644 index 00000000..4da1b400 Binary files /dev/null and b/public/icons/docs/cypress/16.png differ diff --git a/public/icons/docs/cypress/16@2x.png b/public/icons/docs/cypress/16@2x.png new file mode 100644 index 00000000..a327f375 Binary files /dev/null and b/public/icons/docs/cypress/16@2x.png differ diff --git a/public/icons/docs/cypress/SOURCE.ico b/public/icons/docs/cypress/SOURCE.ico new file mode 100644 index 00000000..45749a77 Binary files /dev/null and b/public/icons/docs/cypress/SOURCE.ico differ