wordpress.rb 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. module Docs
  2. class Wordpress < UrlScraper
  3. self.name = 'WordPress'
  4. self.type = 'wordpress'
  5. self.release = '5.7'
  6. self.base_url = 'https://developer.wordpress.org/reference/'
  7. self.initial_paths = %w(
  8. functions/
  9. hooks/
  10. classes/
  11. )
  12. self.links = {
  13. home: 'https://wordpress.org/',
  14. code: 'https://github.com/WordPress/WordPress'
  15. }
  16. html_filters.push 'wordpress/entries', 'wordpress/clean_html'
  17. options[:container] = '#content-area'
  18. options[:trailing_slash] = false
  19. options[:only_patterns] = [
  20. /\Afunctions\//,
  21. /\Ahooks\//,
  22. /\Aclasses\//
  23. ]
  24. options[:skip_patterns] = [
  25. /\Afunctions\/page\/\d+/,
  26. /\Ahooks\/page\/\d+/,
  27. /\Aclasses\/page\/\d+/
  28. ]
  29. options[:attribution] = <<-HTML
  30. &copy; 2003&ndash;2021 WordPress Foundation<br>
  31. Licensed under the GNU GPLv2+ License.
  32. HTML
  33. def get_latest_version(opts)
  34. doc = fetch_doc('https://wordpress.org/download/releases/', opts)
  35. doc.at_css('.releases.latest td').content
  36. end
  37. end
  38. end