javascript.rb 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. module Docs
  2. class Javascript < Mdn
  3. prepend FixInternalUrlsBehavior
  4. prepend FixRedirectionsBehavior
  5. # release = '2023-01-06'
  6. self.name = 'JavaScript'
  7. self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference'
  8. html_filters.push 'javascript/clean_html', 'javascript/entries'
  9. options[:root_title] = 'JavaScript'
  10. # Duplicates
  11. options[:skip].concat %w(
  12. /Global_Objects
  13. /Operators
  14. /Statements)
  15. options[:skip_patterns] = [
  16. /additional_examples/i,
  17. /noSuchMethod/i,
  18. /Deprecated_and_obsolete_features/
  19. ]
  20. options[:replace_paths] = {
  21. '/template_strings' => '/Template_literals',
  22. '/Functions_and_function_scope/Strict_mode' => '/Strict_mode'
  23. }
  24. options[:fix_urls] = ->(url) do
  25. url.sub! 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference', Javascript.base_url
  26. url.sub! 'https://developer.mozilla.org/en/JavaScript/Reference', Javascript.base_url
  27. url.sub! 'https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference', Javascript.base_url
  28. url.sub! 'https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference', Javascript.base_url
  29. url.sub! '/Operators/Special/', '/Operators/'
  30. url.sub! 'Destructing_assignment', 'Destructuring_assignment'
  31. url.sub! '/Functions_and_function_scope', '/Functions'
  32. url.sub! 'Array.prototype.values()', 'values'
  33. url.sub! '%2A', '*'
  34. url.sub! '%40', '@'
  35. url
  36. end
  37. end
  38. end