epuber 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +6 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +46 -0
  5. data/bin/epuber +10 -0
  6. data/epuber.gemspec +51 -0
  7. data/lib/epuber.rb +14 -0
  8. data/lib/epuber/book.rb +267 -0
  9. data/lib/epuber/book/contributor.rb +90 -0
  10. data/lib/epuber/book/file_request.rb +68 -0
  11. data/lib/epuber/book/target.rb +284 -0
  12. data/lib/epuber/book/toc_item.rb +130 -0
  13. data/lib/epuber/checker.rb +19 -0
  14. data/lib/epuber/checker/text_checker.rb +129 -0
  15. data/lib/epuber/checker_transformer_base.rb +71 -0
  16. data/lib/epuber/command.rb +65 -0
  17. data/lib/epuber/command/compile.rb +142 -0
  18. data/lib/epuber/command/init.rb +145 -0
  19. data/lib/epuber/command/server.rb +59 -0
  20. data/lib/epuber/compiler.rb +255 -0
  21. data/lib/epuber/compiler/compilation_context.rb +86 -0
  22. data/lib/epuber/compiler/file_finders/abstract.rb +270 -0
  23. data/lib/epuber/compiler/file_finders/imaginary.rb +167 -0
  24. data/lib/epuber/compiler/file_finders/normal.rb +22 -0
  25. data/lib/epuber/compiler/file_resolver.rb +316 -0
  26. data/lib/epuber/compiler/file_types/abstract_file.rb +119 -0
  27. data/lib/epuber/compiler/file_types/bade_file.rb +39 -0
  28. data/lib/epuber/compiler/file_types/container_xml_file.rb +26 -0
  29. data/lib/epuber/compiler/file_types/generated_file.rb +29 -0
  30. data/lib/epuber/compiler/file_types/ibooks_display_options_file.rb +31 -0
  31. data/lib/epuber/compiler/file_types/image_file.rb +42 -0
  32. data/lib/epuber/compiler/file_types/mime_type_file.rb +20 -0
  33. data/lib/epuber/compiler/file_types/nav_file.rb +42 -0
  34. data/lib/epuber/compiler/file_types/opf_file.rb +27 -0
  35. data/lib/epuber/compiler/file_types/source_file.rb +52 -0
  36. data/lib/epuber/compiler/file_types/static_file.rb +18 -0
  37. data/lib/epuber/compiler/file_types/stylus_file.rb +20 -0
  38. data/lib/epuber/compiler/file_types/xhtml_file.rb +102 -0
  39. data/lib/epuber/compiler/generator.rb +67 -0
  40. data/lib/epuber/compiler/meta_inf_generator.rb +41 -0
  41. data/lib/epuber/compiler/nav_generator.rb +201 -0
  42. data/lib/epuber/compiler/opf_generator.rb +284 -0
  43. data/lib/epuber/compiler/xhtml_processor.rb +254 -0
  44. data/lib/epuber/config.rb +133 -0
  45. data/lib/epuber/dsl/attribute.rb +248 -0
  46. data/lib/epuber/dsl/attribute_support.rb +130 -0
  47. data/lib/epuber/dsl/object.rb +145 -0
  48. data/lib/epuber/dsl/tree_object.rb +101 -0
  49. data/lib/epuber/helper.rb +19 -0
  50. data/lib/epuber/lockfile.rb +55 -0
  51. data/lib/epuber/plugin.rb +108 -0
  52. data/lib/epuber/ruby_extensions/match_data.rb +40 -0
  53. data/lib/epuber/ruby_extensions/thread.rb +13 -0
  54. data/lib/epuber/server.rb +614 -0
  55. data/lib/epuber/server/auto_refresh/auto_refresh.coffee +97 -0
  56. data/lib/epuber/server/auto_refresh/connector.coffee +125 -0
  57. data/lib/epuber/server/auto_refresh/protocol.coffee +41 -0
  58. data/lib/epuber/server/auto_refresh/reloader.coffee +261 -0
  59. data/lib/epuber/server/base.styl +3 -0
  60. data/lib/epuber/server/basic.styl +211 -0
  61. data/lib/epuber/server/book_content.styl +39 -0
  62. data/lib/epuber/server/default_cover.png +0 -0
  63. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Bold.ttf +0 -0
  64. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-BoldItalic.ttf +0 -0
  65. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Italic.ttf +0 -0
  66. data/lib/epuber/server/fonts/AvenirNext/AvenirNext-Regular.ttf +0 -0
  67. data/lib/epuber/server/handlers.rb +67 -0
  68. data/lib/epuber/server/keyboard_control.coffee +6 -0
  69. data/lib/epuber/server/pages/book.bade +75 -0
  70. data/lib/epuber/server/pages/common.bade +59 -0
  71. data/lib/epuber/server/pages/files.bade +17 -0
  72. data/lib/epuber/server/pages/toc.bade +29 -0
  73. data/lib/epuber/server/support.coffee +10 -0
  74. data/lib/epuber/templates/template.bookspec +143 -0
  75. data/lib/epuber/third_party/bower.rb +22 -0
  76. data/lib/epuber/third_party/bower/bower.json +10 -0
  77. data/lib/epuber/third_party/bower/bower_components/cookies-js/bower.json +10 -0
  78. data/lib/epuber/third_party/bower/bower_components/cookies-js/dist/cookies.d.ts +33 -0
  79. data/lib/epuber/third_party/bower/bower_components/cookies-js/dist/cookies.js +173 -0
  80. data/lib/epuber/third_party/bower/bower_components/cookies-js/dist/cookies.min.js +6 -0
  81. data/lib/epuber/third_party/bower/bower_components/jquery/MIT-LICENSE.txt +21 -0
  82. data/lib/epuber/third_party/bower/bower_components/jquery/bower.json +28 -0
  83. data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.js +9210 -0
  84. data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.min.js +5 -0
  85. data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.min.map +1 -0
  86. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax.js +786 -0
  87. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/jsonp.js +89 -0
  88. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/load.js +75 -0
  89. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  90. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/parseXML.js +28 -0
  91. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/script.js +64 -0
  92. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  93. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  94. data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/xhr.js +136 -0
  95. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes.js +11 -0
  96. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/attr.js +141 -0
  97. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/classes.js +158 -0
  98. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/prop.js +94 -0
  99. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/support.js +35 -0
  100. data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/val.js +161 -0
  101. data/lib/epuber/third_party/bower/bower_components/jquery/src/callbacks.js +205 -0
  102. data/lib/epuber/third_party/bower/bower_components/jquery/src/core.js +502 -0
  103. data/lib/epuber/third_party/bower/bower_components/jquery/src/core/access.js +60 -0
  104. data/lib/epuber/third_party/bower/bower_components/jquery/src/core/init.js +123 -0
  105. data/lib/epuber/third_party/bower/bower_components/jquery/src/core/parseHTML.js +39 -0
  106. data/lib/epuber/third_party/bower/bower_components/jquery/src/core/ready.js +97 -0
  107. data/lib/epuber/third_party/bower/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  108. data/lib/epuber/third_party/bower/bower_components/jquery/src/css.js +450 -0
  109. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  110. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/curCSS.js +57 -0
  111. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  112. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  113. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/support.js +96 -0
  114. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/swap.js +28 -0
  115. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  116. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/getStyles.js +12 -0
  117. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/isHidden.js +13 -0
  118. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/rmargin.js +3 -0
  119. data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  120. data/lib/epuber/third_party/bower/bower_components/jquery/src/data.js +178 -0
  121. data/lib/epuber/third_party/bower/bower_components/jquery/src/data/Data.js +181 -0
  122. data/lib/epuber/third_party/bower/bower_components/jquery/src/data/accepts.js +20 -0
  123. data/lib/epuber/third_party/bower/bower_components/jquery/src/data/var/data_priv.js +5 -0
  124. data/lib/epuber/third_party/bower/bower_components/jquery/src/data/var/data_user.js +5 -0
  125. data/lib/epuber/third_party/bower/bower_components/jquery/src/deferred.js +149 -0
  126. data/lib/epuber/third_party/bower/bower_components/jquery/src/deprecated.js +13 -0
  127. data/lib/epuber/third_party/bower/bower_components/jquery/src/dimensions.js +50 -0
  128. data/lib/epuber/third_party/bower/bower_components/jquery/src/effects.js +648 -0
  129. data/lib/epuber/third_party/bower/bower_components/jquery/src/effects/Tween.js +114 -0
  130. data/lib/epuber/third_party/bower/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  131. data/lib/epuber/third_party/bower/bower_components/jquery/src/event.js +868 -0
  132. data/lib/epuber/third_party/bower/bower_components/jquery/src/event/ajax.js +13 -0
  133. data/lib/epuber/third_party/bower/bower_components/jquery/src/event/alias.js +39 -0
  134. data/lib/epuber/third_party/bower/bower_components/jquery/src/event/support.js +9 -0
  135. data/lib/epuber/third_party/bower/bower_components/jquery/src/exports/amd.js +24 -0
  136. data/lib/epuber/third_party/bower/bower_components/jquery/src/exports/global.js +32 -0
  137. data/lib/epuber/third_party/bower/bower_components/jquery/src/intro.js +44 -0
  138. data/lib/epuber/third_party/bower/bower_components/jquery/src/jquery.js +37 -0
  139. data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation.js +580 -0
  140. data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  141. data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/support.js +32 -0
  142. data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  143. data/lib/epuber/third_party/bower/bower_components/jquery/src/offset.js +207 -0
  144. data/lib/epuber/third_party/bower/bower_components/jquery/src/outro.js +1 -0
  145. data/lib/epuber/third_party/bower/bower_components/jquery/src/queue.js +142 -0
  146. data/lib/epuber/third_party/bower/bower_components/jquery/src/queue/delay.js +22 -0
  147. data/lib/epuber/third_party/bower/bower_components/jquery/src/selector-native.js +172 -0
  148. data/lib/epuber/third_party/bower/bower_components/jquery/src/selector-sizzle.js +14 -0
  149. data/lib/epuber/third_party/bower/bower_components/jquery/src/selector.js +1 -0
  150. data/lib/epuber/third_party/bower/bower_components/jquery/src/serialize.js +111 -0
  151. data/lib/epuber/third_party/bower/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  152. data/lib/epuber/third_party/bower/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  153. data/lib/epuber/third_party/bower/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  154. data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing.js +199 -0
  155. data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/findFilter.js +100 -0
  156. data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  157. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/arr.js +3 -0
  158. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/class2type.js +4 -0
  159. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/concat.js +5 -0
  160. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/hasOwn.js +5 -0
  161. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/indexOf.js +5 -0
  162. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/pnum.js +3 -0
  163. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/push.js +5 -0
  164. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/rnotwhite.js +3 -0
  165. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/slice.js +5 -0
  166. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/strundefined.js +3 -0
  167. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/support.js +4 -0
  168. data/lib/epuber/third_party/bower/bower_components/jquery/src/var/toString.js +5 -0
  169. data/lib/epuber/third_party/bower/bower_components/jquery/src/wrap.js +79 -0
  170. data/lib/epuber/third_party/bower/bower_components/keymaster/MIT-LICENSE +20 -0
  171. data/lib/epuber/third_party/bower/bower_components/keymaster/Makefile +4 -0
  172. data/lib/epuber/third_party/bower/bower_components/keymaster/README.markdown +212 -0
  173. data/lib/epuber/third_party/bower/bower_components/keymaster/bower.json +27 -0
  174. data/lib/epuber/third_party/bower/bower_components/keymaster/keymaster.js +296 -0
  175. data/lib/epuber/third_party/bower/bower_components/keymaster/package.json +11 -0
  176. data/lib/epuber/third_party/bower/bower_components/keymaster/test.html +93 -0
  177. data/lib/epuber/third_party/bower/bower_components/spin.js/LICENSE.txt +21 -0
  178. data/lib/epuber/third_party/bower/bower_components/spin.js/README.md +21 -0
  179. data/lib/epuber/third_party/bower/bower_components/spin.js/bower.json +18 -0
  180. data/lib/epuber/third_party/bower/bower_components/spin.js/jquery.spin.js +80 -0
  181. data/lib/epuber/third_party/bower/bower_components/spin.js/spin.js +337 -0
  182. data/lib/epuber/third_party/bower/bower_components/uri.js/LICENSE.txt +21 -0
  183. data/lib/epuber/third_party/bower/bower_components/uri.js/README.md +534 -0
  184. data/lib/epuber/third_party/bower/bower_components/uri.js/bower.json +16 -0
  185. data/lib/epuber/third_party/bower/bower_components/uri.js/contributing.md +19 -0
  186. data/lib/epuber/third_party/bower/bower_components/uri.js/src/IPv6.js +188 -0
  187. data/lib/epuber/third_party/bower/bower_components/uri.js/src/SecondLevelDomains.js +241 -0
  188. data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.fragmentQuery.js +104 -0
  189. data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.fragmentURI.js +97 -0
  190. data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.js +2115 -0
  191. data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.min.js +86 -0
  192. data/lib/epuber/third_party/bower/bower_components/uri.js/src/URITemplate.js +499 -0
  193. data/lib/epuber/third_party/bower/bower_components/uri.js/src/jquery.URI.js +235 -0
  194. data/lib/epuber/third_party/bower/bower_components/uri.js/src/jquery.URI.min.js +7 -0
  195. data/lib/epuber/third_party/bower/bower_components/uri.js/src/punycode.js +508 -0
  196. data/lib/epuber/transformer.rb +19 -0
  197. data/lib/epuber/transformer/text_transformer.rb +60 -0
  198. data/lib/epuber/user_interface.rb +186 -0
  199. data/lib/epuber/vendor/globals_context.rb +26 -0
  200. data/lib/epuber/vendor/hash_binding.rb +26 -0
  201. data/lib/epuber/vendor/nokogiri_extensions.rb +30 -0
  202. data/lib/epuber/vendor/ruby_templater.rb +71 -0
  203. data/lib/epuber/vendor/size.rb +20 -0
  204. data/lib/epuber/vendor/version.rb +83 -0
  205. data/lib/epuber/version.rb +4 -0
  206. metadata +556 -0
