1
0

ember.rb 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. module Docs
  2. class Ember < UrlScraper
  3. include MultipleBaseUrls
  4. self.name = 'Ember.js'
  5. self.slug = 'ember'
  6. self.type = 'ember'
  7. self.release = '2.15.0'
  8. self.base_urls = [
  9. 'https://guides.emberjs.com/v2.15.0/',
  10. 'https://emberjs.com/api/ember/2.15/',
  11. 'https://emberjs.com/api/ember-data/2.14/'
  12. ]
  13. self.links = {
  14. home: 'https://emberjs.com/',
  15. code: 'https://github.com/emberjs/ember.js'
  16. }
  17. html_filters.push 'ember/entries', 'ember/clean_html'
  18. options[:trailing_slash] = false
  19. options[:container] = ->(filter) do
  20. if filter.base_url.path.start_with?('/api')
  21. 'main article'
  22. else
  23. 'main'
  24. end
  25. end
  26. options[:fix_urls] = ->(url) do
  27. url.sub! '?anchor=', '#'
  28. url.sub! %r{/methods/[^?#/]+}, '/methods'
  29. url.sub! %r{/properties/[^?#/]+}, '/properties'
  30. url.sub! %r{/events/[^?#/]+}, '/events'
  31. url
  32. end
  33. options[:skip_patterns] = [
  34. /\._/,
  35. /contributing/,
  36. /classes\/String/,
  37. /namespaces\/Ember/,
  38. /namespaces\/DS/
  39. ]
  40. options[:attribution] = <<-HTML
  41. &copy; 2017 Yehuda Katz, Tom Dale and Ember.js contributors<br>
  42. Licensed under the MIT License.
  43. HTML
  44. def initial_urls
  45. %w(
  46. https://guides.emberjs.com/v2.15.0/
  47. https://emberjs.com/api/ember/2.15/classes/Ember
  48. https://emberjs.com/api/ember-data/2.14/classes/DS
  49. )
  50. end
  51. def get_latest_version(opts)
  52. doc = fetch_doc('https://emberjs.com/api/ember/release', opts)
  53. doc.at_css('.sidebar > .select-container .ember-power-select-selected-item').content.strip
  54. end
  55. end
  56. end