diff --git a/lib/docs/filters/qunit/clean_html.rb b/lib/docs/filters/qunit/clean_html.rb new file mode 100644 index 00000000..c85daaf8 --- /dev/null +++ b/lib/docs/filters/qunit/clean_html.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Docs + class Qunit + class CleanHtmlFilter < Filter + def call + css('.sidebar').remove + doc + end + end + end +end diff --git a/lib/docs/filters/qunit/entries.rb b/lib/docs/filters/qunit/entries.rb new file mode 100644 index 00000000..43de1c5a --- /dev/null +++ b/lib/docs/filters/qunit/entries.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Docs + class Qunit + class EntriesFilter < Docs::EntriesFilter + TYPE_MAPPING = { + 'QUnit' => '1. Main methods', + 'assert' => '2. Assertions', + 'callbacks' => '3. Callback events', + 'config' => '4. Configuration', + 'extension' => '5. Extension interface' + } + def get_name + at_css('h1').content + end + + def get_type + main, *rest = *slug.split('/') + TYPE_MAPPING[main] + end + end + end +end diff --git a/lib/docs/scrapers/qunit.rb b/lib/docs/scrapers/qunit.rb new file mode 100644 index 00000000..f7cc13e1 --- /dev/null +++ b/lib/docs/scrapers/qunit.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Docs + class Qunit < UrlScraper + self.name = 'QUnit' + self.type = 'qunit' + self.release = '2.19.3' + self.base_url = 'https://api.qunitjs.com/' + self.root_path = '/' + self.links = { + home: 'https://qunitjs.com/', + code: 'https://github.com/qunitjs/qunit' + } + + html_filters.push 'qunit/entries', 'qunit/clean_html' + + options[:trailing_slash] = false + + options[:container] = '.main' + options[:skip_patterns] = [ + /deprecated/, + /^QUnit$/, + /^assert$/, + /^callbacks$/, + /^async$/, + /^config$/, + /^extension$/, + ] + + options[:attribution] = 'Copyright OpenJS Foundation and contributors.' + end +end diff --git a/public/icons/docs/qunit/16.png b/public/icons/docs/qunit/16.png new file mode 100644 index 00000000..4d7fdb41 Binary files /dev/null and b/public/icons/docs/qunit/16.png differ diff --git a/public/icons/docs/qunit/16@2x.png b/public/icons/docs/qunit/16@2x.png new file mode 100644 index 00000000..b9ae2d2f Binary files /dev/null and b/public/icons/docs/qunit/16@2x.png differ diff --git a/public/icons/docs/qunit/SOURCE b/public/icons/docs/qunit/SOURCE new file mode 100644 index 00000000..560740c2 --- /dev/null +++ b/public/icons/docs/qunit/SOURCE @@ -0,0 +1 @@ +https://raw.githubusercontent.com/qunitjs/qunitjs.com/main/img/logo.svg