epuber 0.6.0 → 0.7.0
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.
- checksums.yaml +4 -4
- data/Gemfile +5 -3
- data/README.md +3 -11
- data/bin/epuber +2 -3
- data/epuber.gemspec +3 -6
- data/lib/epuber/book/contributor.rb +1 -1
- data/lib/epuber/book/file_request.rb +1 -1
- data/lib/epuber/book/target.rb +1 -2
- data/lib/epuber/book/toc_item.rb +1 -2
- data/lib/epuber/book.rb +1 -2
- data/lib/epuber/checker/text_checker.rb +1 -1
- data/lib/epuber/checker.rb +1 -2
- data/lib/epuber/checker_transformer_base.rb +1 -0
- data/lib/epuber/command/build.rb +1 -2
- data/lib/epuber/command/compile.rb +1 -1
- data/lib/epuber/command/init.rb +1 -2
- data/lib/epuber/command/server.rb +1 -2
- data/lib/epuber/command.rb +1 -1
- data/lib/epuber/compiler/compilation_context.rb +1 -1
- data/lib/epuber/compiler/file_database.rb +3 -5
- data/lib/epuber/compiler/file_finders/abstract.rb +1 -1
- data/lib/epuber/compiler/file_finders/imaginary.rb +1 -2
- data/lib/epuber/compiler/file_finders/normal.rb +1 -1
- data/lib/epuber/compiler/file_resolver.rb +1 -1
- data/lib/epuber/compiler/file_stat.rb +0 -1
- data/lib/epuber/compiler/file_types/abstract_file.rb +1 -2
- data/lib/epuber/compiler/file_types/bade_file.rb +1 -2
- data/lib/epuber/compiler/file_types/coffee_script_file.rb +1 -2
- data/lib/epuber/compiler/file_types/container_xml_file.rb +1 -2
- data/lib/epuber/compiler/file_types/generated_file.rb +1 -2
- data/lib/epuber/compiler/file_types/ibooks_display_options_file.rb +1 -7
- data/lib/epuber/compiler/file_types/image_file.rb +1 -2
- data/lib/epuber/compiler/file_types/mime_type_file.rb +1 -2
- data/lib/epuber/compiler/file_types/nav_file.rb +1 -2
- data/lib/epuber/compiler/file_types/opf_file.rb +1 -2
- data/lib/epuber/compiler/file_types/source_file.rb +1 -2
- data/lib/epuber/compiler/file_types/static_file.rb +1 -2
- data/lib/epuber/compiler/file_types/stylus_file.rb +1 -2
- data/lib/epuber/compiler/file_types/xhtml_file.rb +2 -4
- data/lib/epuber/compiler/generator.rb +1 -1
- data/lib/epuber/compiler/meta_inf_generator.rb +1 -1
- data/lib/epuber/compiler/nav_generator.rb +1 -1
- data/lib/epuber/compiler/opf_generator.rb +1 -1
- data/lib/epuber/compiler/problem.rb +1 -2
- data/lib/epuber/compiler/xhtml_processor.rb +3 -1
- data/lib/epuber/compiler.rb +7 -11
- data/lib/epuber/config.rb +1 -2
- data/lib/epuber/dsl/attribute.rb +1 -1
- data/lib/epuber/dsl/attribute_support.rb +2 -2
- data/lib/epuber/dsl/object.rb +1 -1
- data/lib/epuber/dsl/tree_object.rb +1 -1
- data/lib/epuber/helper.rb +1 -1
- data/lib/epuber/lockfile.rb +1 -1
- data/lib/epuber/plugin.rb +1 -1
- data/lib/epuber/ruby_extensions/match_data.rb +1 -0
- data/lib/epuber/ruby_extensions/thread.rb +1 -0
- data/lib/epuber/server/handlers.rb +1 -1
- data/lib/epuber/server.rb +2 -2
- data/lib/epuber/templates.rb +2 -1
- data/lib/epuber/third_party/bower/bower.json +3 -3
- data/lib/epuber/third_party/bower/bower_components/cookies-js/bower.json +1 -1
- data/lib/epuber/third_party/bower/bower_components/cookies-js/dist/cookies.js +2 -3
- data/lib/epuber/third_party/bower/bower_components/cookies-js/dist/cookies.min.js +6 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/AUTHORS.txt +278 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/{MIT-LICENSE.txt → LICENSE.txt} +17 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/README.md +65 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/bower.json +2 -16
- data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.js +2566 -1962
- data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.min.js +4 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/dist/jquery.min.map +1 -1
- data/lib/epuber/third_party/bower/bower_components/jquery/external/sizzle/LICENSE.txt +36 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/{src → external}/sizzle/dist/sizzle.js +236 -160
- data/lib/epuber/third_party/bower/bower_components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/jsonp.js +25 -14
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/load.js +20 -12
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/parseJSON.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/parseXML.js +4 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/script.js +16 -12
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/var/location.js +3 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/var/nonce.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/var/rquery.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax/xhr.js +73 -42
- data/lib/epuber/third_party/bower/bower_components/jquery/src/ajax.js +116 -57
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/attr.js +49 -48
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/classes.js +86 -67
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/prop.js +63 -32
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/support.js +6 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes/val.js +40 -24
- data/lib/epuber/third_party/bower/bower_components/jquery/src/attributes.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/callbacks.js +114 -87
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core/access.js +11 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core/init.js +27 -16
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core/parseHTML.js +10 -8
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core/ready.js +20 -14
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core/var/rsingleTag.js +4 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/core.js +77 -85
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/addGetHookIf.js +5 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/adjustCSS.js +65 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/curCSS.js +20 -17
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/defaultDisplay.js +16 -14
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/hiddenVisibleSelectors.js +9 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/showHide.js +48 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/support.js +86 -61
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/cssExpand.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/getStyles.js +8 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/isHidden.js +6 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/rmargin.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/var/rnumnonpx.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css/{swap.js → var/swap.js} +3 -7
- data/lib/epuber/third_party/bower/bower_components/jquery/src/css.js +107 -55
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data/Data.js +93 -74
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data/{accepts.js → var/acceptData.js} +4 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data/var/{data_user.js → dataPriv.js} +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data/var/{data_priv.js → dataUser.js} +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data.js +49 -40
- data/lib/epuber/third_party/bower/bower_components/jquery/src/deferred.js +34 -25
- data/lib/epuber/third_party/bower/bower_components/jquery/src/deprecated.js +27 -8
- data/lib/epuber/third_party/bower/bower_components/jquery/src/dimensions.js +9 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/effects/Tween.js +14 -7
- data/lib/epuber/third_party/bower/bower_components/jquery/src/effects/animatedSelector.js +4 -4
- data/lib/epuber/third_party/bower/bower_components/jquery/src/effects.js +96 -115
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event/ajax.js +11 -4
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event/alias.js +11 -23
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event/focusin.js +53 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event/support.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event/trigger.js +183 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/event.js +168 -325
- data/lib/epuber/third_party/bower/bower_components/jquery/src/exports/amd.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/exports/global.js +2 -8
- data/lib/epuber/third_party/bower/bower_components/jquery/src/intro.js +1 -1
- data/lib/epuber/third_party/bower/bower_components/jquery/src/jquery.js +5 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/_evalUrl.js +6 -4
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/buildFragment.js +102 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/getAll.js +21 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/setGlobalEval.js +20 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/support.js +7 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/var/rscriptType.js +3 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/var/rtagName.js +3 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation/wrapMap.js +27 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/manipulation.js +206 -305
- data/lib/epuber/third_party/bower/bower_components/jquery/src/offset.js +40 -29
- data/lib/epuber/third_party/bower/bower_components/jquery/src/outro.js +1 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/queue/delay.js +6 -6
- data/lib/epuber/third_party/bower/bower_components/jquery/src/queue.js +23 -22
- data/lib/epuber/third_party/bower/bower_components/jquery/src/selector-native.js +107 -68
- data/lib/epuber/third_party/bower/bower_components/jquery/src/selector-sizzle.js +5 -5
- data/lib/epuber/third_party/bower/bower_components/jquery/src/selector.js +1 -1
- data/lib/epuber/third_party/bower/bower_components/jquery/src/serialize.js +28 -14
- data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/findFilter.js +13 -13
- data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/var/dir.js +20 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/var/rneedsContext.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing/var/siblings.js +15 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/traversing.js +32 -56
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/arr.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/class2type.js +3 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/concat.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/document.js +3 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/documentElement.js +5 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/hasOwn.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/indexOf.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/pnum.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/push.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/rcssNum.js +7 -0
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/rnotwhite.js +3 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/slice.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/support.js +3 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/toString.js +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/wrap.js +19 -19
- data/lib/epuber/third_party/bower/bower_components/spin.js/{LICENSE.txt → LICENSE.md} +2 -1
- data/lib/epuber/third_party/bower/bower_components/spin.js/README.md +21 -21
- data/lib/epuber/third_party/bower/bower_components/spin.js/bower.json +0 -1
- data/lib/epuber/third_party/bower/bower_components/spin.js/jquery.spin.js +23 -24
- data/lib/epuber/third_party/bower/bower_components/spin.js/spin.js +153 -113
- data/lib/epuber/third_party/bower/bower_components/spin.js/spin.min.js +2 -0
- data/lib/epuber/third_party/bower/bower_components/uri.js/CHANGELOG.md +424 -0
- data/lib/epuber/third_party/bower/bower_components/uri.js/README.md +23 -308
- data/lib/epuber/third_party/bower/bower_components/uri.js/SECURITY.md +12 -0
- data/lib/epuber/third_party/bower/bower_components/uri.js/bower.json +2 -2
- data/lib/epuber/third_party/bower/bower_components/uri.js/contributing.md +0 -4
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/IPv6.js +3 -6
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/SecondLevelDomains.js +8 -4
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.fragmentQuery.js +21 -4
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.fragmentURI.js +1 -1
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.js +312 -69
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/URI.min.js +85 -77
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/URITemplate.js +28 -11
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/jquery.URI.js +17 -18
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/jquery.URI.min.js +6 -6
- data/lib/epuber/third_party/bower/bower_components/uri.js/src/punycode.js +63 -38
- data/lib/epuber/third_party/bower.rb +2 -0
- data/lib/epuber/transformer/text_transformer.rb +1 -2
- data/lib/epuber/transformer.rb +1 -2
- data/lib/epuber/user_interface.rb +1 -1
- data/lib/epuber/vendor/hash_binding.rb +1 -1
- data/lib/epuber/vendor/nokogiri_extensions.rb +24 -21
- data/lib/epuber/vendor/ruby_templater.rb +1 -2
- data/lib/epuber/vendor/size.rb +1 -0
- data/lib/epuber/vendor/version.rb +1 -1
- data/lib/epuber/version.rb +2 -1
- data/lib/epuber.rb +1 -1
- metadata +48 -30
- data/lib/epuber/third_party/bower/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
- data/lib/epuber/third_party/bower/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
- data/lib/epuber/third_party/bower/bower_components/jquery/src/var/strundefined.js +0 -3
- data/lib/epuber/vendor/globals_context.rb +0 -26
data/lib/epuber/server.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'stringio'
|
4
4
|
|
@@ -368,7 +368,7 @@ module Epuber
|
|
368
368
|
result = _compile_book
|
369
369
|
completion.call(result) unless completion.nil?
|
370
370
|
end
|
371
|
-
|
371
|
+
|
372
372
|
if completion.nil?
|
373
373
|
@compilation_thread.join
|
374
374
|
end
|
data/lib/epuber/templates.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* Cookies.js - 1.2.
|
2
|
+
* Cookies.js - 1.2.3
|
3
3
|
* https://github.com/ScottHamper/Cookies
|
4
4
|
*
|
5
5
|
* This is free and unencumbered software released into the public domain.
|
@@ -153,8 +153,7 @@
|
|
153
153
|
|
154
154
|
return Cookies;
|
155
155
|
};
|
156
|
-
|
157
|
-
var cookiesExport = typeof global.document === 'object' ? factory(global) : factory;
|
156
|
+
var cookiesExport = (global && typeof global.document === 'object') ? factory(global) : factory;
|
158
157
|
|
159
158
|
// AMD support
|
160
159
|
if (typeof define === 'function' && define.amd) {
|
@@ -1,6 +1,6 @@
|
|
1
|
-
(function(
|
2
|
-
b.set=function(a,
|
3
|
-
b._getExpiresDate=function(a,
|
4
|
-
c.path:"");a+=c.domain?";domain="+c.domain:"";a+=c.expires?";expires="+c.expires.toUTCString():"";return a+=c.secure?";secure":""};b._getCacheFromString=function(a){var
|
5
|
-
typeof console.error&&console.error('Could not decode cookie with key "'+c+'"',
|
6
|
-
("object"===typeof module&&"object"===typeof module.exports&&(exports=module.exports=
|
1
|
+
(function(d,f){"use strict";var h=function(d){if("object"!==typeof d.document)throw Error("Cookies.js requires a `window` with a `document` object");var b=function(a,e,c){return 1===arguments.length?b.get(a):b.set(a,e,c)};b._document=d.document;b._cacheKeyPrefix="cookey.";b._maxExpireDate=new Date("Fri, 31 Dec 9999 23:59:59 UTC");b.defaults={path:"/",secure:!1};b.get=function(a){b._cachedDocumentCookie!==b._document.cookie&&b._renewCache();a=b._cache[b._cacheKeyPrefix+a];return a===f?f:decodeURIComponent(a)};
|
2
|
+
b.set=function(a,e,c){c=b._getExtendedOptions(c);c.expires=b._getExpiresDate(e===f?-1:c.expires);b._document.cookie=b._generateCookieString(a,e,c);return b};b.expire=function(a,e){return b.set(a,f,e)};b._getExtendedOptions=function(a){return{path:a&&a.path||b.defaults.path,domain:a&&a.domain||b.defaults.domain,expires:a&&a.expires||b.defaults.expires,secure:a&&a.secure!==f?a.secure:b.defaults.secure}};b._isValidDate=function(a){return"[object Date]"===Object.prototype.toString.call(a)&&!isNaN(a.getTime())};
|
3
|
+
b._getExpiresDate=function(a,e){e=e||new Date;"number"===typeof a?a=Infinity===a?b._maxExpireDate:new Date(e.getTime()+1E3*a):"string"===typeof a&&(a=new Date(a));if(a&&!b._isValidDate(a))throw Error("`expires` parameter cannot be converted to a valid Date instance");return a};b._generateCookieString=function(a,b,c){a=a.replace(/[^#$&+\^`|]/g,encodeURIComponent);a=a.replace(/\(/g,"%28").replace(/\)/g,"%29");b=(b+"").replace(/[^!#$&-+\--:<-\[\]-~]/g,encodeURIComponent);c=c||{};a=a+"="+b+(c.path?";path="+
|
4
|
+
c.path:"");a+=c.domain?";domain="+c.domain:"";a+=c.expires?";expires="+c.expires.toUTCString():"";return a+=c.secure?";secure":""};b._getCacheFromString=function(a){var e={};a=a?a.split("; "):[];for(var c=0;c<a.length;c++){var d=b._getKeyValuePairFromCookieString(a[c]);e[b._cacheKeyPrefix+d.key]===f&&(e[b._cacheKeyPrefix+d.key]=d.value)}return e};b._getKeyValuePairFromCookieString=function(a){var b=a.indexOf("="),b=0>b?a.length:b,c=a.substr(0,b),d;try{d=decodeURIComponent(c)}catch(k){console&&"function"===
|
5
|
+
typeof console.error&&console.error('Could not decode cookie with key "'+c+'"',k)}return{key:d,value:a.substr(b+1)}};b._renewCache=function(){b._cache=b._getCacheFromString(b._document.cookie);b._cachedDocumentCookie=b._document.cookie};b._areEnabled=function(){var a="1"===b.set("cookies.js",1).get("cookies.js");b.expire("cookies.js");return a};b.enabled=b._areEnabled();return b},g=d&&"object"===typeof d.document?h(d):h;"function"===typeof define&&define.amd?define(function(){return g}):"object"===
|
6
|
+
typeof exports?("object"===typeof module&&"object"===typeof module.exports&&(exports=module.exports=g),exports.Cookies=g):d.Cookies=g})("undefined"===typeof window?this:window);
|
@@ -0,0 +1,278 @@
|
|
1
|
+
Authors ordered by first contribution.
|
2
|
+
|
3
|
+
John Resig <jeresig@gmail.com>
|
4
|
+
Gilles van den Hoven <gilles0181@gmail.com>
|
5
|
+
Michael Geary <mike@geary.com>
|
6
|
+
Stefan Petre <stefan.petre@gmail.com>
|
7
|
+
Yehuda Katz <wycats@gmail.com>
|
8
|
+
Corey Jewett <cj@syntheticplayground.com>
|
9
|
+
Klaus Hartl <klaus.hartl@gmail.com>
|
10
|
+
Franck Marcia <franck.marcia@gmail.com>
|
11
|
+
Jörn Zaefferer <joern.zaefferer@gmail.com>
|
12
|
+
Paul Bakaus <paul.bakaus@gmail.com>
|
13
|
+
Brandon Aaron <brandon.aaron@gmail.com>
|
14
|
+
Mike Alsup <malsup@gmail.com>
|
15
|
+
Dave Methvin <dave.methvin@gmail.com>
|
16
|
+
Ed Engelhardt <edengelhardt@gmail.com>
|
17
|
+
Sean Catchpole <littlecooldude@gmail.com>
|
18
|
+
Paul Mclanahan <pmclanahan@gmail.com>
|
19
|
+
David Serduke <davidserduke@gmail.com>
|
20
|
+
Richard D. Worth <rdworth@gmail.com>
|
21
|
+
Scott González <scott.gonzalez@gmail.com>
|
22
|
+
Ariel Flesler <aflesler@gmail.com>
|
23
|
+
Jon Evans <jon@springyweb.com>
|
24
|
+
TJ Holowaychuk <tj@vision-media.ca>
|
25
|
+
Michael Bensoussan <mickey@seesmic.com>
|
26
|
+
Robert Katić <robert.katic@gmail.com>
|
27
|
+
Louis-Rémi Babé <lrbabe@gmail.com>
|
28
|
+
Earle Castledine <mrspeaker@gmail.com>
|
29
|
+
Damian Janowski <damian.janowski@gmail.com>
|
30
|
+
Rich Dougherty <rich@rd.gen.nz>
|
31
|
+
Kim Dalsgaard <kim@kimdalsgaard.com>
|
32
|
+
Andrea Giammarchi <andrea.giammarchi@gmail.com>
|
33
|
+
Mark Gibson <jollytoad@gmail.com>
|
34
|
+
Karl Swedberg <kswedberg@gmail.com>
|
35
|
+
Justin Meyer <justinbmeyer@gmail.com>
|
36
|
+
Ben Alman <cowboy@rj3.net>
|
37
|
+
James Padolsey <cla@padolsey.net>
|
38
|
+
David Petersen <public@petersendidit.com>
|
39
|
+
Batiste Bieler <batiste.bieler@gmail.com>
|
40
|
+
Alexander Farkas <info@corrupt-system.de>
|
41
|
+
Rick Waldron <waldron.rick@gmail.com>
|
42
|
+
Filipe Fortes <filipe@fortes.com>
|
43
|
+
Neeraj Singh <neerajdotname@gmail.com>
|
44
|
+
Paul Irish <paul.irish@gmail.com>
|
45
|
+
Iraê Carvalho <irae@irae.pro.br>
|
46
|
+
Matt Curry <matt@pseudocoder.com>
|
47
|
+
Michael Monteleone <michael@michaelmonteleone.net>
|
48
|
+
Noah Sloan <noah.sloan@gmail.com>
|
49
|
+
Tom Viner <github@viner.tv>
|
50
|
+
Douglas Neiner <doug@dougneiner.com>
|
51
|
+
Adam J. Sontag <ajpiano@ajpiano.com>
|
52
|
+
Dave Reed <dareed@microsoft.com>
|
53
|
+
Ralph Whitbeck <ralph.whitbeck@gmail.com>
|
54
|
+
Carl Fürstenberg <azatoth@gmail.com>
|
55
|
+
Jacob Wright <jacwright@gmail.com>
|
56
|
+
J. Ryan Stinnett <jryans@gmail.com>
|
57
|
+
unknown <Igen005@.upcorp.ad.uprr.com>
|
58
|
+
temp01 <temp01irc@gmail.com>
|
59
|
+
Heungsub Lee <h@subl.ee>
|
60
|
+
Colin Snover <github.com@zetafleet.com>
|
61
|
+
Ryan W Tenney <ryan@10e.us>
|
62
|
+
Pinhook <contact@pinhooklabs.com>
|
63
|
+
Ron Otten <r.j.g.otten@gmail.com>
|
64
|
+
Jephte Clain <Jephte.Clain@univ-reunion.fr>
|
65
|
+
Anton Matzneller <obhvsbypqghgc@gmail.com>
|
66
|
+
Alex Sexton <AlexSexton@gmail.com>
|
67
|
+
Dan Heberden <danheberden@gmail.com>
|
68
|
+
Henri Wiechers <hwiechers@gmail.com>
|
69
|
+
Russell Holbrook <russell.holbrook@patch.com>
|
70
|
+
Julian Aubourg <aubourg.julian@gmail.com>
|
71
|
+
Gianni Alessandro Chiappetta <gianni@runlevel6.org>
|
72
|
+
Scott Jehl <scottjehl@gmail.com>
|
73
|
+
James Burke <jrburke@gmail.com>
|
74
|
+
Jonas Pfenniger <jonas@pfenniger.name>
|
75
|
+
Xavi Ramirez <xavi.rmz@gmail.com>
|
76
|
+
Jared Grippe <jared@deadlyicon.com>
|
77
|
+
Sylvester Keil <sylvester@keil.or.at>
|
78
|
+
Brandon Sterne <bsterne@mozilla.com>
|
79
|
+
Mathias Bynens <mathias@qiwi.be>
|
80
|
+
Timmy Willison <timmywillisn@gmail.com>
|
81
|
+
Corey Frang <gnarf37@gmail.com>
|
82
|
+
Digitalxero <digitalxero>
|
83
|
+
Anton Kovalyov <anton@kovalyov.net>
|
84
|
+
David Murdoch <david@davidmurdoch.com>
|
85
|
+
Josh Varner <josh.varner@gmail.com>
|
86
|
+
Charles McNulty <cmcnulty@kznf.com>
|
87
|
+
Jordan Boesch <jboesch26@gmail.com>
|
88
|
+
Jess Thrysoee <jess@thrysoee.dk>
|
89
|
+
Michael Murray <m@murz.net>
|
90
|
+
Lee Carpenter <elcarpie@gmail.com>
|
91
|
+
Alexis Abril <me@alexisabril.com>
|
92
|
+
Rob Morgan <robbym@gmail.com>
|
93
|
+
John Firebaugh <john_firebaugh@bigfix.com>
|
94
|
+
Sam Bisbee <sam@sbisbee.com>
|
95
|
+
Gilmore Davidson <gilmoreorless@gmail.com>
|
96
|
+
Brian Brennan <me@brianlovesthings.com>
|
97
|
+
Xavier Montillet <xavierm02.net@gmail.com>
|
98
|
+
Daniel Pihlstrom <sciolist.se@gmail.com>
|
99
|
+
Sahab Yazdani <sahab.yazdani+github@gmail.com>
|
100
|
+
avaly <github-com@agachi.name>
|
101
|
+
Scott Hughes <hi@scott-hughes.me>
|
102
|
+
Mike Sherov <mike.sherov@gmail.com>
|
103
|
+
Greg Hazel <ghazel@gmail.com>
|
104
|
+
Schalk Neethling <schalk@ossreleasefeed.com>
|
105
|
+
Denis Knauf <Denis.Knauf@gmail.com>
|
106
|
+
Timo Tijhof <krinklemail@gmail.com>
|
107
|
+
Steen Nielsen <swinedk@gmail.com>
|
108
|
+
Anton Ryzhov <anton@ryzhov.me>
|
109
|
+
Shi Chuan <shichuanr@gmail.com>
|
110
|
+
Berker Peksag <berker.peksag@gmail.com>
|
111
|
+
Toby Brain <tobyb@freshview.com>
|
112
|
+
Matt Mueller <mattmuelle@gmail.com>
|
113
|
+
Justin <drakefjustin@gmail.com>
|
114
|
+
Daniel Herman <daniel.c.herman@gmail.com>
|
115
|
+
Oleg Gaidarenko <markelog@gmail.com>
|
116
|
+
Richard Gibson <richard.gibson@gmail.com>
|
117
|
+
Rafaël Blais Masson <rafbmasson@gmail.com>
|
118
|
+
cmc3cn <59194618@qq.com>
|
119
|
+
Joe Presbrey <presbrey@gmail.com>
|
120
|
+
Sindre Sorhus <sindresorhus@gmail.com>
|
121
|
+
Arne de Bree <arne@bukkie.nl>
|
122
|
+
Vladislav Zarakovsky <vlad.zar@gmail.com>
|
123
|
+
Andrew E Monat <amonat@gmail.com>
|
124
|
+
Oskari <admin@o-programs.com>
|
125
|
+
Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>
|
126
|
+
tsinha <tsinha@Anthonys-MacBook-Pro.local>
|
127
|
+
Matt Farmer <matt@frmr.me>
|
128
|
+
Trey Hunner <treyhunner@gmail.com>
|
129
|
+
Jason Moon <jmoon@socialcast.com>
|
130
|
+
Jeffery To <jeffery.to@gmail.com>
|
131
|
+
Kris Borchers <kris.borchers@gmail.com>
|
132
|
+
Vladimir Zhuravlev <private.face@gmail.com>
|
133
|
+
Jacob Thornton <jacobthornton@gmail.com>
|
134
|
+
Chad Killingsworth <chadkillingsworth@missouristate.edu>
|
135
|
+
Nowres Rafid <nowres.rafed@gmail.com>
|
136
|
+
David Benjamin <davidben@mit.edu>
|
137
|
+
Uri Gilad <antishok@gmail.com>
|
138
|
+
Chris Faulkner <thefaulkner@gmail.com>
|
139
|
+
Elijah Manor <elijah.manor@gmail.com>
|
140
|
+
Daniel Chatfield <chatfielddaniel@gmail.com>
|
141
|
+
Nikita Govorov <nikita.govorov@gmail.com>
|
142
|
+
Wesley Walser <waw325@gmail.com>
|
143
|
+
Mike Pennisi <mike@mikepennisi.com>
|
144
|
+
Markus Staab <markus.staab@redaxo.de>
|
145
|
+
Dave Riddle <david@joyvuu.com>
|
146
|
+
Callum Macrae <callum@lynxphp.com>
|
147
|
+
Benjamin Truyman <bentruyman@gmail.com>
|
148
|
+
James Huston <james@jameshuston.net>
|
149
|
+
Erick Ruiz de Chávez <erickrdch@gmail.com>
|
150
|
+
David Bonner <dbonner@cogolabs.com>
|
151
|
+
Akintayo Akinwunmi <aakinwunmi@judge.com>
|
152
|
+
MORGAN <morgan@morgangraphics.com>
|
153
|
+
Ismail Khair <ismail.khair@gmail.com>
|
154
|
+
Carl Danley <carldanley@gmail.com>
|
155
|
+
Mike Petrovich <michael.c.petrovich@gmail.com>
|
156
|
+
Greg Lavallee <greglavallee@wapolabs.com>
|
157
|
+
Daniel Gálvez <dgalvez@editablething.com>
|
158
|
+
Sai Lung Wong <sai.wong@huffingtonpost.com>
|
159
|
+
Tom H Fuertes <TomFuertes@gmail.com>
|
160
|
+
Roland Eckl <eckl.roland@googlemail.com>
|
161
|
+
Jay Merrifield <fracmak@gmail.com>
|
162
|
+
Allen J Schmidt Jr <cobrasoft@gmail.com>
|
163
|
+
Jonathan Sampson <jjdsampson@gmail.com>
|
164
|
+
Marcel Greter <marcel.greter@ocbnet.ch>
|
165
|
+
Matthias Jäggli <matthias.jaeggli@gmail.com>
|
166
|
+
David Fox <dfoxinator@gmail.com>
|
167
|
+
Yiming He <yiminghe@gmail.com>
|
168
|
+
Devin Cooper <cooper.semantics@gmail.com>
|
169
|
+
Paul Ramos <paul.b.ramos@gmail.com>
|
170
|
+
Rod Vagg <rod@vagg.org>
|
171
|
+
Bennett Sorbo <bsorbo@gmail.com>
|
172
|
+
Sebastian Burkhard <sebi.burkhard@gmail.com>
|
173
|
+
Zachary Adam Kaplan <razic@viralkitty.com>
|
174
|
+
nanto_vi <nanto@moon.email.ne.jp>
|
175
|
+
nanto <nanto@moon.email.ne.jp>
|
176
|
+
Danil Somsikov <danilasomsikov@gmail.com>
|
177
|
+
Ryunosuke SATO <tricknotes.rs@gmail.com>
|
178
|
+
Jean Boussier <jean.boussier@gmail.com>
|
179
|
+
Adam Coulombe <me@adam.co>
|
180
|
+
Andrew Plummer <plummer.andrew@gmail.com>
|
181
|
+
Mark Raddatz <mraddatz@gmail.com>
|
182
|
+
Isaac Z. Schlueter <i@izs.me>
|
183
|
+
Karl Sieburg <ksieburg@yahoo.com>
|
184
|
+
Pascal Borreli <pascal@borreli.com>
|
185
|
+
Nguyen Phuc Lam <ruado1987@gmail.com>
|
186
|
+
Dmitry Gusev <dmitry.gusev@gmail.com>
|
187
|
+
Michał Gołębiowski <m.goleb@gmail.com>
|
188
|
+
Li Xudong <istonelee@gmail.com>
|
189
|
+
Steven Benner <admin@stevenbenner.com>
|
190
|
+
Tom H Fuertes <tomfuertes@gmail.com>
|
191
|
+
Renato Oliveira dos Santos <ros3@cin.ufpe.br>
|
192
|
+
ros3cin <ros3@cin.ufpe.br>
|
193
|
+
Jason Bedard <jason+jquery@jbedard.ca>
|
194
|
+
Kyle Robinson Young <kyle@dontkry.com>
|
195
|
+
Chris Talkington <chris@talkingtontech.com>
|
196
|
+
Eddie Monge <eddie@eddiemonge.com>
|
197
|
+
Terry Jones <terry@jon.es>
|
198
|
+
Jason Merino <jasonmerino@gmail.com>
|
199
|
+
Jeremy Dunck <jdunck@gmail.com>
|
200
|
+
Chris Price <price.c@gmail.com>
|
201
|
+
Guy Bedford <guybedford@gmail.com>
|
202
|
+
Amey Sakhadeo <me@ameyms.com>
|
203
|
+
Mike Sidorov <mikes.ekb@gmail.com>
|
204
|
+
Anthony Ryan <anthonyryan1@gmail.com>
|
205
|
+
Dominik D. Geyer <dominik.geyer@gmail.com>
|
206
|
+
George Kats <katsgeorgeek@gmail.com>
|
207
|
+
Lihan Li <frankieteardrop@gmail.com>
|
208
|
+
Ronny Springer <springer.ronny@gmail.com>
|
209
|
+
Chris Antaki <ChrisAntaki@gmail.com>
|
210
|
+
Marian Sollmann <marian.sollmann@cargomedia.ch>
|
211
|
+
njhamann <njhamann@gmail.com>
|
212
|
+
Ilya Kantor <iliakan@gmail.com>
|
213
|
+
David Hong <d.hong@me.com>
|
214
|
+
John Paul <john@johnkpaul.com>
|
215
|
+
Jakob Stoeck <jakob@pokermania.de>
|
216
|
+
Christopher Jones <chris@cjqed.com>
|
217
|
+
Forbes Lindesay <forbes@lindesay.co.uk>
|
218
|
+
S. Andrew Sheppard <andrew@wq.io>
|
219
|
+
Leonardo Balter <leonardo.balter@gmail.com>
|
220
|
+
Roman Reiß <me@silverwind.io>
|
221
|
+
Benjy Cui <benjytrys@gmail.com>
|
222
|
+
Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com>
|
223
|
+
John Hoven <hovenj@gmail.com>
|
224
|
+
Philip Jägenstedt <philip@foolip.org>
|
225
|
+
Christian Kosmowski <ksmwsk@gmail.com>
|
226
|
+
Liang Peng <poppinlp@gmail.com>
|
227
|
+
TJ VanToll <tj.vantoll@gmail.com>
|
228
|
+
Senya Pugach <upisfree@outlook.com>
|
229
|
+
Aurelio De Rosa <aurelioderosa@gmail.com>
|
230
|
+
Nazar Mokrynskyi <nazar@mokrynskyi.com>
|
231
|
+
Amit Merchant <bullredeyes@gmail.com>
|
232
|
+
Jason Bedard <jason+github@jbedard.ca>
|
233
|
+
Arthur Verschaeve <contact@arthurverschaeve.be>
|
234
|
+
Dan Hart <danhart@notonthehighstreet.com>
|
235
|
+
Bin Xin <rhyzix@gmail.com>
|
236
|
+
David Corbacho <davidcorbacho@gmail.com>
|
237
|
+
Veaceslav Grimalschi <grimalschi@yandex.ru>
|
238
|
+
Daniel Husar <dano.husar@gmail.com>
|
239
|
+
Frederic Hemberger <mail@frederic-hemberger.de>
|
240
|
+
Ben Toews <mastahyeti@gmail.com>
|
241
|
+
Aditya Raghavan <araghavan3@gmail.com>
|
242
|
+
Victor Homyakov <vkhomyackov@gmail.com>
|
243
|
+
Shivaji Varma <contact@shivajivarma.com>
|
244
|
+
Nicolas HENRY <icewil@gmail.com>
|
245
|
+
Anne-Gaelle Colom <coloma@westminster.ac.uk>
|
246
|
+
George Mauer <gmauer@gmail.com>
|
247
|
+
Leonardo Braga <leonardo.braga@gmail.com>
|
248
|
+
Stephen Edgar <stephen@netweb.com.au>
|
249
|
+
Thomas Tortorini <thomastortorini@gmail.com>
|
250
|
+
Winston Howes <winstonhowes@gmail.com>
|
251
|
+
Jon Hester <jon.d.hester@gmail.com>
|
252
|
+
Alexander O'Mara <me@alexomara.com>
|
253
|
+
Bastian Buchholz <buchholz.bastian@googlemail.com>
|
254
|
+
Arthur Stolyar <nekr.fabula@gmail.com>
|
255
|
+
Calvin Metcalf <calvin.metcalf@gmail.com>
|
256
|
+
Mu Haibao <mhbseal@163.com>
|
257
|
+
Richard McDaniel <rm0026@uah.edu>
|
258
|
+
Chris Rebert <github@rebertia.com>
|
259
|
+
Gabriel Schulhof <gabriel.schulhof@intel.com>
|
260
|
+
Gilad Peleg <giladp007@gmail.com>
|
261
|
+
Martin Naumann <martin@geekonaut.de>
|
262
|
+
Marek Lewandowski <m.lewandowski@cksource.com>
|
263
|
+
Bruno Pérel <brunoperel@gmail.com>
|
264
|
+
Reed Loden <reed@reedloden.com>
|
265
|
+
Daniel Nill <daniellnill@gmail.com>
|
266
|
+
Yongwoo Jeon <yongwoo.jeon@navercorp.com>
|
267
|
+
Sean Henderson <seanh.za@gmail.com>
|
268
|
+
Richard Kraaijenhagen <stdin+git@riichard.com>
|
269
|
+
Connor Atherton <c.liam.atherton@gmail.com>
|
270
|
+
Gary Ye <garysye@gmail.com>
|
271
|
+
Christian Grete <webmaster@christiangrete.com>
|
272
|
+
Liza Ramo <liza.h.ramo@gmail.com>
|
273
|
+
Julian Alexander Murillo <julian.alexander.murillo@gmail.com>
|
274
|
+
Joelle Fleurantin <joasqueeniebee@gmail.com>
|
275
|
+
Jun Sun <klsforever@gmail.com>
|
276
|
+
Devin Wilson <dwilson6.github@gmail.com>
|
277
|
+
Todor Prikumov <tono_pr@abv.bg>
|
278
|
+
Zack Hall <zackhall@outlook.com>
|
@@ -1,5 +1,13 @@
|
|
1
|
-
Copyright
|
2
|
-
|
1
|
+
Copyright jQuery Foundation and other contributors, https://jquery.org/
|
2
|
+
|
3
|
+
This software consists of voluntary contributions made by many
|
4
|
+
individuals. For exact contribution history, see the revision history
|
5
|
+
available at https://github.com/jquery/jquery
|
6
|
+
|
7
|
+
The following license applies to all parts of this software except as
|
8
|
+
documented below:
|
9
|
+
|
10
|
+
====
|
3
11
|
|
4
12
|
Permission is hereby granted, free of charge, to any person obtaining
|
5
13
|
a copy of this software and associated documentation files (the
|
@@ -19,3 +27,10 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
19
27
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
28
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
29
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
30
|
+
|
31
|
+
====
|
32
|
+
|
33
|
+
All files located in the node_modules and external directories are
|
34
|
+
externally maintained libraries used by this software which have their
|
35
|
+
own licenses; we recommend you read them, as their terms may differ from
|
36
|
+
the terms above.
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# jQuery
|
2
|
+
|
3
|
+
> jQuery is a fast, small, and feature-rich JavaScript library.
|
4
|
+
|
5
|
+
For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/).
|
6
|
+
For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
|
7
|
+
|
8
|
+
## Including jQuery
|
9
|
+
|
10
|
+
Below are some of the most common ways to include jQuery.
|
11
|
+
|
12
|
+
### Browser
|
13
|
+
|
14
|
+
#### Script tag
|
15
|
+
|
16
|
+
```html
|
17
|
+
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
|
18
|
+
```
|
19
|
+
|
20
|
+
#### Babel
|
21
|
+
|
22
|
+
[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively.
|
23
|
+
|
24
|
+
```js
|
25
|
+
import $ from "jquery";
|
26
|
+
```
|
27
|
+
|
28
|
+
#### Browserify/Webpack
|
29
|
+
|
30
|
+
There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this...
|
31
|
+
|
32
|
+
```js
|
33
|
+
var $ = require("jquery");
|
34
|
+
```
|
35
|
+
|
36
|
+
#### AMD (Asynchronous Module Definition)
|
37
|
+
|
38
|
+
AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html).
|
39
|
+
|
40
|
+
```js
|
41
|
+
define(["jquery"], function($) {
|
42
|
+
|
43
|
+
});
|
44
|
+
```
|
45
|
+
|
46
|
+
### Node
|
47
|
+
|
48
|
+
To include jQuery in [Node](nodejs.org), first install with npm.
|
49
|
+
|
50
|
+
```sh
|
51
|
+
npm install jquery
|
52
|
+
```
|
53
|
+
|
54
|
+
For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes.
|
55
|
+
|
56
|
+
```js
|
57
|
+
require("jsdom").env("", function(err, window) {
|
58
|
+
if (err) {
|
59
|
+
console.error(err);
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
|
63
|
+
var $ = require("jquery")(window);
|
64
|
+
});
|
65
|
+
```
|
@@ -1,28 +1,14 @@
|
|
1
1
|
{
|
2
2
|
"name": "jquery",
|
3
|
-
"version": "2.1.4",
|
4
3
|
"main": "dist/jquery.js",
|
5
4
|
"license": "MIT",
|
6
5
|
"ignore": [
|
7
|
-
"**/.*",
|
8
|
-
"build",
|
9
|
-
"dist/cdn",
|
10
|
-
"speed",
|
11
|
-
"test",
|
12
|
-
"*.md",
|
13
|
-
"AUTHORS.txt",
|
14
|
-
"Gruntfile.js",
|
15
6
|
"package.json"
|
16
7
|
],
|
17
|
-
"devDependencies": {
|
18
|
-
"sizzle": "2.1.1-jquery.2.1.2",
|
19
|
-
"requirejs": "2.1.10",
|
20
|
-
"qunit": "1.14.0",
|
21
|
-
"sinon": "1.8.1"
|
22
|
-
},
|
23
8
|
"keywords": [
|
24
9
|
"jquery",
|
25
10
|
"javascript",
|
11
|
+
"browser",
|
26
12
|
"library"
|
27
13
|
]
|
28
|
-
}
|
14
|
+
}
|