dom.rb 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. module Docs
  2. class Dom < Mdn
  3. prepend FixInternalUrlsBehavior
  4. prepend FixRedirectionsBehavior
  5. self.name = 'DOM'
  6. self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/API'
  7. html_filters.push 'dom/clean_html', 'dom/entries', 'title'
  8. options[:mdn_tag] = 'XSLT_Reference'
  9. options[:root_title] = 'DOM'
  10. options[:skip] = %w(
  11. /Reference
  12. /Index
  13. /Document_Object_Model
  14. /document/createProcessingInstruction
  15. /document/documentURIObject
  16. /document/loadOverlay
  17. /document/tooltipNode
  18. /Document/cookie/Simple_document.cookie_framework
  19. /DOMErrorHandler
  20. /DOMLocator
  21. /DOMObject
  22. /DOMStringList
  23. /Event/Comparison_of_Event_Targets
  24. /Format
  25. /IDBDatabaseException
  26. /IndexedDB_API/Using_JavaScript_Generators_in_Firefox
  27. /Notation
  28. /ProcessingInstruction
  29. /TypeInfo
  30. /window/getAttention
  31. /window/messageManager
  32. /window/updateCommands
  33. /window/pkcs11
  34. /OES_texture_float)
  35. options[:skip_patterns] = [
  36. /NS/,
  37. /XPC/,
  38. /moz/i,
  39. /gecko/i,
  40. /webkit/i,
  41. /gamepad/i,
  42. /UserData/,
  43. /Bluetooth/,
  44. /FMRadio/i,
  45. /XDomainRequest/i,
  46. /\A\/Camera/,
  47. /\A\/Data_Store_API/,
  48. /\A\/DataStore/,
  49. /\A\/DeviceStorage/,
  50. /\A\/DocumentTouch/,
  51. /\A\/document\/xml/,
  52. /\A\/XMLDocument/,
  53. /\A\/DOMCursor/,
  54. /\A\/DOMRequest/,
  55. /\A\/InstallTrigger/,
  56. /\A\/Entity/,
  57. /\A\/Settings/,
  58. /telephony/i,
  59. /\A\/NFC_API/,
  60. /\A\/Window\/\w+bar/i,
  61. /\A\/Apps/,
  62. /\A\/Contact/,
  63. /\A\/L10n/,
  64. /\A\/Permission/]
  65. options[:fix_urls] = ->(url) do
  66. return if url.include?('_') || url.include?('?')
  67. url.sub! 'https://developer.mozilla.org/en-US/docs/DOM/', "#{Dom.base_url}/"
  68. url.sub! 'https://developer.mozilla.org/en/DOM/', "#{Dom.base_url}/"
  69. url.sub! 'https://developer.mozilla.org/Web/API/', "#{Dom.base_url}/"
  70. url.sub! "#{Dom.base_url}/Console", "#{Dom.base_url}/console"
  71. url.sub! "#{Dom.base_url}/Document\/", "#{Dom.base_url}/document\/"
  72. url.sub! "#{Dom.base_url}/Element", "#{Dom.base_url}/element"
  73. url.sub! "#{Dom.base_url}/History", "#{Dom.base_url}/history"
  74. url.sub! "#{Dom.base_url}/Location", "#{Dom.base_url}/location"
  75. url.sub! "#{Dom.base_url}/Navigator", "#{Dom.base_url}/navigator"
  76. url.sub! "#{Dom.base_url}/Screen", "#{Dom.base_url}/screen"
  77. url.sub! "#{Dom.base_url}/Window\/", "#{Dom.base_url}/window\/"
  78. url.sub! "#{Dom.base_url}/notification", "#{Dom.base_url}/Notification"
  79. url.sub! "#{Dom.base_url}/range", "#{Dom.base_url}/Range"
  80. url.sub! "#{Dom.base_url}/event", "#{Dom.base_url}/Event"
  81. url.sub! '/en/DOM/Manipulating_the_browser_history', "/en-US/docs/Web/API/History_API"
  82. url
  83. end
  84. end
  85. end