epuber 0.5.7 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -2
- data/README.md +20 -26
- data/bin/epuber +2 -3
- data/epuber.gemspec +10 -12
- 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 -2
- 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 +6 -6
- data/lib/epuber/compiler.rb +7 -11
- data/lib/epuber/config.rb +3 -4
- 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 +3 -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_priv.js → dataPriv.js} +2 -2
- data/lib/epuber/third_party/bower/bower_components/jquery/src/data/var/{data_user.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 +77 -46
- data/lib/epuber/ruby_extensions/string.rb +0 -16
- 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
@@ -2,20 +2,19 @@
|
|
2
2
|
* URI.js - Mutating URLs
|
3
3
|
* URI Template Support - http://tools.ietf.org/html/rfc6570
|
4
4
|
*
|
5
|
-
* Version: 1.
|
5
|
+
* Version: 1.19.10
|
6
6
|
*
|
7
7
|
* Author: Rodney Rehm
|
8
8
|
* Web: http://medialize.github.io/URI.js/
|
9
9
|
*
|
10
10
|
* Licensed under
|
11
11
|
* MIT License http://www.opensource.org/licenses/mit-license
|
12
|
-
* GPL v3 http://opensource.org/licenses/GPL-3.0
|
13
12
|
*
|
14
13
|
*/
|
15
14
|
(function (root, factory) {
|
16
15
|
'use strict';
|
17
16
|
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
18
|
-
if (typeof
|
17
|
+
if (typeof module === 'object' && module.exports) {
|
19
18
|
// Node
|
20
19
|
module.exports = factory(require('./URI'));
|
21
20
|
} else if (typeof define === 'function' && define.amd) {
|
@@ -134,12 +133,14 @@
|
|
134
133
|
// pattern to identify expressions [operator, variable-list] in template
|
135
134
|
URITemplate.EXPRESSION_PATTERN = /\{([^a-zA-Z0-9%_]?)([^\}]+)(\}|$)/g;
|
136
135
|
// pattern to identify variables [name, explode, maxlength] in variable-list
|
137
|
-
URITemplate.VARIABLE_PATTERN = /^([
|
136
|
+
URITemplate.VARIABLE_PATTERN = /^([^*:.](?:\.?[^*:.])*)((\*)|:(\d+))?$/;
|
138
137
|
// pattern to verify variable name integrity
|
139
|
-
URITemplate.VARIABLE_NAME_PATTERN = /[^a-zA-Z0-9%_]/;
|
138
|
+
URITemplate.VARIABLE_NAME_PATTERN = /[^a-zA-Z0-9%_.]/;
|
139
|
+
// pattern to verify literal integrity
|
140
|
+
URITemplate.LITERAL_PATTERN = /[<>{}"`^| \\]/;
|
140
141
|
|
141
142
|
// expand parsed expression (expression, not template!)
|
142
|
-
URITemplate.expand = function(expression, data) {
|
143
|
+
URITemplate.expand = function(expression, data, opts) {
|
143
144
|
// container for defined options for the given operator
|
144
145
|
var options = operators[expression.operator];
|
145
146
|
// expansion type (include keys or not)
|
@@ -153,6 +154,9 @@
|
|
153
154
|
for (i = 0; (variable = variables[i]); i++) {
|
154
155
|
// fetch simplified data source
|
155
156
|
d = data.get(variable.name);
|
157
|
+
if (d.type === 0 && opts && opts.strict) {
|
158
|
+
throw new Error('Missing expansion value for variable "' + variable.name + '"');
|
159
|
+
}
|
156
160
|
if (!d.val.length) {
|
157
161
|
if (d.type) {
|
158
162
|
// empty variables (empty string)
|
@@ -163,6 +167,11 @@
|
|
163
167
|
continue;
|
164
168
|
}
|
165
169
|
|
170
|
+
if (d.type > 1 && variable.maxlength) {
|
171
|
+
// composite variable cannot specify maxlength
|
172
|
+
throw new Error('Invalid expression: Prefix modifier not applicable to variable "' + variable.name + '"');
|
173
|
+
}
|
174
|
+
|
166
175
|
// expand the given variable
|
167
176
|
buffer.push(URITemplate['expand' + type](
|
168
177
|
d,
|
@@ -314,7 +323,7 @@
|
|
314
323
|
};
|
315
324
|
|
316
325
|
// expand template through given data map
|
317
|
-
p.expand = function(data) {
|
326
|
+
p.expand = function(data, opts) {
|
318
327
|
var result = '';
|
319
328
|
|
320
329
|
if (!this.parts || !this.parts.length) {
|
@@ -334,7 +343,7 @@
|
|
334
343
|
// literal string
|
335
344
|
? this.parts[i]
|
336
345
|
// expression
|
337
|
-
: URITemplate.expand(this.parts[i], data);
|
346
|
+
: URITemplate.expand(this.parts[i], data, opts);
|
338
347
|
/*jshint laxbreak: false */
|
339
348
|
}
|
340
349
|
|
@@ -347,12 +356,20 @@
|
|
347
356
|
var ePattern = URITemplate.EXPRESSION_PATTERN;
|
348
357
|
var vPattern = URITemplate.VARIABLE_PATTERN;
|
349
358
|
var nPattern = URITemplate.VARIABLE_NAME_PATTERN;
|
359
|
+
var lPattern = URITemplate.LITERAL_PATTERN;
|
350
360
|
// token result buffer
|
351
361
|
var parts = [];
|
352
362
|
// position within source template
|
353
363
|
var pos = 0;
|
354
364
|
var variables, eMatch, vMatch;
|
355
365
|
|
366
|
+
var checkLiteral = function(literal) {
|
367
|
+
if (literal.match(lPattern)) {
|
368
|
+
throw new Error('Invalid Literal "' + literal + '"');
|
369
|
+
}
|
370
|
+
return literal;
|
371
|
+
};
|
372
|
+
|
356
373
|
// RegExp is shared accross all templates,
|
357
374
|
// which requires a manual reset
|
358
375
|
ePattern.lastIndex = 0;
|
@@ -362,11 +379,11 @@
|
|
362
379
|
eMatch = ePattern.exec(expression);
|
363
380
|
if (eMatch === null) {
|
364
381
|
// push trailing literal
|
365
|
-
parts.push(expression.substring(pos));
|
382
|
+
parts.push(checkLiteral(expression.substring(pos)));
|
366
383
|
break;
|
367
384
|
} else {
|
368
385
|
// push leading literal
|
369
|
-
parts.push(expression.substring(pos, eMatch.index));
|
386
|
+
parts.push(checkLiteral(expression.substring(pos, eMatch.index)));
|
370
387
|
pos = eMatch.index + eMatch[0].length;
|
371
388
|
}
|
372
389
|
|
@@ -408,7 +425,7 @@
|
|
408
425
|
// template doesn't contain any expressions
|
409
426
|
// so it is a simple literal string
|
410
427
|
// this probably should fire a warning or something?
|
411
|
-
parts.push(expression);
|
428
|
+
parts.push(checkLiteral(expression));
|
412
429
|
}
|
413
430
|
|
414
431
|
this.parts = parts;
|
@@ -2,22 +2,21 @@
|
|
2
2
|
* URI.js - Mutating URLs
|
3
3
|
* jQuery Plugin
|
4
4
|
*
|
5
|
-
* Version: 1.
|
5
|
+
* Version: 1.19.10
|
6
6
|
*
|
7
7
|
* Author: Rodney Rehm
|
8
8
|
* Web: http://medialize.github.io/URI.js/jquery-uri-plugin.html
|
9
9
|
*
|
10
10
|
* Licensed under
|
11
11
|
* MIT License http://www.opensource.org/licenses/mit-license
|
12
|
-
* GPL v3 http://opensource.org/licenses/GPL-3.0
|
13
12
|
*
|
14
13
|
*/
|
15
14
|
(function (root, factory) {
|
16
15
|
'use strict';
|
17
16
|
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
18
|
-
if (typeof
|
17
|
+
if (typeof module === 'object' && module.exports) {
|
19
18
|
// Node
|
20
|
-
module.exports = factory(require('jquery', './URI'));
|
19
|
+
module.exports = factory(require('jquery'), require('./URI'));
|
21
20
|
} else if (typeof define === 'function' && define.amd) {
|
22
21
|
// AMD. Register as an anonymous module.
|
23
22
|
define(['jquery', './URI'], factory);
|
@@ -32,7 +31,7 @@
|
|
32
31
|
|
33
32
|
var comparable = {};
|
34
33
|
var compare = {
|
35
|
-
// equals
|
34
|
+
// equals
|
36
35
|
'=': function(value, target) {
|
37
36
|
return value === target;
|
38
37
|
},
|
@@ -52,7 +51,7 @@
|
|
52
51
|
// add trailing slash so /dir/ will match the deep-end as well
|
53
52
|
value += '/';
|
54
53
|
}
|
55
|
-
|
54
|
+
|
56
55
|
return !!(value + '').match(new RegExp(escapeRegEx(target), 'i'));
|
57
56
|
},
|
58
57
|
'equals:': function(uri, target) {
|
@@ -75,7 +74,7 @@
|
|
75
74
|
// compensate ambiguous <input> that is not an image
|
76
75
|
return undefined;
|
77
76
|
}
|
78
|
-
|
77
|
+
|
79
78
|
// NOTE: as we use a static mapping from element to attribute,
|
80
79
|
// the HTML5 attribute issue should not come up again
|
81
80
|
// https://github.com/medialize/URI.js/issues/69
|
@@ -95,7 +94,7 @@
|
|
95
94
|
}
|
96
95
|
|
97
96
|
// populate lookup table and register $.attr('uri:accessor') handlers
|
98
|
-
$.each('authority directory domain filename fragment hash host hostname href password path pathname port protocol query resource scheme search subdomain suffix tld username'.split(' '), function(k, v) {
|
97
|
+
$.each('origin authority directory domain filename fragment hash host hostname href password path pathname port protocol query resource scheme search subdomain suffix tld username'.split(' '), function(k, v) {
|
99
98
|
comparable[v] = true;
|
100
99
|
$.attrHooks['uri:' + v] = generateAccessor(v);
|
101
100
|
});
|
@@ -121,17 +120,17 @@
|
|
121
120
|
var $this = this.first();
|
122
121
|
var elem = $this.get(0);
|
123
122
|
var property = getUriProperty(elem);
|
124
|
-
|
123
|
+
|
125
124
|
if (!property) {
|
126
125
|
throw new Error('Element "' + elem.nodeName + '" does not have either property: href, src, action, cite');
|
127
126
|
}
|
128
|
-
|
127
|
+
|
129
128
|
if (uri !== undefined) {
|
130
129
|
var old = $this.data('uri');
|
131
130
|
if (old) {
|
132
131
|
return old.href(uri);
|
133
132
|
}
|
134
|
-
|
133
|
+
|
135
134
|
if (!(uri instanceof URI)) {
|
136
135
|
uri = URI(uri || '');
|
137
136
|
}
|
@@ -143,7 +142,7 @@
|
|
143
142
|
uri = URI($this.attr(property) || '');
|
144
143
|
}
|
145
144
|
}
|
146
|
-
|
145
|
+
|
147
146
|
uri._dom_element = elem;
|
148
147
|
uri._dom_attribute = property;
|
149
148
|
uri.normalize();
|
@@ -165,7 +164,7 @@
|
|
165
164
|
this._string = URI.build(this._parts);
|
166
165
|
this._deferred_build = false;
|
167
166
|
}
|
168
|
-
|
167
|
+
|
169
168
|
return this;
|
170
169
|
};
|
171
170
|
|
@@ -174,12 +173,12 @@
|
|
174
173
|
var pseudoArgs = /^([a-zA-Z]+)\s*([\^\$*]?=|:)\s*(['"]?)(.+)\3|^\s*([a-zA-Z0-9]+)\s*$/;
|
175
174
|
function uriPseudo (elem, text) {
|
176
175
|
var match, property, uri;
|
177
|
-
|
176
|
+
|
178
177
|
// skip anything without src|href|action and bad :uri() syntax
|
179
178
|
if (!getUriProperty(elem) || !text) {
|
180
179
|
return false;
|
181
180
|
}
|
182
|
-
|
181
|
+
|
183
182
|
match = text.match(pseudoArgs);
|
184
183
|
|
185
184
|
if (!match || (!match[5] && match[2] !== ':' && !compare[match[2]])) {
|
@@ -189,7 +188,7 @@
|
|
189
188
|
}
|
190
189
|
|
191
190
|
uri = $(elem).uri();
|
192
|
-
|
191
|
+
|
193
192
|
if (match[5]) {
|
194
193
|
return uri.is(match[5]);
|
195
194
|
} else if (match[2] === ':') {
|
@@ -198,7 +197,7 @@
|
|
198
197
|
// filers seem to fail silently
|
199
198
|
return false;
|
200
199
|
}
|
201
|
-
|
200
|
+
|
202
201
|
return compare[property](uri, match[4]);
|
203
202
|
} else {
|
204
203
|
property = match[1].toLowerCase();
|
@@ -206,7 +205,7 @@
|
|
206
205
|
// filers seem to fail silently
|
207
206
|
return false;
|
208
207
|
}
|
209
|
-
|
208
|
+
|
210
209
|
return compare[match[2]](uri[property](), match[4], property);
|
211
210
|
}
|
212
211
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
/*! URI.js v1.
|
1
|
+
/*! URI.js v1.19.10 http://medialize.github.io/URI.js/ */
|
2
2
|
/* build contains: jquery.URI.js */
|
3
|
-
(function(d,e){"object"===typeof exports?module.exports=e(require("jquery","./URI")):"function"===typeof define&&define.amd?define(["jquery","./URI"],e):e(d.jQuery,d.URI)})(this,function(d,e){function
|
4
|
-
!b)return!1;c=b.match(q);if(!c||!c[5]&&":"!==c[2]&&!
|
5
|
-
"equals:":function(a,b){return a.equals(b)},"is:":function(a,b){return a.is(b)}};d.each("authority directory domain filename fragment hash host hostname href password path pathname port protocol query resource scheme search subdomain suffix tld username".split(" "),function(a,b){
|
6
|
-
d.fn.uri=function(a){var b=this.first(),c=b.get(0),
|
7
|
-
this._string),this._dom_element[this._dom_attribute]=this._string;else if(!0===a)this._deferred_build=!0;else if(void 0===a||this._deferred_build)this._string=e.build(this._parts),this._deferred_build=!1;return this};var
|
3
|
+
(function(d,e){"object"===typeof module&&module.exports?module.exports=e(require("jquery"),require("./URI")):"function"===typeof define&&define.amd?define(["jquery","./URI"],e):e(d.jQuery,d.URI)})(this,function(d,e){function k(a){return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(a){var b=a.nodeName.toLowerCase();if("input"!==b||"image"===a.type)return e.domAttributes[b]}function p(a){return{get:function(b){return d(b).uri()[a]()},set:function(b,c){d(b).uri()[a](c);return c}}}function m(a,
|
4
|
+
b){if(!l(a)||!b)return!1;var c=b.match(q);if(!c||!c[5]&&":"!==c[2]&&!h[c[2]])return!1;var g=d(a).uri();if(c[5])return g.is(c[5]);if(":"===c[2]){var f=c[1].toLowerCase()+":";return h[f]?h[f](g,c[4]):!1}f=c[1].toLowerCase();return n[f]?h[c[2]](g[f](),c[4],f):!1}var n={},h={"=":function(a,b){return a===b},"^=":function(a,b){return!!(a+"").match(new RegExp("^"+k(b),"i"))},"$=":function(a,b){return!!(a+"").match(new RegExp(k(b)+"$","i"))},"*=":function(a,b,c){"directory"===c&&(a+="/");return!!(a+"").match(new RegExp(k(b),
|
5
|
+
"i"))},"equals:":function(a,b){return a.equals(b)},"is:":function(a,b){return a.is(b)}};d.each("origin authority directory domain filename fragment hash host hostname href password path pathname port protocol query resource scheme search subdomain suffix tld username".split(" "),function(a,b){n[b]=!0;d.attrHooks["uri:"+b]=p(b)});var r=function(a,b){return d(a).uri().href(b).toString()};d.each(["src","href","action","uri","cite"],function(a,b){d.attrHooks[b]={set:r}});d.attrHooks.uri.get=function(a){return d(a).uri()};
|
6
|
+
d.fn.uri=function(a){var b=this.first(),c=b.get(0),g=l(c);if(!g)throw Error('Element "'+c.nodeName+'" does not have either property: href, src, action, cite');if(void 0!==a){var f=b.data("uri");if(f)return f.href(a);a instanceof e||(a=e(a||""))}else{if(a=b.data("uri"))return a;a=e(b.attr(g)||"")}a._dom_element=c;a._dom_attribute=g;a.normalize();b.data("uri",a);return a};e.prototype.build=function(a){if(this._dom_element)this._string=e.build(this._parts),this._deferred_build=!1,this._dom_element.setAttribute(this._dom_attribute,
|
7
|
+
this._string),this._dom_element[this._dom_attribute]=this._string;else if(!0===a)this._deferred_build=!0;else if(void 0===a||this._deferred_build)this._string=e.build(this._parts),this._deferred_build=!1;return this};var q=/^([a-zA-Z]+)\s*([\^\$*]?=|:)\s*(['"]?)(.+)\3|^\s*([a-zA-Z0-9]+)\s*$/;var t=d.expr.createPseudo?d.expr.createPseudo(function(a){return function(b){return m(b,a)}}):function(a,b,c){return m(a,c[3])};d.expr[":"].uri=t;return d});
|
@@ -1,12 +1,17 @@
|
|
1
|
-
/*!
|
1
|
+
/*! https://mths.be/punycode v1.4.0 by @mathias */
|
2
2
|
;(function(root) {
|
3
3
|
|
4
4
|
/** Detect free variables */
|
5
|
-
var freeExports = typeof exports == 'object' && exports
|
5
|
+
var freeExports = typeof exports == 'object' && exports &&
|
6
|
+
!exports.nodeType && exports;
|
6
7
|
var freeModule = typeof module == 'object' && module &&
|
7
|
-
module.
|
8
|
+
!module.nodeType && module;
|
8
9
|
var freeGlobal = typeof global == 'object' && global;
|
9
|
-
if (
|
10
|
+
if (
|
11
|
+
freeGlobal.global === freeGlobal ||
|
12
|
+
freeGlobal.window === freeGlobal ||
|
13
|
+
freeGlobal.self === freeGlobal
|
14
|
+
) {
|
10
15
|
root = freeGlobal;
|
11
16
|
}
|
12
17
|
|
@@ -32,8 +37,8 @@
|
|
32
37
|
|
33
38
|
/** Regular expressions */
|
34
39
|
regexPunycode = /^xn--/,
|
35
|
-
regexNonASCII = /[
|
36
|
-
regexSeparators =
|
40
|
+
regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
|
41
|
+
regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
|
37
42
|
|
38
43
|
/** Error messages */
|
39
44
|
errors = {
|
@@ -59,7 +64,7 @@
|
|
59
64
|
* @returns {Error} Throws a `RangeError` with the applicable error message.
|
60
65
|
*/
|
61
66
|
function error(type) {
|
62
|
-
throw RangeError(errors[type]);
|
67
|
+
throw new RangeError(errors[type]);
|
63
68
|
}
|
64
69
|
|
65
70
|
/**
|
@@ -72,23 +77,37 @@
|
|
72
77
|
*/
|
73
78
|
function map(array, fn) {
|
74
79
|
var length = array.length;
|
80
|
+
var result = [];
|
75
81
|
while (length--) {
|
76
|
-
|
82
|
+
result[length] = fn(array[length]);
|
77
83
|
}
|
78
|
-
return
|
84
|
+
return result;
|
79
85
|
}
|
80
86
|
|
81
87
|
/**
|
82
|
-
* A simple `Array#map`-like wrapper to work with domain name strings
|
88
|
+
* A simple `Array#map`-like wrapper to work with domain name strings or email
|
89
|
+
* addresses.
|
83
90
|
* @private
|
84
|
-
* @param {String} domain The domain name.
|
91
|
+
* @param {String} domain The domain name or email address.
|
85
92
|
* @param {Function} callback The function that gets called for every
|
86
93
|
* character.
|
87
94
|
* @returns {Array} A new string of characters returned by the callback
|
88
95
|
* function.
|
89
96
|
*/
|
90
97
|
function mapDomain(string, fn) {
|
91
|
-
|
98
|
+
var parts = string.split('@');
|
99
|
+
var result = '';
|
100
|
+
if (parts.length > 1) {
|
101
|
+
// In email addresses, only the domain name should be punycoded. Leave
|
102
|
+
// the local part (i.e. everything up to `@`) intact.
|
103
|
+
result = parts[0] + '@';
|
104
|
+
string = parts[1];
|
105
|
+
}
|
106
|
+
// Avoid `split(regex)` for IE8 compatibility. See #17.
|
107
|
+
string = string.replace(regexSeparators, '\x2E');
|
108
|
+
var labels = string.split('.');
|
109
|
+
var encoded = map(labels, fn).join('.');
|
110
|
+
return result + encoded;
|
92
111
|
}
|
93
112
|
|
94
113
|
/**
|
@@ -98,7 +117,7 @@
|
|
98
117
|
* UCS-2 exposes as separate characters) into a single code point,
|
99
118
|
* matching UTF-16.
|
100
119
|
* @see `punycode.ucs2.encode`
|
101
|
-
* @see <
|
120
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
102
121
|
* @memberOf punycode.ucs2
|
103
122
|
* @name decode
|
104
123
|
* @param {String} string The Unicode input string (UCS-2).
|
@@ -192,7 +211,7 @@
|
|
192
211
|
|
193
212
|
/**
|
194
213
|
* Bias adaptation function as per section 3.4 of RFC 3492.
|
195
|
-
*
|
214
|
+
* https://tools.ietf.org/html/rfc3492#section-3.4
|
196
215
|
* @private
|
197
216
|
*/
|
198
217
|
function adapt(delta, numPoints, firstTime) {
|
@@ -228,7 +247,6 @@
|
|
228
247
|
k,
|
229
248
|
digit,
|
230
249
|
t,
|
231
|
-
length,
|
232
250
|
/** Cached calculation results */
|
233
251
|
baseMinusT;
|
234
252
|
|
@@ -308,8 +326,8 @@
|
|
308
326
|
}
|
309
327
|
|
310
328
|
/**
|
311
|
-
* Converts a string of Unicode symbols
|
312
|
-
* symbols.
|
329
|
+
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
330
|
+
* Punycode string of ASCII-only symbols.
|
313
331
|
* @memberOf punycode
|
314
332
|
* @param {String} input The string of Unicode symbols.
|
315
333
|
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
@@ -422,17 +440,18 @@
|
|
422
440
|
}
|
423
441
|
|
424
442
|
/**
|
425
|
-
* Converts a Punycode string representing a domain name
|
426
|
-
* Punycoded parts of the
|
427
|
-
* matter if you call it on a string that has already been
|
428
|
-
* Unicode.
|
443
|
+
* Converts a Punycode string representing a domain name or an email address
|
444
|
+
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
445
|
+
* it doesn't matter if you call it on a string that has already been
|
446
|
+
* converted to Unicode.
|
429
447
|
* @memberOf punycode
|
430
|
-
* @param {String}
|
448
|
+
* @param {String} input The Punycoded domain name or email address to
|
449
|
+
* convert to Unicode.
|
431
450
|
* @returns {String} The Unicode representation of the given Punycode
|
432
451
|
* string.
|
433
452
|
*/
|
434
|
-
function toUnicode(
|
435
|
-
return mapDomain(
|
453
|
+
function toUnicode(input) {
|
454
|
+
return mapDomain(input, function(string) {
|
436
455
|
return regexPunycode.test(string)
|
437
456
|
? decode(string.slice(4).toLowerCase())
|
438
457
|
: string;
|
@@ -440,15 +459,18 @@
|
|
440
459
|
}
|
441
460
|
|
442
461
|
/**
|
443
|
-
* Converts a Unicode string representing a domain name
|
444
|
-
* non-ASCII parts of the domain name will be converted,
|
445
|
-
* matter if you call it with a domain that's already in
|
462
|
+
* Converts a Unicode string representing a domain name or an email address to
|
463
|
+
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
464
|
+
* i.e. it doesn't matter if you call it with a domain that's already in
|
465
|
+
* ASCII.
|
446
466
|
* @memberOf punycode
|
447
|
-
* @param {String}
|
448
|
-
*
|
467
|
+
* @param {String} input The domain name or email address to convert, as a
|
468
|
+
* Unicode string.
|
469
|
+
* @returns {String} The Punycode representation of the given domain name or
|
470
|
+
* email address.
|
449
471
|
*/
|
450
|
-
function toASCII(
|
451
|
-
return mapDomain(
|
472
|
+
function toASCII(input) {
|
473
|
+
return mapDomain(input, function(string) {
|
452
474
|
return regexNonASCII.test(string)
|
453
475
|
? 'xn--' + encode(string)
|
454
476
|
: string;
|
@@ -464,11 +486,11 @@
|
|
464
486
|
* @memberOf punycode
|
465
487
|
* @type String
|
466
488
|
*/
|
467
|
-
'version': '1.2
|
489
|
+
'version': '1.3.2',
|
468
490
|
/**
|
469
491
|
* An object of methods to convert from JavaScript's internal character
|
470
492
|
* representation (UCS-2) to Unicode code points, and back.
|
471
|
-
* @see <
|
493
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
472
494
|
* @memberOf punycode
|
473
495
|
* @type Object
|
474
496
|
*/
|
@@ -490,18 +512,21 @@
|
|
490
512
|
typeof define.amd == 'object' &&
|
491
513
|
define.amd
|
492
514
|
) {
|
493
|
-
define(function() {
|
515
|
+
define('punycode', function() {
|
494
516
|
return punycode;
|
495
517
|
});
|
496
|
-
}
|
497
|
-
if (
|
518
|
+
} else if (freeExports && freeModule) {
|
519
|
+
if (module.exports == freeExports) {
|
520
|
+
// in Node.js, io.js, or RingoJS v0.8.0+
|
498
521
|
freeModule.exports = punycode;
|
499
|
-
} else {
|
522
|
+
} else {
|
523
|
+
// in Narwhal or RingoJS v0.7.0-
|
500
524
|
for (key in punycode) {
|
501
525
|
punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
|
502
526
|
}
|
503
527
|
}
|
504
|
-
} else {
|
528
|
+
} else {
|
529
|
+
// in Rhino or a web browser
|
505
530
|
root.punycode = punycode;
|
506
531
|
}
|
507
532
|
|
data/lib/epuber/transformer.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
|
2
3
|
require 'active_support/core_ext/object/try'
|
3
4
|
require 'nokogiri'
|
@@ -5,7 +6,6 @@ require 'nokogiri'
|
|
5
6
|
require_relative 'ruby_extensions/thread'
|
6
7
|
require_relative 'command'
|
7
8
|
|
8
|
-
|
9
9
|
module Epuber
|
10
10
|
class UserInterface
|
11
11
|
Location = Struct.new(:path, :lineno)
|
@@ -1,30 +1,33 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'nokogiri'
|
4
4
|
|
5
|
+
module Nokogiri
|
6
|
+
module XML
|
7
|
+
class Node
|
8
|
+
# @param [String] name
|
9
|
+
# @param [Hash, String] args
|
10
|
+
#
|
11
|
+
# @return [Nokogiri::XML::Node] new parent node
|
12
|
+
#
|
13
|
+
def surround_with_element(name, *args, &block)
|
14
|
+
new_parent = document.create_element(name, *args, &block)
|
15
|
+
old_parent = parent
|
5
16
|
|
6
|
-
|
7
|
-
# @param [String] name
|
8
|
-
# @param [Hash, String] args
|
9
|
-
#
|
10
|
-
# @return [Nokogiri::XML::Node] new parent node
|
11
|
-
#
|
12
|
-
def surround_with_element(name, *args, &block)
|
13
|
-
new_parent = document.create_element(name, *args, &block)
|
14
|
-
old_parent = parent
|
17
|
+
self.parent = new_parent
|
15
18
|
|
16
|
-
|
19
|
+
if old_parent.is_a?(Nokogiri::XML::Document)
|
20
|
+
old_parent.root = new_parent
|
21
|
+
else
|
22
|
+
old_parent.children = new_parent
|
23
|
+
end
|
17
24
|
|
18
|
-
|
19
|
-
|
20
|
-
else
|
21
|
-
old_parent.children = new_parent
|
22
|
-
end
|
25
|
+
new_parent
|
26
|
+
end
|
23
27
|
|
24
|
-
|
28
|
+
# @return [String] path to original file
|
29
|
+
#
|
30
|
+
attr_accessor :file_path
|
31
|
+
end
|
25
32
|
end
|
26
|
-
|
27
|
-
# @return [String] path to original file
|
28
|
-
#
|
29
|
-
attr_accessor :file_path
|
30
33
|
end
|
data/lib/epuber/vendor/size.rb
CHANGED
data/lib/epuber/version.rb
CHANGED
data/lib/epuber.rb
CHANGED