1
0

javascript.rb 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. self.links = {
  9. home: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript',
  10. code: 'https://github.com/mdn/content/tree/main/files/en-us/web/javascript'
  11. }
  12. html_filters.push 'javascript/clean_html', 'javascript/entries'
  13. options[:root_title] = 'JavaScript'
  14. # Don't want
  15. options[:skip] = %w(
  16. /Methods_Index
  17. /Properties_Index
  18. /Operators/Legacy_generator_function
  19. /Statements/Legacy_generator_function)
  20. # Duplicates
  21. options[:skip].concat %w(
  22. /Global_Objects
  23. /Operators
  24. /Statements)
  25. options[:skip_patterns] = [
  26. /additional_examples/i,
  27. /noSuchMethod/i,
  28. /Deprecated_and_obsolete_features/
  29. ]
  30. options[:replace_paths] = {
  31. '/template_strings' => '/Template_literals',
  32. '/Functions_and_function_scope/Strict_mode' => '/Strict_mode'
  33. }
  34. options[:fix_urls] = ->(url) do
  35. url.sub! 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference', Javascript.base_url
  36. url.sub! 'https://developer.mozilla.org/en/JavaScript/Reference', Javascript.base_url
  37. url.sub! 'https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference', Javascript.base_url
  38. url.sub! 'https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference', Javascript.base_url
  39. url.sub! '/Operators/Special/', '/Operators/'
  40. url.sub! 'Destructing_assignment', 'Destructuring_assignment'
  41. url.sub! '/Functions_and_function_scope', '/Functions'
  42. url.sub! 'Array.prototype.values()', 'values'
  43. url.sub! '%2A', '*'
  44. url.sub! '%40', '@'
  45. url
  46. end
  47. end
  48. end