scala.rb 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. module Docs
  2. class Scala < FileScraper
  3. self.name = 'Scala'
  4. self.type = 'scala'
  5. self.links = {
  6. home: 'http://www.scala-lang.org/',
  7. code: 'https://github.com/scala/scala'
  8. }
  9. options[:container] = '#content-container'
  10. options[:attribution] = <<-HTML
  11. &copy; 2002-2019 EPFL, with contributions from Lightbend.
  12. HTML
  13. # https://downloads.lightbend.com/scala/2.13.0/scala-docs-2.13.0.zip
  14. # Extract api/scala-library into docs/scala~2.13_library
  15. version '2.13 Library' do
  16. self.release = '2.13.0'
  17. self.base_url = 'https://www.scala-lang.org/api/2.13.0/'
  18. self.root_path = 'index.html'
  19. html_filters.push 'scala/entries', 'scala/clean_html'
  20. end
  21. # https://downloads.lightbend.com/scala/2.13.0/scala-docs-2.13.0.zip
  22. # Extract api/scala-reflect into docs/scala~2.13_reflection
  23. version '2.13 Reflection' do
  24. self.release = '2.13.0'
  25. self.base_url = 'https://www.scala-lang.org/api/2.13.0/scala-reflect/'
  26. self.root_path = 'index.html'
  27. html_filters.push 'scala/entries', 'scala/clean_html'
  28. end
  29. # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip
  30. # Extract api/scala-library into docs/scala~2.12_library
  31. version '2.12 Library' do
  32. self.release = '2.12.6'
  33. self.base_url = 'https://www.scala-lang.org/api/2.12.6/'
  34. self.root_path = 'index.html'
  35. html_filters.push 'scala/entries', 'scala/clean_html'
  36. end
  37. # https://downloads.lightbend.com/scala/2.12.6/scala-docs-2.12.6.zip
  38. # Extract api/scala-reflect into docs/scala~2.12_reflection
  39. version '2.12 Reflection' do
  40. self.release = '2.12.6'
  41. self.base_url = 'https://www.scala-lang.org/api/2.12.6/scala-reflect/'
  42. self.root_path = 'index.html'
  43. html_filters.push 'scala/entries', 'scala/clean_html'
  44. end
  45. def get_latest_version(opts)
  46. doc = fetch_doc('https://www.scala-lang.org/api/current/', opts)
  47. doc.at_css('#doc-version').content
  48. end
  49. end
  50. end