Blame view

bower_components/prism/plugins/previewer-color/prism-previewer-color.js 3.58 KB
eb240478   Luigi Serra   public room cards...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
  (function() {
  
  	if (
  		typeof self !== 'undefined' && !self.Prism ||
  		typeof global !== 'undefined' && !global.Prism
  	) {
  		return;
  	}
  
  	var languages = {
  		'css': true,
  		'less': true,
  		'markup': {
  			lang: 'markup',
  			before: 'punctuation',
  			inside: 'inside',
  			root: Prism.languages.markup && Prism.languages.markup['tag'].inside['attr-value']
  		},
  		'sass': [
  			{
  				lang: 'sass',
  				before: 'punctuation',
  				inside: 'inside',
  				root: Prism.languages.sass && Prism.languages.sass['variable-line']
  			},
  			{
  				lang: 'sass',
  				inside: 'inside',
  				root: Prism.languages.sass && Prism.languages.sass['property-line']
  			}
  		],
  		'scss': true,
  		'stylus': [
  			{
  				lang: 'stylus',
  				before: 'hexcode',
  				inside: 'rest',
  				root: Prism.languages.stylus && Prism.languages.stylus['property-declaration'].inside
  			},
  			{
  				lang: 'stylus',
  				before: 'hexcode',
  				inside: 'rest',
  				root: Prism.languages.stylus && Prism.languages.stylus['variable-declaration'].inside
  			}
  		]
  	};
  
  	Prism.hooks.add('before-highlight', function (env) {
  		if (env.language && languages[env.language] && !languages[env.language].initialized) {
  			var lang = languages[env.language];
  			if (Prism.util.type(lang) !== 'Array') {
  				lang = [lang];
  			}
  			lang.forEach(function(lang) {
  				var before, inside, root, skip;
  				if (lang === true) {
  					before = 'important';
  					inside = env.language;
  					lang = env.language;
  				} else {
  					before = lang.before || 'important';
  					inside = lang.inside || lang.lang;
  					root = lang.root || Prism.languages;
  					skip = lang.skip;
  					lang = env.language;
  				}
  
  				if (!skip && Prism.languages[lang]) {
  					Prism.languages.insertBefore(inside, before, {
  						'color': /\B#(?:[0-9a-f]{3}){1,2}\b|\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B|\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGray|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGray|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGray|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gray|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGray|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGray|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGray|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i
  					}, root);
  					env.grammar = Prism.languages[lang];
  
  					languages[env.language] = {initialized: true};
  				}
  			});
  		}
  	});
  
  	if (Prism.plugins.Previewer) {
  		new Prism.plugins.Previewer('color', function(value) {
  			this.style.backgroundColor = '';
  			this.style.backgroundColor = value;
  			return !!this.style.backgroundColor;
  		});
  	}
  
  }());