1
0

perl.rb 1.9 KB

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