1
0

numpy.rb 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. module Docs
  2. # Requires downloading the documents to local disk first.
  3. # Go to https://numpy.org/doc/, click "HTML+zip" to download
  4. # (example url: https://numpy.org/doc/2.2/numpy-html.zip),
  5. # then extract into "docs/numpy~#{version}/"
  6. class Numpy < FileScraper
  7. self.name = 'NumPy'
  8. self.type = 'sphinx'
  9. self.root_path = 'index.html'
  10. self.links = {
  11. home: 'https://www.numpy.org/',
  12. code: 'https://github.com/numpy/numpy'
  13. }
  14. html_filters.push 'numpy/entries', 'numpy/clean_html', 'sphinx/clean_html'
  15. # .main contains more than the page's content alone, but we need something
  16. # that includes the navigation bar as well in order to guess the type of
  17. # most pages.
  18. options[:container] = '.main'
  19. options[:skip_patterns] = [
  20. /.*(?<!\.html)\z/,
  21. /\Arelease\/.*-notes.html\Z/,
  22. /\Agenerated\/numpy\.chararray\.[\w\-]+.html\z/ # duplicate
  23. ]
  24. options[:attribution] = <<-HTML
  25. &copy; 2005&ndash;2024 NumPy Developers<br>
  26. Licensed under the 3-clause BSD License.
  27. HTML
  28. version '2.2' do
  29. self.release = '2.2'
  30. self.base_url = "https://numpy.org/doc/#{self.version}/"
  31. options[:container] = nil
  32. end
  33. version '2.1' do
  34. self.release = '2.1'
  35. self.base_url = "https://numpy.org/doc/#{self.version}/"
  36. options[:container] = nil
  37. end
  38. version '2.0' do
  39. self.release = '2.0.1'
  40. self.base_url = "https://numpy.org/doc/#{self.version}/"
  41. options[:container] = nil
  42. end
  43. version '1.23' do
  44. self.release = '1.23.0'
  45. self.base_url = "https://numpy.org/doc/#{self.version}/"
  46. options[:container] = nil
  47. end
  48. version '1.22' do
  49. self.release = '1.22.4'
  50. self.base_url = "https://numpy.org/doc/#{self.version}/"
  51. options[:container] = nil
  52. end
  53. version '1.21' do
  54. self.release = '1.21.6'
  55. self.base_url = "https://numpy.org/doc/#{self.version}/"
  56. options[:container] = nil
  57. end
  58. version '1.20' do
  59. self.release = '1.20.3'
  60. self.base_url = "https://numpy.org/doc/#{self.version}/"
  61. options[:container] = nil
  62. end
  63. version '1.19' do
  64. self.release = '1.19.0'
  65. self.base_url = "https://numpy.org/doc/#{self.version}/"
  66. end
  67. version '1.18' do
  68. self.release = '1.18.5'
  69. self.base_url = "https://numpy.org/doc/#{self.version}/"
  70. end
  71. version '1.17' do
  72. self.release = '1.17.0'
  73. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  74. end
  75. version '1.16' do
  76. self.release = '1.16.1'
  77. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  78. end
  79. version '1.15' do
  80. self.release = '1.15.4'
  81. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  82. end
  83. version '1.14' do
  84. self.release = '1.14.5'
  85. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  86. end
  87. version '1.13' do
  88. self.release = '1.13.0'
  89. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  90. end
  91. version '1.12' do
  92. self.release = '1.12.0'
  93. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  94. end
  95. version '1.11' do
  96. self.release = '1.11.0'
  97. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  98. end
  99. version '1.10' do
  100. self.release = '1.10.4'
  101. self.base_url = "https://docs.scipy.org/doc/numpy-#{self.release}/reference/"
  102. end
  103. def get_latest_version(opts)
  104. get_latest_github_release('numpy', 'numpy', opts)
  105. end
  106. end
  107. end