1
0

perl.rb 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. module Docs
  2. class Perl < UrlScraper
  3. self.name = 'Perl'
  4. self.type = 'perl'
  5. self.initial_paths = ['modules.html', 'perlutil.html', 'perl.html']
  6. self.links = {
  7. home: 'https://www.perl.org/'
  8. }
  9. html_filters.push 'perl/pre_clean_html', 'perl/entries', 'perl/clean_html', 'title'
  10. options[:container] = '#perldocdiv'
  11. options[:skip] = %w(
  12. perlbook perlcommunity perlexperiment perlartistic perlgpl perlhist
  13. perlcn perljp perlko perltw
  14. perlboot perlbot perlrepository perltodo perltooc perltoot )
  15. options[:skip_patterns] = [/\Afunctions/, /\Avariables/, /\.pdf/, /delta/]
  16. options[:attribution] = <<-HTML
  17. &copy; 1993&ndash;2023 Larry Wall and others<br>
  18. Licensed under the GNU General Public License version 1 or later, or the Artistic License.<br>
  19. The Perl logo is a trademark of the Perl Foundation.
  20. HTML
  21. version '5.38' do
  22. self.release = '5.38.0'
  23. self.base_url = "https://perldoc.perl.org/#{release}/"
  24. end
  25. version '5.36' do
  26. self.release = '5.36.0'
  27. self.base_url = "https://perldoc.perl.org/#{release}/"
  28. end
  29. version '5.34' do
  30. self.release = '5.34.0'
  31. self.base_url = "https://perldoc.perl.org/#{release}/"
  32. end
  33. version '5.32' do
  34. self.release = '5.32.0'
  35. self.base_url = "https://perldoc.perl.org/#{release}/"
  36. end
  37. version '5.30' do
  38. self.release = '5.30.3'
  39. self.base_url = "https://perldoc.perl.org/#{release}/"
  40. end
  41. version '5.28' do
  42. self.release = '5.28.3'
  43. self.base_url = "https://perldoc.perl.org/#{release}/"
  44. end
  45. version '5.26' do
  46. self.release = '5.26.3'
  47. self.base_url = "https://perldoc.perl.org/#{release}/"
  48. end
  49. version '5.24' do
  50. self.release = '5.24.4'
  51. self.base_url = "https://perldoc.perl.org/#{release}/"
  52. end
  53. version '5.22' do
  54. self.release = '5.22.4'
  55. self.base_url = "https://perldoc.perl.org/#{release}/"
  56. end
  57. version '5.20' do
  58. self.release = '5.20.3'
  59. self.base_url = "https://perldoc.perl.org/#{release}/"
  60. end
  61. def get_latest_version(opts)
  62. doc = fetch_doc('https://perldoc.perl.org/', opts)
  63. doc.at_css('#dropdownlink-stable').content
  64. end
  65. end
  66. end