1
0

dom.rb 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. module Docs
  2. class Dom < Mdn
  3. self.name = 'DOM'
  4. self.base_url = 'https://developer.mozilla.org/en-US/docs/Web/API'
  5. self.fix_redirections = true
  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. /IDBDatabaseException
  23. /IndexedDB_API/Using_JavaScript_Generators_in_Firefox
  24. /Notation
  25. /ProcessingInstruction
  26. /TypeInfo
  27. /window/getAttention
  28. /window/messageManager
  29. /window/updateCommands
  30. /window/pkcs11)
  31. options[:skip_patterns] = [
  32. /NS/,
  33. /XPC/,
  34. /moz/i,
  35. /gecko/i,
  36. /webkit/i,
  37. /gamepad/i,
  38. /UserData/,
  39. /Bluetooth/,
  40. /FMRadio/i,
  41. /XDomainRequest/i,
  42. /\A\/Camera/,
  43. /\A\/Data_Store_API/,
  44. /\A\/DataStore/,
  45. /\A\/DeviceStorage/,
  46. /\A\/DocumentTouch/,
  47. /\A\/document\/xml/,
  48. /\A\/XMLDocument/,
  49. /\A\/DOMCursor/,
  50. /\A\/DOMRequest/,
  51. /\A\/InstallTrigger/,
  52. /\A\/Entity/,
  53. /\A\/Settings/,
  54. /telephony/i,
  55. /\A\/NFC_API/,
  56. /\A\/Window\/\w+bar/i,
  57. /\A\/Apps/,
  58. /\A\/Contact/,
  59. /\A\/L10n/,
  60. /\A\/Permission/]
  61. options[:fix_urls] = ->(url) do
  62. return if url.include?('_') || url.include?('?')
  63. url.sub! 'https://developer.mozilla.org/en-US/docs/DOM/', "#{Dom.base_url}/"
  64. url.sub! 'https://developer.mozilla.org/en/DOM/', "#{Dom.base_url}/"
  65. url.sub! "#{Dom.base_url}/Console", "#{Dom.base_url}/console"
  66. url.sub! "#{Dom.base_url}/Document\/", "#{Dom.base_url}/document\/"
  67. url.sub! "#{Dom.base_url}/Element", "#{Dom.base_url}/element"
  68. url.sub! "#{Dom.base_url}/History", "#{Dom.base_url}/history"
  69. url.sub! "#{Dom.base_url}/Location", "#{Dom.base_url}/location"
  70. url.sub! "#{Dom.base_url}/Navigator", "#{Dom.base_url}/navigator"
  71. url.sub! "#{Dom.base_url}/Screen", "#{Dom.base_url}/screen"
  72. url.sub! "#{Dom.base_url}/Window\/", "#{Dom.base_url}/window\/"
  73. url.sub! "#{Dom.base_url}/notification", "#{Dom.base_url}/Notification"
  74. url.sub! "#{Dom.base_url}/range", "#{Dom.base_url}/Range"
  75. url.sub! "#{Dom.base_url}/event", "#{Dom.base_url}/Event"
  76. url
  77. end
  78. end
  79. end