dom.rb 3.0 KB

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