prism-rails 1.6.0.2 → 1.6.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 43094b808cd7edec575af4caf9120fd60904ccd2
4
- data.tar.gz: 5e83274a162cba857212136b1e4f800840239c3f
3
+ metadata.gz: 2ee248f21a380ae4bc96c4dc9b30fd769ff39c8e
4
+ data.tar.gz: 21a3b043126d9cb095dbb57847e10c8542b64b7b
5
5
  SHA512:
6
- metadata.gz: 6040d21fa3ef8a18da4008b6e8df98fb27a39d96628ceaceeb1898b9697c7e591feaa6089335fce4f69c505d7b5d8434a9a3172db9a1d226544111a757a08d4d
7
- data.tar.gz: a8d5e519e0c71b3d50af9ab012c7ec01b23bc4ab0c49bdf811caeac2b9a67385097656858541fd615255c3c8507d89d2db5db4b7d30ff1626e1d4968ff1b98cf
6
+ metadata.gz: '048a0bfcec9184975cefa502e574d9d97ad13065e69b07f34eaeb46c082c33e076bbdcbd168bf7e4ce58f27e980e06b47a0e1597517c9ec7bd4f846b585fe659'
7
+ data.tar.gz: e3d5d9820e85edd03031d7ae4b460c4d31c2c82f2cda04090bff68e04f14b99e4b980cc30b6cdf574e8a3fd6767dc9763707e54b5c724726280ab4ed1bc902cb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # Prism-rails Changelog
2
2
  For Prism.js changes see [Prism.js changelog](https://github.com/PrismJS/prism/blob/gh-pages/CHANGELOG.md)
3
3
 
4
+ ## 1.6.0.3 (2017-02-07)
5
+ * BREAKING CHANGES: javascript importer file moved from prism-rails.js to prism.js
6
+ * Support for turbolinks(5) Thanks to [@simmerz](https://github.com/simmerz)
7
+
4
8
  ## 1.6.0.2 (2017-01-03)
5
9
  * Support for rails 4
6
10
 
data/README.md CHANGED
@@ -15,7 +15,7 @@ gem 'prism-rails'
15
15
  Add the following to your Javascript manifest file `application.js`:
16
16
 
17
17
  ```ruby
18
- //= require prism-rails
18
+ //= require prism
19
19
  ```
20
20
 
21
21
  Add the css for the default styling `application.css`:
@@ -85,7 +85,10 @@ Every attempt is made to mirror the currently shipping Prism.js version number w
85
85
 
86
86
  ## Contributing
87
87
 
88
- Bug reports and pull requests are welcome on GitHub at https://github.com/acharlop/prism-rails.
88
+ Bug reports and pull requests are welcome on [GitHub](https://github.com/acharlop/prism-rails).
89
+
90
+ ### Contributors
91
+ [@simmerz](https://github.com/simmerz)
89
92
 
90
93
  ## License
91
94
 
@@ -1,3 +1,3 @@
1
1
  module Prism
2
- VERSION = "1.6.0.2"
2
+ VERSION = "1.6.0.3"
3
3
  end
@@ -1,795 +1,135 @@
1
-
2
- /* **********************************************
3
- Begin prism-core.js
4
- ********************************************** */
5
-
6
- var _self = (typeof window !== 'undefined')
7
- ? window // if in browser
8
- : (
9
- (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)
10
- ? self // if in worker
11
- : {} // if in node js
12
- );
13
-
14
- /**
15
- * Prism: Lightweight, robust, elegant syntax highlighting
16
- * MIT license http://www.opensource.org/licenses/mit-license.php/
17
- * @author Lea Verou http://lea.verou.me
18
- */
19
-
20
- var Prism = (function(){
21
-
22
- // Private helper vars
23
- var lang = /\blang(?:uage)?-(\w+)\b/i;
24
- var uniqueId = 0;
25
-
26
- var _ = _self.Prism = {
27
- util: {
28
- encode: function (tokens) {
29
- if (tokens instanceof Token) {
30
- return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
31
- } else if (_.util.type(tokens) === 'Array') {
32
- return tokens.map(_.util.encode);
33
- } else {
34
- return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\u00a0/g, ' ');
35
- }
36
- },
37
-
38
- type: function (o) {
39
- return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
40
- },
41
-
42
- objId: function (obj) {
43
- if (!obj['__id']) {
44
- Object.defineProperty(obj, '__id', { value: ++uniqueId });
45
- }
46
- return obj['__id'];
47
- },
48
-
49
- // Deep clone a language definition (e.g. to extend it)
50
- clone: function (o) {
51
- var type = _.util.type(o);
52
-
53
- switch (type) {
54
- case 'Object':
55
- var clone = {};
56
-
57
- for (var key in o) {
58
- if (o.hasOwnProperty(key)) {
59
- clone[key] = _.util.clone(o[key]);
60
- }
61
- }
62
-
63
- return clone;
64
-
65
- case 'Array':
66
- // Check for existence for IE8
67
- return o.map && o.map(function(v) { return _.util.clone(v); });
68
- }
69
-
70
- return o;
71
- }
72
- },
73
-
74
- languages: {
75
- extend: function (id, redef) {
76
- var lang = _.util.clone(_.languages[id]);
77
-
78
- for (var key in redef) {
79
- lang[key] = redef[key];
80
- }
81
-
82
- return lang;
83
- },
84
-
85
- /**
86
- * Insert a token before another token in a language literal
87
- * As this needs to recreate the object (we cannot actually insert before keys in object literals),
88
- * we cannot just provide an object, we need anobject and a key.
89
- * @param inside The key (or language id) of the parent
90
- * @param before The key to insert before. If not provided, the function appends instead.
91
- * @param insert Object with the key/value pairs to insert
92
- * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.
93
- */
94
- insertBefore: function (inside, before, insert, root) {
95
- root = root || _.languages;
96
- var grammar = root[inside];
97
-
98
- if (arguments.length == 2) {
99
- insert = arguments[1];
100
-
101
- for (var newToken in insert) {
102
- if (insert.hasOwnProperty(newToken)) {
103
- grammar[newToken] = insert[newToken];
104
- }
105
- }
106
-
107
- return grammar;
108
- }
109
-
110
- var ret = {};
111
-
112
- for (var token in grammar) {
113
-
114
- if (grammar.hasOwnProperty(token)) {
115
-
116
- if (token == before) {
117
-
118
- for (var newToken in insert) {
119
-
120
- if (insert.hasOwnProperty(newToken)) {
121
- ret[newToken] = insert[newToken];
122
- }
123
- }
124
- }
125
-
126
- ret[token] = grammar[token];
127
- }
128
- }
129
-
130
- // Update references in other language definitions
131
- _.languages.DFS(_.languages, function(key, value) {
132
- if (value === root[inside] && key != inside) {
133
- this[key] = ret;
134
- }
135
- });
136
-
137
- return root[inside] = ret;
138
- },
139
-
140
- // Traverse a language definition with Depth First Search
141
- DFS: function(o, callback, type, visited) {
142
- visited = visited || {};
143
- for (var i in o) {
144
- if (o.hasOwnProperty(i)) {
145
- callback.call(o, i, o[i], type || i);
146
-
147
- if (_.util.type(o[i]) === 'Object' && !visited[_.util.objId(o[i])]) {
148
- visited[_.util.objId(o[i])] = true;
149
- _.languages.DFS(o[i], callback, null, visited);
150
- }
151
- else if (_.util.type(o[i]) === 'Array' && !visited[_.util.objId(o[i])]) {
152
- visited[_.util.objId(o[i])] = true;
153
- _.languages.DFS(o[i], callback, i, visited);
154
- }
155
- }
156
- }
157
- }
158
- },
159
- plugins: {},
160
-
161
- highlightAll: function(async, callback) {
162
- var env = {
163
- callback: callback,
164
- selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
165
- };
166
-
167
- _.hooks.run("before-highlightall", env);
168
-
169
- var elements = env.elements || document.querySelectorAll(env.selector);
170
-
171
- for (var i=0, element; element = elements[i++];) {
172
- _.highlightElement(element, async === true, env.callback);
173
- }
174
- },
175
-
176
- highlightElement: function(element, async, callback) {
177
- // Find language
178
- var language, grammar, parent = element;
179
-
180
- while (parent && !lang.test(parent.className)) {
181
- parent = parent.parentNode;
182
- }
183
-
184
- if (parent) {
185
- language = (parent.className.match(lang) || [,''])[1].toLowerCase();
186
- grammar = _.languages[language];
187
- }
188
-
189
- // Set language on the element, if not present
190
- element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
191
-
192
- // Set language on the parent, for styling
193
- parent = element.parentNode;
194
-
195
- if (/pre/i.test(parent.nodeName)) {
196
- parent.className = parent.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
197
- }
198
-
199
- var code = element.textContent;
200
-
201
- var env = {
202
- element: element,
203
- language: language,
204
- grammar: grammar,
205
- code: code
206
- };
207
-
208
- _.hooks.run('before-sanity-check', env);
209
-
210
- if (!env.code || !env.grammar) {
211
- if (env.code) {
212
- env.element.textContent = env.code;
213
- }
214
- _.hooks.run('complete', env);
215
- return;
216
- }
217
-
218
- _.hooks.run('before-highlight', env);
219
-
220
- if (async && _self.Worker) {
221
- var worker = new Worker(_.filename);
222
-
223
- worker.onmessage = function(evt) {
224
- env.highlightedCode = evt.data;
225
-
226
- _.hooks.run('before-insert', env);
227
-
228
- env.element.innerHTML = env.highlightedCode;
229
-
230
- callback && callback.call(env.element);
231
- _.hooks.run('after-highlight', env);
232
- _.hooks.run('complete', env);
233
- };
234
-
235
- worker.postMessage(JSON.stringify({
236
- language: env.language,
237
- code: env.code,
238
- immediateClose: true
239
- }));
240
- }
241
- else {
242
- env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
243
-
244
- _.hooks.run('before-insert', env);
245
-
246
- env.element.innerHTML = env.highlightedCode;
247
-
248
- callback && callback.call(element);
249
-
250
- _.hooks.run('after-highlight', env);
251
- _.hooks.run('complete', env);
252
- }
253
- },
254
-
255
- highlight: function (text, grammar, language) {
256
- var tokens = _.tokenize(text, grammar);
257
- return Token.stringify(_.util.encode(tokens), language);
258
- },
259
-
260
- tokenize: function(text, grammar, language) {
261
- var Token = _.Token;
262
-
263
- var strarr = [text];
264
-
265
- var rest = grammar.rest;
266
-
267
- if (rest) {
268
- for (var token in rest) {
269
- grammar[token] = rest[token];
270
- }
271
-
272
- delete grammar.rest;
273
- }
274
-
275
- tokenloop: for (var token in grammar) {
276
- if(!grammar.hasOwnProperty(token) || !grammar[token]) {
277
- continue;
278
- }
279
-
280
- var patterns = grammar[token];
281
- patterns = (_.util.type(patterns) === "Array") ? patterns : [patterns];
282
-
283
- for (var j = 0; j < patterns.length; ++j) {
284
- var pattern = patterns[j],
285
- inside = pattern.inside,
286
- lookbehind = !!pattern.lookbehind,
287
- greedy = !!pattern.greedy,
288
- lookbehindLength = 0,
289
- alias = pattern.alias;
290
-
291
- if (greedy && !pattern.pattern.global) {
292
- // Without the global flag, lastIndex won't work
293
- var flags = pattern.pattern.toString().match(/[imuy]*$/)[0];
294
- pattern.pattern = RegExp(pattern.pattern.source, flags + "g");
295
- }
296
-
297
- pattern = pattern.pattern || pattern;
298
-
299
- // Don’t cache length as it changes during the loop
300
- for (var i=0, pos = 0; i<strarr.length; pos += strarr[i].length, ++i) {
301
-
302
- var str = strarr[i];
303
-
304
- if (strarr.length > text.length) {
305
- // Something went terribly wrong, ABORT, ABORT!
306
- break tokenloop;
307
- }
308
-
309
- if (str instanceof Token) {
310
- continue;
311
- }
312
-
313
- pattern.lastIndex = 0;
314
-
315
- var match = pattern.exec(str),
316
- delNum = 1;
317
-
318
- // Greedy patterns can override/remove up to two previously matched tokens
319
- if (!match && greedy && i != strarr.length - 1) {
320
- pattern.lastIndex = pos;
321
- match = pattern.exec(text);
322
- if (!match) {
323
- break;
324
- }
325
-
326
- var from = match.index + (lookbehind ? match[1].length : 0),
327
- to = match.index + match[0].length,
328
- k = i,
329
- p = pos;
330
-
331
- for (var len = strarr.length; k < len && p < to; ++k) {
332
- p += strarr[k].length;
333
- // Move the index i to the element in strarr that is closest to from
334
- if (from >= p) {
335
- ++i;
336
- pos = p;
337
- }
338
- }
339
-
340
- /*
341
- * If strarr[i] is a Token, then the match starts inside another Token, which is invalid
342
- * If strarr[k - 1] is greedy we are in conflict with another greedy pattern
343
- */
344
- if (strarr[i] instanceof Token || strarr[k - 1].greedy) {
345
- continue;
346
- }
347
-
348
- // Number of tokens to delete and replace with the new match
349
- delNum = k - i;
350
- str = text.slice(pos, p);
351
- match.index -= pos;
352
- }
353
-
354
- if (!match) {
355
- continue;
356
- }
357
-
358
- if(lookbehind) {
359
- lookbehindLength = match[1].length;
360
- }
361
-
362
- var from = match.index + lookbehindLength,
363
- match = match[0].slice(lookbehindLength),
364
- to = from + match.length,
365
- before = str.slice(0, from),
366
- after = str.slice(to);
367
-
368
- var args = [i, delNum];
369
-
370
- if (before) {
371
- args.push(before);
372
- }
373
-
374
- var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);
375
-
376
- args.push(wrapped);
377
-
378
- if (after) {
379
- args.push(after);
380
- }
381
-
382
- Array.prototype.splice.apply(strarr, args);
383
- }
384
- }
385
- }
386
-
387
- return strarr;
388
- },
389
-
390
- hooks: {
391
- all: {},
392
-
393
- add: function (name, callback) {
394
- var hooks = _.hooks.all;
395
-
396
- hooks[name] = hooks[name] || [];
397
-
398
- hooks[name].push(callback);
399
- },
400
-
401
- run: function (name, env) {
402
- var callbacks = _.hooks.all[name];
403
-
404
- if (!callbacks || !callbacks.length) {
405
- return;
406
- }
407
-
408
- for (var i=0, callback; callback = callbacks[i++];) {
409
- callback(env);
410
- }
411
- }
412
- }
413
- };
414
-
415
- var Token = _.Token = function(type, content, alias, matchedStr, greedy) {
416
- this.type = type;
417
- this.content = content;
418
- this.alias = alias;
419
- // Copy of the full string this token was created from
420
- this.length = (matchedStr || "").length|0;
421
- this.greedy = !!greedy;
422
- };
423
-
424
- Token.stringify = function(o, language, parent) {
425
- if (typeof o == 'string') {
426
- return o;
427
- }
428
-
429
- if (_.util.type(o) === 'Array') {
430
- return o.map(function(element) {
431
- return Token.stringify(element, language, o);
432
- }).join('');
433
- }
434
-
435
- var env = {
436
- type: o.type,
437
- content: Token.stringify(o.content, language, parent),
438
- tag: 'span',
439
- classes: ['token', o.type],
440
- attributes: {},
441
- language: language,
442
- parent: parent
443
- };
444
-
445
- if (env.type == 'comment') {
446
- env.attributes['spellcheck'] = 'true';
447
- }
448
-
449
- if (o.alias) {
450
- var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
451
- Array.prototype.push.apply(env.classes, aliases);
452
- }
453
-
454
- _.hooks.run('wrap', env);
455
-
456
- var attributes = Object.keys(env.attributes).map(function(name) {
457
- return name + '="' + (env.attributes[name] || '').replace(/"/g, '&quot;') + '"';
458
- }).join(' ');
459
-
460
- return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '</' + env.tag + '>';
461
-
462
- };
463
-
464
- if (!_self.document) {
465
- if (!_self.addEventListener) {
466
- // in Node.js
467
- return _self.Prism;
468
- }
469
- // In worker
470
- _self.addEventListener('message', function(evt) {
471
- var message = JSON.parse(evt.data),
472
- lang = message.language,
473
- code = message.code,
474
- immediateClose = message.immediateClose;
475
-
476
- _self.postMessage(_.highlight(code, _.languages[lang], lang));
477
- if (immediateClose) {
478
- _self.close();
479
- }
480
- }, false);
481
-
482
- return _self.Prism;
483
- }
484
-
485
- //Get current script and highlight
486
- var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
487
-
488
- if (script) {
489
- _.filename = script.src;
490
-
491
- if (document.addEventListener && !script.hasAttribute('data-manual')) {
492
- if(document.readyState !== "loading") {
493
- if (window.requestAnimationFrame) {
494
- window.requestAnimationFrame(_.highlightAll);
495
- } else {
496
- window.setTimeout(_.highlightAll, 16);
497
- }
498
- }
499
- else {
500
- document.addEventListener('DOMContentLoaded', _.highlightAll);
501
- }
502
- }
1
+ //! prism
2
+ //! version : 1.6.0.2
3
+ //! authors : Avi Charlop, Prismjs.com contributors
4
+ //! license : MIT
5
+
6
+ //= require ./prism/prism-core
7
+ //= require ./prism/prism-clike
8
+ //= require ./prism/prism-javascript
9
+ //= require ./prism/prism-markup
10
+ //= require ./prism/prism-c
11
+ //= require ./prism/prism-ruby
12
+ //= require ./prism/prism-css
13
+ //= require ./prism/prism-java
14
+
15
+
16
+ //= require ./prism/prism-abap.js
17
+ //= require ./prism/prism-actionscript.js
18
+ //= require ./prism/prism-ada.js
19
+ //= require ./prism/prism-apacheconf.js
20
+ //= require ./prism/prism-apl.js
21
+ //= require ./prism/prism-applescript.js
22
+ //= require ./prism/prism-asciidoc.js
23
+ //= require ./prism/prism-aspnet.js
24
+ //= require ./prism/prism-autohotkey.js
25
+ //= require ./prism/prism-autoit.js
26
+ //= require ./prism/prism-bash.js
27
+ //= require ./prism/prism-basic.js
28
+ //= require ./prism/prism-batch.js
29
+ //= require ./prism/prism-bison.js
30
+ //= require ./prism/prism-brainfuck.js
31
+ //= require ./prism/prism-bro.js
32
+ //= require ./prism/prism-coffeescript.js
33
+ //= require ./prism/prism-core.js
34
+ //= require ./prism/prism-cpp.js
35
+ //= require ./prism/prism-crystal.js
36
+ //= require ./prism/prism-csharp.js
37
+ //= require ./prism/prism-css-extras.js
38
+ //= require ./prism/prism-d.js
39
+ //= require ./prism/prism-dart.js
40
+ //= require ./prism/prism-diff.js
41
+ //= require ./prism/prism-docker.js
42
+ //= require ./prism/prism-eiffel.js
43
+ //= require ./prism/prism-elixir.js
44
+ //= require ./prism/prism-erlang.js
45
+ //= require ./prism/prism-fortran.js
46
+ //= require ./prism/prism-fsharp.js
47
+ //= require ./prism/prism-gherkin.js
48
+ //= require ./prism/prism-git.js
49
+ //= require ./prism/prism-glsl.js
50
+ //= require ./prism/prism-go.js
51
+ //= require ./prism/prism-graphql.js
52
+ //= require ./prism/prism-groovy.js
53
+ //= require ./prism/prism-haml.js
54
+ //= require ./prism/prism-handlebars.js
55
+ //= require ./prism/prism-haskell.js
56
+ //= require ./prism/prism-haxe.js
57
+ //= require ./prism/prism-http.js
58
+ //= require ./prism/prism-icon.js
59
+ //= require ./prism/prism-inform7.js
60
+ //= require ./prism/prism-ini.js
61
+ //= require ./prism/prism-j.js
62
+ //= require ./prism/prism-jade.js
63
+ //= require ./prism/prism-jolie.js
64
+ //= require ./prism/prism-json.js
65
+ //= require ./prism/prism-jsx.js
66
+ //= require ./prism/prism-julia.js
67
+ //= require ./prism/prism-keyman.js
68
+ //= require ./prism/prism-kotlin.js
69
+ //= require ./prism/prism-latex.js
70
+ //= require ./prism/prism-less.js
71
+ //= require ./prism/prism-livescript.js
72
+ //= require ./prism/prism-lolcode.js
73
+ //= require ./prism/prism-lua.js
74
+ //= require ./prism/prism-makefile.js
75
+ //= require ./prism/prism-markdown.js
76
+ //= require ./prism/prism-matlab.js
77
+ //= require ./prism/prism-mel.js
78
+ //= require ./prism/prism-mizar.js
79
+ //= require ./prism/prism-monkey.js
80
+ //= require ./prism/prism-nasm.js
81
+ //= require ./prism/prism-nginx.js
82
+ //= require ./prism/prism-nim.js
83
+ //= require ./prism/prism-nix.js
84
+ //= require ./prism/prism-nsis.js
85
+ //= require ./prism/prism-objectivec.js
86
+ //= require ./prism/prism-ocaml.js
87
+ //= require ./prism/prism-oz.js
88
+ //= require ./prism/prism-parigp.js
89
+ //= require ./prism/prism-parser.js
90
+ //= require ./prism/prism-pascal.js
91
+ //= require ./prism/prism-perl.js
92
+ //= require ./prism/prism-php-extras.js
93
+ //= require ./prism/prism-php.js
94
+ //= require ./prism/prism-powershell.js
95
+ //= require ./prism/prism-processing.js
96
+ //= require ./prism/prism-prolog.js
97
+ //= require ./prism/prism-properties.js
98
+ //= require ./prism/prism-protobuf.js
99
+ //= require ./prism/prism-puppet.js
100
+ //= require ./prism/prism-pure.js
101
+ //= require ./prism/prism-python.js
102
+ //= require ./prism/prism-q.js
103
+ //= require ./prism/prism-qore.js
104
+ //= require ./prism/prism-r.js
105
+ //= require ./prism/prism-reason.js
106
+ //= require ./prism/prism-rest.js
107
+ //= require ./prism/prism-rip.js
108
+ //= require ./prism/prism-roboconf.js
109
+ //= require ./prism/prism-rust.js
110
+ //= require ./prism/prism-sas.js
111
+ //= require ./prism/prism-sass.js
112
+ //= require ./prism/prism-scala.js
113
+ //= require ./prism/prism-scheme.js
114
+ //= require ./prism/prism-scss.js
115
+ //= require ./prism/prism-smalltalk.js
116
+ //= require ./prism/prism-smarty.js
117
+ //= require ./prism/prism-sql.js
118
+ //= require ./prism/prism-stylus.js
119
+ //= require ./prism/prism-swift.js
120
+ //= require ./prism/prism-tcl.js
121
+ //= require ./prism/prism-textile.js
122
+ //= require ./prism/prism-twig.js
123
+ //= require ./prism/prism-typescript.js
124
+ //= require ./prism/prism-verilog.js
125
+ //= require ./prism/prism-vhdl.js
126
+ //= require ./prism/prism-vim.js
127
+ //= require ./prism/prism-wiki.js
128
+ //= require ./prism/prism-xojo.js
129
+ //= require ./prism/prism-yaml.js
130
+
131
+ if(typeof Turbolinks != 'undefined' && Turbolinks.supported) {
132
+ document.addEventListener('turbolinks:load', function() {
133
+ Prism.highlightAll()
134
+ });
503
135
  }
504
-
505
- return _self.Prism;
506
-
507
- })();
508
-
509
- if (typeof module !== 'undefined' && module.exports) {
510
- module.exports = Prism;
511
- }
512
-
513
- // hack for components to work correctly in node.js
514
- if (typeof global !== 'undefined') {
515
- global.Prism = Prism;
516
- }
517
-
518
-
519
- /* **********************************************
520
- Begin prism-markup.js
521
- ********************************************** */
522
-
523
- Prism.languages.markup = {
524
- 'comment': /<!--[\w\W]*?-->/,
525
- 'prolog': /<\?[\w\W]+?\?>/,
526
- 'doctype': /<!DOCTYPE[\w\W]+?>/i,
527
- 'cdata': /<!\[CDATA\[[\w\W]*?]]>/i,
528
- 'tag': {
529
- pattern: /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
530
- inside: {
531
- 'tag': {
532
- pattern: /^<\/?[^\s>\/]+/i,
533
- inside: {
534
- 'punctuation': /^<\/?/,
535
- 'namespace': /^[^\s>\/:]+:/
536
- }
537
- },
538
- 'attr-value': {
539
- pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
540
- inside: {
541
- 'punctuation': /[=>"']/
542
- }
543
- },
544
- 'punctuation': /\/?>/,
545
- 'attr-name': {
546
- pattern: /[^\s>\/]+/,
547
- inside: {
548
- 'namespace': /^[^\s>\/:]+:/
549
- }
550
- }
551
-
552
- }
553
- },
554
- 'entity': /&#?[\da-z]{1,8};/i
555
- };
556
-
557
- // Plugin to make entity title show the real entity, idea by Roman Komarov
558
- Prism.hooks.add('wrap', function(env) {
559
-
560
- if (env.type === 'entity') {
561
- env.attributes['title'] = env.content.replace(/&amp;/, '&');
562
- }
563
- });
564
-
565
- Prism.languages.xml = Prism.languages.markup;
566
- Prism.languages.html = Prism.languages.markup;
567
- Prism.languages.mathml = Prism.languages.markup;
568
- Prism.languages.svg = Prism.languages.markup;
569
-
570
-
571
- /* **********************************************
572
- Begin prism-css.js
573
- ********************************************** */
574
-
575
- Prism.languages.css = {
576
- 'comment': /\/\*[\w\W]*?\*\//,
577
- 'atrule': {
578
- pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
579
- inside: {
580
- 'rule': /@[\w-]+/
581
- // See rest below
582
- }
583
- },
584
- 'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
585
- 'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
586
- 'string': {
587
- pattern: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
588
- greedy: true
589
- },
590
- 'property': /(\b|\B)[\w-]+(?=\s*:)/i,
591
- 'important': /\B!important\b/i,
592
- 'function': /[-a-z0-9]+(?=\()/i,
593
- 'punctuation': /[(){};:]/
594
- };
595
-
596
- Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
597
-
598
- if (Prism.languages.markup) {
599
- Prism.languages.insertBefore('markup', 'tag', {
600
- 'style': {
601
- pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
602
- lookbehind: true,
603
- inside: Prism.languages.css,
604
- alias: 'language-css'
605
- }
606
- });
607
-
608
- Prism.languages.insertBefore('inside', 'attr-value', {
609
- 'style-attr': {
610
- pattern: /\s*style=("|').*?\1/i,
611
- inside: {
612
- 'attr-name': {
613
- pattern: /^\s*style/i,
614
- inside: Prism.languages.markup.tag.inside
615
- },
616
- 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
617
- 'attr-value': {
618
- pattern: /.+/i,
619
- inside: Prism.languages.css
620
- }
621
- },
622
- alias: 'language-css'
623
- }
624
- }, Prism.languages.markup.tag);
625
- }
626
-
627
- /* **********************************************
628
- Begin prism-clike.js
629
- ********************************************** */
630
-
631
- Prism.languages.clike = {
632
- 'comment': [
633
- {
634
- pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
635
- lookbehind: true
636
- },
637
- {
638
- pattern: /(^|[^\\:])\/\/.*/,
639
- lookbehind: true
640
- }
641
- ],
642
- 'string': {
643
- pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
644
- greedy: true
645
- },
646
- 'class-name': {
647
- pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
648
- lookbehind: true,
649
- inside: {
650
- punctuation: /(\.|\\)/
651
- }
652
- },
653
- 'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
654
- 'boolean': /\b(true|false)\b/,
655
- 'function': /[a-z0-9_]+(?=\()/i,
656
- 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
657
- 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
658
- 'punctuation': /[{}[\];(),.:]/
659
- };
660
-
661
-
662
- /* **********************************************
663
- Begin prism-javascript.js
664
- ********************************************** */
665
-
666
- Prism.languages.javascript = Prism.languages.extend('clike', {
667
- 'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
668
- 'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
669
- // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
670
- 'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,
671
- 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/
672
- });
673
-
674
- Prism.languages.insertBefore('javascript', 'keyword', {
675
- 'regex': {
676
- pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
677
- lookbehind: true,
678
- greedy: true
679
- }
680
- });
681
-
682
- Prism.languages.insertBefore('javascript', 'string', {
683
- 'template-string': {
684
- pattern: /`(?:\\\\|\\?[^\\])*?`/,
685
- greedy: true,
686
- inside: {
687
- 'interpolation': {
688
- pattern: /\$\{[^}]+\}/,
689
- inside: {
690
- 'interpolation-punctuation': {
691
- pattern: /^\$\{|\}$/,
692
- alias: 'punctuation'
693
- },
694
- rest: Prism.languages.javascript
695
- }
696
- },
697
- 'string': /[\s\S]+/
698
- }
699
- }
700
- });
701
-
702
- if (Prism.languages.markup) {
703
- Prism.languages.insertBefore('markup', 'tag', {
704
- 'script': {
705
- pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
706
- lookbehind: true,
707
- inside: Prism.languages.javascript,
708
- alias: 'language-javascript'
709
- }
710
- });
711
- }
712
-
713
- Prism.languages.js = Prism.languages.javascript;
714
-
715
- /* **********************************************
716
- Begin prism-file-highlight.js
717
- ********************************************** */
718
-
719
- (function () {
720
- if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
721
- return;
722
- }
723
-
724
- self.Prism.fileHighlight = function() {
725
-
726
- var Extensions = {
727
- 'js': 'javascript',
728
- 'py': 'python',
729
- 'rb': 'ruby',
730
- 'ps1': 'powershell',
731
- 'psm1': 'powershell',
732
- 'sh': 'bash',
733
- 'bat': 'batch',
734
- 'h': 'c',
735
- 'tex': 'latex'
736
- };
737
-
738
- if(Array.prototype.forEach) { // Check to prevent error in IE8
739
- Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
740
- var src = pre.getAttribute('data-src');
741
-
742
- var language, parent = pre;
743
- var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
744
- while (parent && !lang.test(parent.className)) {
745
- parent = parent.parentNode;
746
- }
747
-
748
- if (parent) {
749
- language = (pre.className.match(lang) || [, ''])[1];
750
- }
751
-
752
- if (!language) {
753
- var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
754
- language = Extensions[extension] || extension;
755
- }
756
-
757
- var code = document.createElement('code');
758
- code.className = 'language-' + language;
759
-
760
- pre.textContent = '';
761
-
762
- code.textContent = 'Loading…';
763
-
764
- pre.appendChild(code);
765
-
766
- var xhr = new XMLHttpRequest();
767
-
768
- xhr.open('GET', src, true);
769
-
770
- xhr.onreadystatechange = function () {
771
- if (xhr.readyState == 4) {
772
-
773
- if (xhr.status < 400 && xhr.responseText) {
774
- code.textContent = xhr.responseText;
775
-
776
- Prism.highlightElement(code);
777
- }
778
- else if (xhr.status >= 400) {
779
- code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
780
- }
781
- else {
782
- code.textContent = '✖ Error: File does not exist or is empty';
783
- }
784
- }
785
- };
786
-
787
- xhr.send(null);
788
- });
789
- }
790
-
791
- };
792
-
793
- document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
794
-
795
- })();
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prism-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.2
4
+ version: 1.6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Avi Charlop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-03 00:00:00.000000000 Z
11
+ date: 2017-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -69,7 +69,6 @@ files:
69
69
  - vendor/assets/javascripts/prism-plugin/prism-toolbar.js
70
70
  - vendor/assets/javascripts/prism-plugin/prism-unescaped-markup.js
71
71
  - vendor/assets/javascripts/prism-plugin/prism-wpd.js
72
- - vendor/assets/javascripts/prism-rails.js
73
72
  - vendor/assets/javascripts/prism.js
74
73
  - vendor/assets/javascripts/prism/prism-abap.js
75
74
  - vendor/assets/javascripts/prism/prism-actionscript.js
@@ -251,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
250
  version: 1.3.6
252
251
  requirements: []
253
252
  rubyforge_project:
254
- rubygems_version: 2.5.1
253
+ rubygems_version: 2.6.8
255
254
  signing_key:
256
255
  specification_version: 4
257
256
  summary: prism-rails wraps the Prism.js library in a rails engine for simple use with
@@ -1,131 +0,0 @@
1
- //! prism-rails
2
- //! version : 1.6.0
3
- //! authors : Avi Charlop, Prismjs.com contributors
4
- //! license : MIT
5
-
6
- //= require ./prism/prism-core
7
- //= require ./prism/prism-clike
8
- //= require ./prism/prism-javascript
9
- //= require ./prism/prism-markup
10
- //= require ./prism/prism-c
11
- //= require ./prism/prism-ruby
12
- //= require ./prism/prism-css
13
- //= require ./prism/prism-java
14
-
15
-
16
- //= require ./prism/prism-abap.js
17
- //= require ./prism/prism-actionscript.js
18
- //= require ./prism/prism-ada.js
19
- //= require ./prism/prism-apacheconf.js
20
- //= require ./prism/prism-apl.js
21
- //= require ./prism/prism-applescript.js
22
- //= require ./prism/prism-asciidoc.js
23
- //= require ./prism/prism-aspnet.js
24
- //= require ./prism/prism-autohotkey.js
25
- //= require ./prism/prism-autoit.js
26
- //= require ./prism/prism-bash.js
27
- //= require ./prism/prism-basic.js
28
- //= require ./prism/prism-batch.js
29
- //= require ./prism/prism-bison.js
30
- //= require ./prism/prism-brainfuck.js
31
- //= require ./prism/prism-bro.js
32
- //= require ./prism/prism-coffeescript.js
33
- //= require ./prism/prism-core.js
34
- //= require ./prism/prism-cpp.js
35
- //= require ./prism/prism-crystal.js
36
- //= require ./prism/prism-csharp.js
37
- //= require ./prism/prism-css-extras.js
38
- //= require ./prism/prism-d.js
39
- //= require ./prism/prism-dart.js
40
- //= require ./prism/prism-diff.js
41
- //= require ./prism/prism-docker.js
42
- //= require ./prism/prism-eiffel.js
43
- //= require ./prism/prism-elixir.js
44
- //= require ./prism/prism-erlang.js
45
- //= require ./prism/prism-fortran.js
46
- //= require ./prism/prism-fsharp.js
47
- //= require ./prism/prism-gherkin.js
48
- //= require ./prism/prism-git.js
49
- //= require ./prism/prism-glsl.js
50
- //= require ./prism/prism-go.js
51
- //= require ./prism/prism-graphql.js
52
- //= require ./prism/prism-groovy.js
53
- //= require ./prism/prism-haml.js
54
- //= require ./prism/prism-handlebars.js
55
- //= require ./prism/prism-haskell.js
56
- //= require ./prism/prism-haxe.js
57
- //= require ./prism/prism-http.js
58
- //= require ./prism/prism-icon.js
59
- //= require ./prism/prism-inform7.js
60
- //= require ./prism/prism-ini.js
61
- //= require ./prism/prism-j.js
62
- //= require ./prism/prism-jade.js
63
- //= require ./prism/prism-jolie.js
64
- //= require ./prism/prism-json.js
65
- //= require ./prism/prism-jsx.js
66
- //= require ./prism/prism-julia.js
67
- //= require ./prism/prism-keyman.js
68
- //= require ./prism/prism-kotlin.js
69
- //= require ./prism/prism-latex.js
70
- //= require ./prism/prism-less.js
71
- //= require ./prism/prism-livescript.js
72
- //= require ./prism/prism-lolcode.js
73
- //= require ./prism/prism-lua.js
74
- //= require ./prism/prism-makefile.js
75
- //= require ./prism/prism-markdown.js
76
- //= require ./prism/prism-matlab.js
77
- //= require ./prism/prism-mel.js
78
- //= require ./prism/prism-mizar.js
79
- //= require ./prism/prism-monkey.js
80
- //= require ./prism/prism-nasm.js
81
- //= require ./prism/prism-nginx.js
82
- //= require ./prism/prism-nim.js
83
- //= require ./prism/prism-nix.js
84
- //= require ./prism/prism-nsis.js
85
- //= require ./prism/prism-objectivec.js
86
- //= require ./prism/prism-ocaml.js
87
- //= require ./prism/prism-oz.js
88
- //= require ./prism/prism-parigp.js
89
- //= require ./prism/prism-parser.js
90
- //= require ./prism/prism-pascal.js
91
- //= require ./prism/prism-perl.js
92
- //= require ./prism/prism-php-extras.js
93
- //= require ./prism/prism-php.js
94
- //= require ./prism/prism-powershell.js
95
- //= require ./prism/prism-processing.js
96
- //= require ./prism/prism-prolog.js
97
- //= require ./prism/prism-properties.js
98
- //= require ./prism/prism-protobuf.js
99
- //= require ./prism/prism-puppet.js
100
- //= require ./prism/prism-pure.js
101
- //= require ./prism/prism-python.js
102
- //= require ./prism/prism-q.js
103
- //= require ./prism/prism-qore.js
104
- //= require ./prism/prism-r.js
105
- //= require ./prism/prism-reason.js
106
- //= require ./prism/prism-rest.js
107
- //= require ./prism/prism-rip.js
108
- //= require ./prism/prism-roboconf.js
109
- //= require ./prism/prism-rust.js
110
- //= require ./prism/prism-sas.js
111
- //= require ./prism/prism-sass.js
112
- //= require ./prism/prism-scala.js
113
- //= require ./prism/prism-scheme.js
114
- //= require ./prism/prism-scss.js
115
- //= require ./prism/prism-smalltalk.js
116
- //= require ./prism/prism-smarty.js
117
- //= require ./prism/prism-sql.js
118
- //= require ./prism/prism-stylus.js
119
- //= require ./prism/prism-swift.js
120
- //= require ./prism/prism-tcl.js
121
- //= require ./prism/prism-textile.js
122
- //= require ./prism/prism-twig.js
123
- //= require ./prism/prism-typescript.js
124
- //= require ./prism/prism-verilog.js
125
- //= require ./prism/prism-vhdl.js
126
- //= require ./prism/prism-vim.js
127
- //= require ./prism/prism-wiki.js
128
- //= require ./prism/prism-xojo.js
129
- //= require ./prism/prism-yaml.js
130
-
131
- //= require ./prism