django.rb 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. module Docs
  2. class Django < FileScraper
  3. self.name = 'Django'
  4. self.type = 'sphinx'
  5. self.root_path = 'index.html'
  6. self.links = {
  7. home: 'https://www.djangoproject.com/',
  8. code: 'https://github.com/django/django'
  9. }
  10. html_filters.push 'django/entries', 'sphinx/clean_html', 'django/clean_html'
  11. text_filters.push 'django/fix_urls'
  12. options[:container] = '#bd'
  13. options[:skip] = %w(
  14. contents.html
  15. genindex.html
  16. py-modindex.html
  17. glossary.html
  18. search.html
  19. intro/whatsnext.html)
  20. options[:skip_patterns] = [
  21. /\Afaq\//,
  22. /\Ainternals\//,
  23. /\Amisc\//,
  24. /\Areleases\//,
  25. /\A_/,
  26. /flattened\-index\.html/]
  27. options[:attribution] = <<-HTML
  28. &copy; Django Software Foundation and individual contributors<br>
  29. Licensed under the BSD License.
  30. HTML
  31. version '4.1' do
  32. self.release = '4.1'
  33. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  34. end
  35. version '4.0' do
  36. self.release = '4.0'
  37. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  38. end
  39. version '3.2' do
  40. self.release = '3.2'
  41. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  42. end
  43. version '3.1' do
  44. self.release = '3.1.4'
  45. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  46. end
  47. version '3.0' do
  48. self.release = '3.0.11'
  49. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  50. end
  51. version '2.2' do
  52. self.release = '2.2.17'
  53. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  54. end
  55. version '2.1' do
  56. self.release = '2.1.15'
  57. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  58. end
  59. version '2.0' do
  60. self.release = '2.0.13'
  61. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  62. end
  63. version '1.11' do
  64. self.release = '1.11.29'
  65. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  66. end
  67. version '1.10' do
  68. self.release = '1.10.8'
  69. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  70. end
  71. version '1.9' do
  72. self.release = '1.9.13'
  73. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  74. end
  75. version '1.8' do
  76. self.release = '1.8.18'
  77. self.base_url = "https://docs.djangoproject.com/en/#{self.version}/"
  78. end
  79. def get_latest_version(opts)
  80. doc = fetch_doc('https://docs.djangoproject.com/', opts)
  81. doc.at_css('#doc-versions > li.current > span > strong').content
  82. end
  83. end
  84. end