Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: lib/src/prism/plugins/previewer-easing/prism-previewer-easing.js

Issue 1418513006: update elements and fix some bugs (Closed) Base URL: git@github.com:dart-lang/polymer_elements.git@master
Patch Set: code review updates Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 (function() {
2
3 if (
4 typeof self !== 'undefined' && !self.Prism ||
5 typeof global !== 'undefined' && !global.Prism
6 ) {
7 return;
8 }
9
10 var languages = {
11 'css': true,
12 'less': true,
13 'sass': [
14 {
15 lang: 'sass',
16 inside: 'inside',
17 before: 'punctuation',
18 root: Prism.languages.sass && Prism.languages.sa ss['variable-line']
19 },
20 {
21 lang: 'sass',
22 inside: 'inside',
23 root: Prism.languages.sass && Prism.languages.sa ss['property-line']
24 }
25 ],
26 'scss': true,
27 'stylus': [
28 {
29 lang: 'stylus',
30 before: 'hexcode',
31 inside: 'rest',
32 root: Prism.languages.stylus && Prism.languages. stylus['property-declaration'].inside
33 },
34 {
35 lang: 'stylus',
36 before: 'hexcode',
37 inside: 'rest',
38 root: Prism.languages.stylus && Prism.languages. stylus['variable-declaration'].inside
39 }
40 ]
41 };
42
43 Prism.hooks.add('before-highlight', function (env) {
44 if (env.language && languages[env.language] && !languages[env.la nguage].initialized) {
45 var lang = languages[env.language];
46 if (Prism.util.type(lang) !== 'Array') {
47 lang = [lang];
48 }
49 lang.forEach(function(lang) {
50 var before, inside, root, skip;
51 if (lang === true) {
52 before = 'important';
53 inside = env.language;
54 lang = env.language;
55 } else {
56 before = lang.before || 'important';
57 inside = lang.inside || lang.lang;
58 root = lang.root || Prism.languages;
59 skip = lang.skip;
60 lang = env.language;
61 }
62
63 if (!skip && Prism.languages[lang]) {
64 Prism.languages.insertBefore(inside, bef ore, {
65 'easing': /\bcubic-bezier\((?:-? \d*\.?\d+,\s*){3}-?\d*\.?\d+\)\B|\b(?:linear|ease(?:-in)?(?:-out)?)(?=\s|[;}]|$) /i
66 }, root);
67 env.grammar = Prism.languages[lang];
68
69 languages[env.language] = {initialized: true};
70 }
71 });
72 }
73 });
74
75 if (Prism.plugins.Previewer) {
76 new Prism.plugins.Previewer('easing', function (value) {
77
78 value = {
79 'linear': '0,0,1,1',
80 'ease': '.25,.1,.25,1',
81 'ease-in': '.42,0,1,1',
82 'ease-out': '0,0,.58,1',
83 'ease-in-out':'.42,0,.58,1'
84 }[value] || value;
85
86 var p = value.match(/-?\d*\.?\d+/g);
87
88 if(p.length === 4) {
89 p = p.map(function(p, i) { return (i % 2? 1 - p : p) * 100; });
90
91 this.querySelector('path').setAttribute('d', 'M0 ,100 C' + p[0] + ',' + p[1] + ', ' + p[2] + ',' + p[3] + ', 100,0');
92
93 var lines = this.querySelectorAll('line');
94 lines[0].setAttribute('x2', p[0]);
95 lines[0].setAttribute('y2', p[1]);
96 lines[1].setAttribute('x2', p[2]);
97 lines[1].setAttribute('y2', p[3]);
98
99 return true;
100 }
101
102 return false;
103 }, '*', function () {
104 this._elt.innerHTML = '<svg viewBox="-20 -20 140 140" wi dth="100" height="100">' +
105 '<defs>' +
106 '<marker id="prism-previewer-easing-mark er" viewBox="0 0 4 4" refX="2" refY="2" markerUnits="strokeWidth">' +
107 '<circle cx="2" cy="2" r="1.5" / >' +
108 '</marker>' +
109 '</defs>' +
110 '<path d="M0,100 C20,50, 40,30, 100,0" />' +
111 '<line x1="0" y1="100" x2="20" y2="50" marker-st art="url(' + location.href + '#prism-previewer-easing-marker)" marker-end="url(' + location.href + '#prism-previewer-easing-marker)" />' +
112 '<line x1="100" y1="0" x2="40" y2="30" marker-st art="url(' + location.href + '#prism-previewer-easing-marker)" marker-end="url(' + location.href + '#prism-previewer-easing-marker)" />' +
113 '</svg>';
114 });
115 }
116
117 }());
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698