@@ -0,0 +1,89 @@
1
+ define([
2
+ "../core",
3
+ "./var/nonce",
4
+ "./var/rquery",
5
+ "../ajax"
6
+ ], function( jQuery, nonce, rquery ) {
7
+
8
+ var oldCallbacks = [],
9
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
10
+
11
+ // Default jsonp settings
12
+ jQuery.ajaxSetup({
13
+ jsonp: "callback",
14
+ jsonpCallback: function() {
15
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
16
+ this[ callback ] = true;
17
+ return callback;
18
+ }
19
+ });
20
+
21
+ // Detect, normalize options and install callbacks for jsonp requests
22
+ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
23
+
24
+ var callbackName, overwritten, responseContainer,
25
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
26
+ "url" :
27
+ typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
28
+ );
29
+
30
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
31
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
32
+
33
+ // Get callback name, remembering preexisting value associated with it
34
+ callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
35
+ s.jsonpCallback() :
36
+ s.jsonpCallback;
37
+
38
+ // Insert callback into url or form data
39
+ if ( jsonProp ) {
40
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
41
+ } else if ( s.jsonp !== false ) {
42
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
43
+ }
44
+
45
+ // Use data converter to retrieve json after script execution
46
+ s.converters["script json"] = function() {
47
+ if ( !responseContainer ) {
48
+ jQuery.error( callbackName + " was not called" );
49
+ }
50
+ return responseContainer[ 0 ];
51
+ };
52
+
53
+ // force json dataType
54
+ s.dataTypes[ 0 ] = "json";
55
+
56
+ // Install callback
57
+ overwritten = window[ callbackName ];
58
+ window[ callbackName ] = function() {
59
+ responseContainer = arguments;
60
+ };
61
+
62
+ // Clean-up function (fires after converters)
63
+ jqXHR.always(function() {
64
+ // Restore preexisting value
65
+ window[ callbackName ] = overwritten;
66
+
67
+ // Save back as free
68
+ if ( s[ callbackName ] ) {
69
+ // make sure that re-using the options doesn't screw things around
70
+ s.jsonpCallback = originalSettings.jsonpCallback;
71
+
72
+ // save the callback name for future use
73
+ oldCallbacks.push( callbackName );
74
+ }
75
+
76
+ // Call if it was a function and we have a response
77
+ if ( responseContainer && jQuery.isFunction( overwritten ) ) {
78
+ overwritten( responseContainer[ 0 ] );
79
+ }
80
+
81
+ responseContainer = overwritten = undefined;
82
+ });
83
+
84
+ // Delegate to script
85
+ return "script";
86
+ }
87
+ });
88
+
89
+ });
@@ -0,0 +1,75 @@
1
+ define([
2
+ "../core",
3
+ "../core/parseHTML",
4
+ "../ajax",
5
+ "../traversing",
6
+ "../manipulation",
7
+ "../selector",
8
+ // Optional event/alias dependency
9
+ "../event/alias"
10
+ ], function( jQuery ) {
11
+
12
+ // Keep a copy of the old load method
13
+ var _load = jQuery.fn.load;
14
+
15
+ /**
16
+ * Load a url into a page
17
+ */
18
+ jQuery.fn.load = function( url, params, callback ) {
19
+ if ( typeof url !== "string" && _load ) {
20
+ return _load.apply( this, arguments );
21
+ }
22
+
23
+ var selector, type, response,
24
+ self = this,
25
+ off = url.indexOf(" ");
26
+
27
+ if ( off >= 0 ) {
28
+ selector = jQuery.trim( url.slice( off ) );
29
+ url = url.slice( 0, off );
30
+ }
31
+
32
+ // If it's a function
33
+ if ( jQuery.isFunction( params ) ) {
34
+
35
+ // We assume that it's the callback
36
+ callback = params;
37
+ params = undefined;
38
+
39
+ // Otherwise, build a param string
40
+ } else if ( params && typeof params === "object" ) {
41
+ type = "POST";
42
+ }
43
+
44
+ // If we have elements to modify, make the request
45
+ if ( self.length > 0 ) {
46
+ jQuery.ajax({
47
+ url: url,
48
+
49
+ // if "type" variable is undefined, then "GET" method will be used
50
+ type: type,
51
+ dataType: "html",
52
+ data: params
53
+ }).done(function( responseText ) {
54
+
55
+ // Save response for use in complete callback
56
+ response = arguments;
57
+
58
+ self.html( selector ?
59
+
60
+ // If a selector was specified, locate the right elements in a dummy div
61
+ // Exclude scripts to avoid IE 'Permission Denied' errors
62
+ jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) :
63
+
64
+ // Otherwise use the full result
65
+ responseText );
66
+
67
+ }).complete( callback && function( jqXHR, status ) {
68
+ self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
69
+ });
70
+ }
71
+
72
+ return this;
73
+ };
74
+
75
+ });
@@ -0,0 +1,13 @@
1
+ define([
2
+ "../core"
3
+ ], function( jQuery ) {
4
+
5
+ // Support: Android 2.3
6
+ // Workaround failure to string-cast null input
7
+ jQuery.parseJSON = function( data ) {
8
+ return JSON.parse( data + "" );
9
+ };
10
+
11
+ return jQuery.parseJSON;
12
+
13
+ });
@@ -0,0 +1,28 @@
1
+ define([
2
+ "../core"
3
+ ], function( jQuery ) {
4
+
5
+ // Cross-browser xml parsing
6
+ jQuery.parseXML = function( data ) {
7
+ var xml, tmp;
8
+ if ( !data || typeof data !== "string" ) {
9
+ return null;
10
+ }
11
+
12
+ // Support: IE9
13
+ try {
14
+ tmp = new DOMParser();
15
+ xml = tmp.parseFromString( data, "text/xml" );
16
+ } catch ( e ) {
17
+ xml = undefined;
18
+ }
19
+
20
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
21
+ jQuery.error( "Invalid XML: " + data );
22
+ }
23
+ return xml;
24
+ };
25
+
26
+ return jQuery.parseXML;
27
+
28
+ });
@@ -0,0 +1,64 @@
1
+ define([
2
+ "../core",
3
+ "../ajax"
4
+ ], function( jQuery ) {
5
+
6
+ // Install script dataType
7
+ jQuery.ajaxSetup({
8
+ accepts: {
9
+ script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
10
+ },
11
+ contents: {
12
+ script: /(?:java|ecma)script/
13
+ },
14
+ converters: {
15
+ "text script": function( text ) {
16
+ jQuery.globalEval( text );
17
+ return text;
18
+ }
19
+ }
20
+ });
21
+
22
+ // Handle cache's special case and crossDomain
23
+ jQuery.ajaxPrefilter( "script", function( s ) {
24
+ if ( s.cache === undefined ) {
25
+ s.cache = false;
26
+ }
27
+ if ( s.crossDomain ) {
28
+ s.type = "GET";
29
+ }
30
+ });
31
+
32
+ // Bind script tag hack transport
33
+ jQuery.ajaxTransport( "script", function( s ) {
34
+ // This transport only deals with cross domain requests
35
+ if ( s.crossDomain ) {
36
+ var script, callback;
37
+ return {
38
+ send: function( _, complete ) {
39
+ script = jQuery("<script>").prop({
40
+ async: true,
41
+ charset: s.scriptCharset,
42
+ src: s.url
43
+ }).on(
44
+ "load error",
45
+ callback = function( evt ) {
46
+ script.remove();
47
+ callback = null;
48
+ if ( evt ) {
49
+ complete( evt.type === "error" ? 404 : 200, evt.type );
50
+ }
51
+ }
52
+ );
53
+ document.head.appendChild( script[ 0 ] );
54
+ },
55
+ abort: function() {
56
+ if ( callback ) {
57
+ callback();
58
+ }
59
+ }
60
+ };
61
+ }
62
+ });
63
+
64
+ });
@@ -0,0 +1,5 @@
1
+ define([
2
+ "../../core"
3
+ ], function( jQuery ) {
4
+ return jQuery.now();
5
+ });
@@ -0,0 +1,3 @@
1
+ define(function() {
2
+ return (/\?/);
3
+ });
@@ -0,0 +1,136 @@
1
+ define([
2
+ "../core",
3
+ "../var/support",
4
+ "../ajax"
5
+ ], function( jQuery, support ) {
6
+
7
+ jQuery.ajaxSettings.xhr = function() {
8
+ try {
9
+ return new XMLHttpRequest();
10
+ } catch( e ) {}
11
+ };
12
+
13
+ var xhrId = 0,
14
+ xhrCallbacks = {},
15
+ xhrSuccessStatus = {
16
+ // file protocol always yields status code 0, assume 200
17
+ 0: 200,
18
+ // Support: IE9
19
+ // #1450: sometimes IE returns 1223 when it should be 204
20
+ 1223: 204
21
+ },
22
+ xhrSupported = jQuery.ajaxSettings.xhr();
23
+
24
+ // Support: IE9
25
+ // Open requests must be manually aborted on unload (#5280)
26
+ // See https://support.microsoft.com/kb/2856746 for more info
27
+ if ( window.attachEvent ) {
28
+ window.attachEvent( "onunload", function() {
29
+ for ( var key in xhrCallbacks ) {
30
+ xhrCallbacks[ key ]();
31
+ }
32
+ });
33
+ }
34
+
35
+ support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
36
+ support.ajax = xhrSupported = !!xhrSupported;
37
+
38
+ jQuery.ajaxTransport(function( options ) {
39
+ var callback;
40
+
41
+ // Cross domain only allowed if supported through XMLHttpRequest
42
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
43
+ return {
44
+ send: function( headers, complete ) {
45
+ var i,
46
+ xhr = options.xhr(),
47
+ id = ++xhrId;
48
+
49
+ xhr.open( options.type, options.url, options.async, options.username, options.password );
50
+
51
+ // Apply custom fields if provided
52
+ if ( options.xhrFields ) {
53
+ for ( i in options.xhrFields ) {
54
+ xhr[ i ] = options.xhrFields[ i ];
55
+ }
56
+ }
57
+
58
+ // Override mime type if needed
59
+ if ( options.mimeType && xhr.overrideMimeType ) {
60
+ xhr.overrideMimeType( options.mimeType );
61
+ }
62
+
63
+ // X-Requested-With header
64
+ // For cross-domain requests, seeing as conditions for a preflight are
65
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
66
+ // (it can always be set on a per-request basis or even using ajaxSetup)
67
+ // For same-domain requests, won't change header if already provided.
68
+ if ( !options.crossDomain && !headers["X-Requested-With"] ) {
69
+ headers["X-Requested-With"] = "XMLHttpRequest";
70
+ }
71
+
72
+ // Set headers
73
+ for ( i in headers ) {
74
+ xhr.setRequestHeader( i, headers[ i ] );
75
+ }
76
+
77
+ // Callback
78
+ callback = function( type ) {
79
+ return function() {
80
+ if ( callback ) {
81
+ delete xhrCallbacks[ id ];
82
+ callback = xhr.onload = xhr.onerror = null;
83
+
84
+ if ( type === "abort" ) {
85
+ xhr.abort();
86
+ } else if ( type === "error" ) {
87
+ complete(
88
+ // file: protocol always yields status 0; see #8605, #14207
89
+ xhr.status,
90
+ xhr.statusText
91
+ );
92
+ } else {
93
+ complete(
94
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
95
+ xhr.statusText,
96
+ // Support: IE9
97
+ // Accessing binary-data responseText throws an exception
98
+ // (#11426)
99
+ typeof xhr.responseText === "string" ? {
100
+ text: xhr.responseText
101
+ } : undefined,
102
+ xhr.getAllResponseHeaders()
103
+ );
104
+ }
105
+ }
106
+ };
107
+ };
108
+
109
+ // Listen to events
110
+ xhr.onload = callback();
111
+ xhr.onerror = callback("error");
112
+
113
+ // Create the abort callback
114
+ callback = xhrCallbacks[ id ] = callback("abort");
115
+
116
+ try {
117
+ // Do send the request (this may raise an exception)
118
+ xhr.send( options.hasContent && options.data || null );
119
+ } catch ( e ) {
120
+ // #14683: Only rethrow if this hasn't been notified as an error yet
121
+ if ( callback ) {
122
+ throw e;
123
+ }
124
+ }
125
+ },
126
+
127
+ abort: function() {
128
+ if ( callback ) {
129
+ callback();
130
+ }
131
+ }
132
+ };
133
+ }
134
+ });
135
+
136
+ });
@@ -0,0 +1,11 @@
1
+ define([
2
+ "./core",
3
+ "./attributes/attr",
4
+ "./attributes/prop",
5
+ "./attributes/classes",
6
+ "./attributes/val"
7
+ ], function( jQuery ) {
8
+
9
+ // Return jQuery for attributes-only inclusion
10
+ return jQuery;
11
+ });
@@ -0,0 +1,141 @@
1
+ define([
2
+ "../core",
3
+ "../var/rnotwhite",
4
+ "../var/strundefined",
5
+ "../core/access",
6
+ "./support",
7
+ "../selector"
8
+ ], function( jQuery, rnotwhite, strundefined, access, support ) {
9
+
10
+ var nodeHook, boolHook,
11
+ attrHandle = jQuery.expr.attrHandle;
12
+
13
+ jQuery.fn.extend({
14
+ attr: function( name, value ) {
15
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
16
+ },
17
+
18
+ removeAttr: function( name ) {
19
+ return this.each(function() {
20
+ jQuery.removeAttr( this, name );
21
+ });
22
+ }
23
+ });
24
+
25
+ jQuery.extend({
26
+ attr: function( elem, name, value ) {
27
+ var hooks, ret,
28
+ nType = elem.nodeType;
29
+
30
+ // don't get/set attributes on text, comment and attribute nodes
31
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
32
+ return;
33
+ }
34
+
35
+ // Fallback to prop when attributes are not supported
36
+ if ( typeof elem.getAttribute === strundefined ) {
37
+ return jQuery.prop( elem, name, value );
38
+ }
39
+
40
+ // All attributes are lowercase
41
+ // Grab necessary hook if one is defined
42
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
43
+ name = name.toLowerCase();
44
+ hooks = jQuery.attrHooks[ name ] ||
45
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
46
+ }
47
+
48
+ if ( value !== undefined ) {
49
+
50
+ if ( value === null ) {
51
+ jQuery.removeAttr( elem, name );
52
+
53
+ } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
54
+ return ret;
55
+
56
+ } else {
57
+ elem.setAttribute( name, value + "" );
58
+ return value;
59
+ }
60
+
61
+ } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
62
+ return ret;
63
+
64
+ } else {
65
+ ret = jQuery.find.attr( elem, name );
66
+
67
+ // Non-existent attributes return null, we normalize to undefined
68
+ return ret == null ?
69
+ undefined :
70
+ ret;
71
+ }
72
+ },
73
+
74
+ removeAttr: function( elem, value ) {
75
+ var name, propName,
76
+ i = 0,
77
+ attrNames = value && value.match( rnotwhite );
78
+
79
+ if ( attrNames && elem.nodeType === 1 ) {
80
+ while ( (name = attrNames[i++]) ) {
81
+ propName = jQuery.propFix[ name ] || name;
82
+
83
+ // Boolean attributes get special treatment (#10870)
84
+ if ( jQuery.expr.match.bool.test( name ) ) {
85
+ // Set corresponding property to false
86
+ elem[ propName ] = false;
87
+ }
88
+
89
+ elem.removeAttribute( name );
90
+ }
91
+ }
92
+ },
93
+
94
+ attrHooks: {
95
+ type: {
96
+ set: function( elem, value ) {
97
+ if ( !support.radioValue && value === "radio" &&
98
+ jQuery.nodeName( elem, "input" ) ) {
99
+ var val = elem.value;
100
+ elem.setAttribute( "type", value );
101
+ if ( val ) {
102
+ elem.value = val;
103
+ }
104
+ return value;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ });
110
+
111
+ // Hooks for boolean attributes
112
+ boolHook = {
113
+ set: function( elem, value, name ) {
114
+ if ( value === false ) {
115
+ // Remove boolean attributes when set to false
116
+ jQuery.removeAttr( elem, name );
117
+ } else {
118
+ elem.setAttribute( name, name );
119
+ }
120
+ return name;
121
+ }
122
+ };
123
+ jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
124
+ var getter = attrHandle[ name ] || jQuery.find.attr;
125
+
126
+ attrHandle[ name ] = function( elem, name, isXML ) {
127
+ var ret, handle;
128
+ if ( !isXML ) {
129
+ // Avoid an infinite loop by temporarily removing this function from the getter
130
+ handle = attrHandle[ name ];
131
+ attrHandle[ name ] = ret;
132
+ ret = getter( elem, name, isXML ) != null ?
133
+ name.toLowerCase() :
134
+ null;
135
+ attrHandle[ name ] = handle;
136
+ }
137
+ return ret;
138
+ };
139
+ });
140
+
141
+ });