| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # frozen_string_literal: true
- module Docs
- class Ember < UrlScraper
- include MultipleBaseUrls
- self.name = 'Ember.js'
- self.slug = 'ember'
- self.type = 'ember'
- self.links = {
- home: 'https://emberjs.com/',
- code: 'https://github.com/emberjs/ember.js'
- }
- html_filters.push 'ember/entries', 'ember/clean_html'
- options[:trailing_slash] = false
- options[:container] = ->(filter) do
- if filter.base_url.host.start_with?('api')
- 'main'
- else
- 'main article'
- end
- end
- options[:fix_urls] = ->(url) do
- url.sub! '?anchor=', '#'
- url.sub! %r{/methods/[^?#/]+}, '/methods'
- url.sub! %r{/properties/[^?#/]+}, '/properties'
- url.sub! %r{/events/[^?#/]+}, '/events'
- url
- end
- options[:skip_patterns] = [
- /\._/,
- /contributing/,
- /tutorial/,
- /js-primer/,
- /in-depth-topics$/,
- /managing-dependencies$/
- ]
- options[:attribution] = <<-HTML
- © 2022 Yehuda Katz, Tom Dale and Ember.js contributors<br>
- Licensed under the MIT License.
- HTML
- options[:decode_and_clean_paths] = true # handle paths like @ember/application
- version '4' do
- self.release = '4.9.0'
- self.base_urls = %w[
- https://guides.emberjs.com/v4.9.0/
- https://api.emberjs.com/ember/4.9/
- https://api.emberjs.com/ember-data/4.9/
- ]
- end
- version '3' do
- self.release = '3.28.0'
- self.base_urls = %w[
- https://guides.emberjs.com/v3.28.0/
- https://api.emberjs.com/ember/3.28/
- https://api.emberjs.com/ember-data/3.28/
- ]
- end
- version '2' do
- self.release = '2.18.0'
- self.base_urls = %w[
- https://guides.emberjs.com/v2.18.0/
- https://api.emberjs.com/ember/2.18/
- https://api.emberjs.com/ember-data/2.18/
- ]
- options[:skip_patterns].push(/handlebars-basics$/)
- end
- def get_latest_version(opts)
- doc = fetch_doc('https://api.emberjs.com/ember/release', opts)
- doc.at_css('.sidebar > .select-container .ember-power-select-selected-item').content.strip
- end
- end
- end
|