1
0

meteor.rb 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. module Docs
  2. class Meteor < UrlScraper
  3. include MultipleBaseUrls
  4. self.type = 'meteor'
  5. self.root_path = 'index.html'
  6. self.links = {
  7. home: 'https://www.meteor.com/',
  8. code: 'https://github.com/meteor/meteor/'
  9. }
  10. html_filters.push 'meteor/entries', 'meteor/clean_html'
  11. options[:skip_patterns] = [/\Av\d/]
  12. options[:skip] = %w(
  13. CONTRIBUTING.html
  14. CHANGELOG.html
  15. using-packages.html
  16. writing-packages.html
  17. )
  18. options[:fix_urls] = ->(url) {
  19. url.sub! %r{\Ahttps://docs\.meteor\.com/(v[\d\.]*\/)?api/blaze\.html}, 'http://blazejs.org/api/blaze.html'
  20. url.sub! %r{\Ahttps://docs\.meteor\.com/(v[\d\.]*\/)?api/templates\.html}, 'http://blazejs.org/api/templates.html'
  21. url
  22. }
  23. options[:attribution] = <<-HTML
  24. &copy; 2011&ndash;2017 Meteor Development Group, Inc.<br>
  25. Licensed under the MIT License.
  26. HTML
  27. version '1.5' do
  28. self.release = '1.5.2'
  29. self.base_urls = ['https://docs.meteor.com/', 'https://guide.meteor.com/', 'http://blazejs.org/']
  30. end
  31. version '1.4' do
  32. self.release = '1.4.4'
  33. self.base_urls = ['https://guide.meteor.com/', "https://docs.meteor.com/v#{self.release}/", 'http://blazejs.org/']
  34. end
  35. version '1.3' do
  36. self.release = '1.3.5'
  37. self.base_urls = ['https://guide.meteor.com/v1.3/', "https://docs.meteor.com/v#{self.release}/"]
  38. options[:fix_urls] = nil
  39. end
  40. def get_latest_version(opts)
  41. doc = fetch_doc('https://docs.meteor.com/#/full/', opts)
  42. doc.at_css('select.version-select > option').content
  43. end
  44. end
  45. end