node.rb 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. module Docs
  2. class Node < UrlScraper
  3. self.name = 'Node.js'
  4. self.slug = 'node'
  5. self.type = 'node'
  6. self.links = {
  7. home: 'https://nodejs.org/',
  8. code: 'https://github.com/nodejs/node'
  9. }
  10. html_filters.push 'node/clean_html', 'node/entries', 'title'
  11. options[:title] = false
  12. options[:root_title] = 'Node.js'
  13. options[:container] = '#apicontent'
  14. options[:skip] = %w(index.html all.html documentation.html synopsis.html)
  15. # options[:only] = ['addons.html']
  16. options[:attribution] = <<-HTML
  17. &copy; Joyent, Inc. and other Node contributors<br>
  18. Licensed under the MIT License.<br>
  19. Node.js is a trademark of Joyent, Inc. and is used with its permission.<br>
  20. We are not endorsed by or affiliated with Joyent.
  21. HTML
  22. version do
  23. self.release = '25.0.0'
  24. self.base_url = 'https://nodejs.org/api/'
  25. end
  26. version '24 LTS' do
  27. self.release = '24.10.0'
  28. self.base_url = 'https://nodejs.org/dist/latest-v24.x/docs/api/'
  29. end
  30. version '22 LTS' do
  31. self.release = '22.20.0'
  32. self.base_url = 'https://nodejs.org/dist/latest-v22.x/docs/api/'
  33. end
  34. version '20 LTS' do
  35. self.release = '20.19.5'
  36. self.base_url = 'https://nodejs.org/dist/latest-v20.x/docs/api/'
  37. end
  38. version '18 LTS' do
  39. self.release = '18.18.0'
  40. self.base_url = 'https://nodejs.org/dist/latest-v18.x/docs/api/'
  41. end
  42. version '16 LTS' do
  43. self.release = '16.13.2'
  44. self.base_url = 'https://nodejs.org/dist/latest-v16.x/docs/api/'
  45. end
  46. version '14 LTS' do
  47. self.release = '14.17.0'
  48. self.base_url = 'https://nodejs.org/dist/latest-v14.x/docs/api/'
  49. end
  50. version '12 LTS' do
  51. self.release = '12.22.1'
  52. self.base_url = 'https://nodejs.org/dist/latest-v12.x/docs/api/'
  53. html_filters.replace('node/entries', 'node/old_entries')
  54. end
  55. version '10 LTS' do
  56. self.release = '10.24.1'
  57. self.base_url = 'https://nodejs.org/dist/latest-v10.x/docs/api/'
  58. html_filters.replace('node/entries', 'node/old_entries')
  59. end
  60. version '8 LTS' do
  61. self.release = '8.17.0'
  62. self.base_url = 'https://nodejs.org/dist/latest-v8.x/docs/api/'
  63. html_filters.replace('node/entries', 'node/old_entries')
  64. end
  65. version '6 LTS' do
  66. self.release = '6.17.1'
  67. self.base_url = 'https://nodejs.org/dist/latest-v6.x/docs/api/'
  68. html_filters.replace('node/entries', 'node/old_entries')
  69. end
  70. version '4 LTS' do
  71. self.release = '4.9.1'
  72. self.base_url = 'https://nodejs.org/dist/latest-v4.x/docs/api/'
  73. html_filters.replace('node/entries', 'node/old_entries')
  74. end
  75. def get_latest_version(opts)
  76. tags = get_github_tags('nodejs', 'node', opts)
  77. tags[0]['name'][1..-1]
  78. end
  79. end
  80. end