aboutsummaryrefslogtreecommitdiff
path: root/node_modules/prismjs/plugins/wpd
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/prismjs/plugins/wpd')
-rw-r--r--node_modules/prismjs/plugins/wpd/prism-wpd.css11
-rw-r--r--node_modules/prismjs/plugins/wpd/prism-wpd.js169
-rw-r--r--node_modules/prismjs/plugins/wpd/prism-wpd.min.js1
3 files changed, 181 insertions, 0 deletions
diff --git a/node_modules/prismjs/plugins/wpd/prism-wpd.css b/node_modules/prismjs/plugins/wpd/prism-wpd.css
new file mode 100644
index 00000000..43b7165a
--- /dev/null
+++ b/node_modules/prismjs/plugins/wpd/prism-wpd.css
@@ -0,0 +1,11 @@
+code[class*="language-"] a[href],
+pre[class*="language-"] a[href] {
+ cursor: help;
+ text-decoration: none;
+}
+
+code[class*="language-"] a[href]:hover,
+pre[class*="language-"] a[href]:hover {
+ cursor: help;
+ text-decoration: underline;
+} \ No newline at end of file
diff --git a/node_modules/prismjs/plugins/wpd/prism-wpd.js b/node_modules/prismjs/plugins/wpd/prism-wpd.js
new file mode 100644
index 00000000..dc147d4f
--- /dev/null
+++ b/node_modules/prismjs/plugins/wpd/prism-wpd.js
@@ -0,0 +1,169 @@
+(function(){
+
+if (
+ typeof self !== 'undefined' && !self.Prism ||
+ typeof global !== 'undefined' && !global.Prism
+) {
+ return;
+}
+
+if (Prism.languages.css) {
+ // check whether the selector is an advanced pattern before extending it
+ if (Prism.languages.css.selector.pattern)
+ {
+ Prism.languages.css.selector.inside['pseudo-class'] = /:[\w-]+/;
+ Prism.languages.css.selector.inside['pseudo-element'] = /::[\w-]+/;
+ }
+ else
+ {
+ Prism.languages.css.selector = {
+ pattern: Prism.languages.css.selector,
+ inside: {
+ 'pseudo-class': /:[\w-]+/,
+ 'pseudo-element': /::[\w-]+/
+ }
+ };
+ }
+}
+
+if (Prism.languages.markup) {
+ Prism.languages.markup.tag.inside.tag.inside['tag-id'] = /[\w-]+/;
+
+ var Tags = {
+ HTML: {
+ 'a': 1, 'abbr': 1, 'acronym': 1, 'b': 1, 'basefont': 1, 'bdo': 1, 'big': 1, 'blink': 1, 'cite': 1, 'code': 1, 'dfn': 1, 'em': 1, 'kbd': 1, 'i': 1,
+ 'rp': 1, 'rt': 1, 'ruby': 1, 's': 1, 'samp': 1, 'small': 1, 'spacer': 1, 'strike': 1, 'strong': 1, 'sub': 1, 'sup': 1, 'time': 1, 'tt': 1, 'u': 1,
+ 'var': 1, 'wbr': 1, 'noframes': 1, 'summary': 1, 'command': 1, 'dt': 1, 'dd': 1, 'figure': 1, 'figcaption': 1, 'center': 1, 'section': 1, 'nav': 1,
+ 'article': 1, 'aside': 1, 'hgroup': 1, 'header': 1, 'footer': 1, 'address': 1, 'noscript': 1, 'isIndex': 1, 'main': 1, 'mark': 1, 'marquee': 1,
+ 'meter': 1, 'menu': 1
+ },
+ SVG: {
+ 'animateColor': 1, 'animateMotion': 1, 'animateTransform': 1, 'glyph': 1, 'feBlend': 1, 'feColorMatrix': 1, 'feComponentTransfer': 1,
+ 'feFuncR': 1, 'feFuncG': 1, 'feFuncB': 1, 'feFuncA': 1, 'feComposite': 1, 'feConvolveMatrix': 1, 'feDiffuseLighting': 1, 'feDisplacementMap': 1,
+ 'feFlood': 1, 'feGaussianBlur': 1, 'feImage': 1, 'feMerge': 1, 'feMergeNode': 1, 'feMorphology': 1, 'feOffset': 1, 'feSpecularLighting': 1,
+ 'feTile': 1, 'feTurbulence': 1, 'feDistantLight': 1, 'fePointLight': 1, 'feSpotLight': 1, 'linearGradient': 1, 'radialGradient': 1, 'altGlyph': 1,
+ 'textPath': 1, 'tref': 1, 'altglyph': 1, 'textpath': 1, 'altglyphdef': 1, 'altglyphitem': 1, 'clipPath': 1, 'color-profile': 1, 'cursor': 1,
+ 'font-face': 1, 'font-face-format': 1, 'font-face-name': 1, 'font-face-src': 1, 'font-face-uri': 1, 'foreignObject': 1, 'glyphRef': 1,
+ 'hkern': 1, 'vkern': 1
+ },
+ MathML: {}
+ }
+}
+
+var language;
+
+Prism.hooks.add('wrap', function(env) {
+ if ((env.type == 'tag-id'
+ || (env.type == 'property' && env.content.indexOf('-') != 0)
+ || (env.type == 'rule'&& env.content.indexOf('@-') != 0)
+ || (env.type == 'pseudo-class'&& env.content.indexOf(':-') != 0)
+ || (env.type == 'pseudo-element'&& env.content.indexOf('::-') != 0)
+ || (env.type == 'attr-name' && env.content.indexOf('data-') != 0)
+ ) && env.content.indexOf('<') === -1
+ ) {
+ if (env.language == 'css'
+ || env.language == 'scss'
+ || env.language == 'markup'
+ ) {
+ var href = 'https://webplatform.github.io/docs/';
+ var content = env.content;
+
+ if (env.language == 'css' || env.language == 'scss') {
+ href += 'css/';
+
+ if (env.type == 'property') {
+ href += 'properties/';
+ }
+ else if (env.type == 'rule') {
+ href += 'atrules/';
+ content = content.substring(1);
+ }
+ else if (env.type == 'pseudo-class') {
+ href += 'selectors/pseudo-classes/';
+ content = content.substring(1);
+ }
+ else if (env.type == 'pseudo-element') {
+ href += 'selectors/pseudo-elements/';
+ content = content.substring(2);
+ }
+ }
+ else if (env.language == 'markup') {
+ if (env.type == 'tag-id') {
+ // Check language
+ language = getLanguage(env.content) || language;
+
+ if (language) {
+ href += language + '/elements/';
+ }
+ else {
+ return; // Abort
+ }
+ }
+ else if (env.type == 'attr-name') {
+ if (language) {
+ href += language + '/attributes/';
+ }
+ else {
+ return; // Abort
+ }
+ }
+ }
+
+ href += content;
+ env.tag = 'a';
+ env.attributes.href = href;
+ env.attributes.target = '_blank';
+ }
+ }
+});
+
+function getLanguage(tag) {
+ var tagL = tag.toLowerCase();
+
+ if (Tags.HTML[tagL]) {
+ return 'html';
+ }
+ else if (Tags.SVG[tag]) {
+ return 'svg';
+ }
+ else if (Tags.MathML[tag]) {
+ return 'mathml';
+ }
+
+ // Not in dictionary, perform check
+ if (Tags.HTML[tagL] !== 0 && typeof document !== 'undefined') {
+ var htmlInterface = (document.createElement(tag).toString().match(/\[object HTML(.+)Element\]/) || [])[1];
+
+ if (htmlInterface && htmlInterface != 'Unknown') {
+ Tags.HTML[tagL] = 1;
+ return 'html';
+ }
+ }
+
+ Tags.HTML[tagL] = 0;
+
+ if (Tags.SVG[tag] !== 0 && typeof document !== 'undefined') {
+ var svgInterface = (document.createElementNS('http://www.w3.org/2000/svg', tag).toString().match(/\[object SVG(.+)Element\]/) || [])[1];
+
+ if (svgInterface && svgInterface != 'Unknown') {
+ Tags.SVG[tag] = 1;
+ return 'svg';
+ }
+ }
+
+ Tags.SVG[tag] = 0;
+
+ // Lame way to detect MathML, but browsers don’t expose interface names there :(
+ if (Tags.MathML[tag] !== 0) {
+ if (tag.indexOf('m') === 0) {
+ Tags.MathML[tag] = 1;
+ return 'mathml';
+ }
+ }
+
+ Tags.MathML[tag] = 0;
+
+ return null;
+}
+
+})(); \ No newline at end of file
diff --git a/node_modules/prismjs/plugins/wpd/prism-wpd.min.js b/node_modules/prismjs/plugins/wpd/prism-wpd.min.js
new file mode 100644
index 00000000..86bad362
--- /dev/null
+++ b/node_modules/prismjs/plugins/wpd/prism-wpd.min.js
@@ -0,0 +1 @@
+!function(){function e(e){var n=e.toLowerCase();if(t.HTML[n])return"html";if(t.SVG[e])return"svg";if(t.MathML[e])return"mathml";if(0!==t.HTML[n]&&"undefined"!=typeof document){var a=(document.createElement(e).toString().match(/\[object HTML(.+)Element\]/)||[])[1];if(a&&"Unknown"!=a)return t.HTML[n]=1,"html"}if(t.HTML[n]=0,0!==t.SVG[e]&&"undefined"!=typeof document){var s=(document.createElementNS("http://www.w3.org/2000/svg",e).toString().match(/\[object SVG(.+)Element\]/)||[])[1];if(s&&"Unknown"!=s)return t.SVG[e]=1,"svg"}return t.SVG[e]=0,0!==t.MathML[e]&&0===e.indexOf("m")?(t.MathML[e]=1,"mathml"):(t.MathML[e]=0,null)}if(("undefined"==typeof self||self.Prism)&&("undefined"==typeof global||global.Prism)){if(Prism.languages.css&&(Prism.languages.css.selector.pattern?(Prism.languages.css.selector.inside["pseudo-class"]=/:[\w-]+/,Prism.languages.css.selector.inside["pseudo-element"]=/::[\w-]+/):Prism.languages.css.selector={pattern:Prism.languages.css.selector,inside:{"pseudo-class":/:[\w-]+/,"pseudo-element":/::[\w-]+/}}),Prism.languages.markup){Prism.languages.markup.tag.inside.tag.inside["tag-id"]=/[\w-]+/;var t={HTML:{a:1,abbr:1,acronym:1,b:1,basefont:1,bdo:1,big:1,blink:1,cite:1,code:1,dfn:1,em:1,kbd:1,i:1,rp:1,rt:1,ruby:1,s:1,samp:1,small:1,spacer:1,strike:1,strong:1,sub:1,sup:1,time:1,tt:1,u:1,"var":1,wbr:1,noframes:1,summary:1,command:1,dt:1,dd:1,figure:1,figcaption:1,center:1,section:1,nav:1,article:1,aside:1,hgroup:1,header:1,footer:1,address:1,noscript:1,isIndex:1,main:1,mark:1,marquee:1,meter:1,menu:1},SVG:{animateColor:1,animateMotion:1,animateTransform:1,glyph:1,feBlend:1,feColorMatrix:1,feComponentTransfer:1,feFuncR:1,feFuncG:1,feFuncB:1,feFuncA:1,feComposite:1,feConvolveMatrix:1,feDiffuseLighting:1,feDisplacementMap:1,feFlood:1,feGaussianBlur:1,feImage:1,feMerge:1,feMergeNode:1,feMorphology:1,feOffset:1,feSpecularLighting:1,feTile:1,feTurbulence:1,feDistantLight:1,fePointLight:1,feSpotLight:1,linearGradient:1,radialGradient:1,altGlyph:1,textPath:1,tref:1,altglyph:1,textpath:1,altglyphdef:1,altglyphitem:1,clipPath:1,"color-profile":1,cursor:1,"font-face":1,"font-face-format":1,"font-face-name":1,"font-face-src":1,"font-face-uri":1,foreignObject:1,glyphRef:1,hkern:1,vkern:1},MathML:{}}}var n;Prism.hooks.add("wrap",function(t){if(("tag-id"==t.type||"property"==t.type&&0!=t.content.indexOf("-")||"rule"==t.type&&0!=t.content.indexOf("@-")||"pseudo-class"==t.type&&0!=t.content.indexOf(":-")||"pseudo-element"==t.type&&0!=t.content.indexOf("::-")||"attr-name"==t.type&&0!=t.content.indexOf("data-"))&&-1===t.content.indexOf("<")&&("css"==t.language||"scss"==t.language||"markup"==t.language)){var a="https://webplatform.github.io/docs/",s=t.content;if("css"==t.language||"scss"==t.language)a+="css/","property"==t.type?a+="properties/":"rule"==t.type?(a+="atrules/",s=s.substring(1)):"pseudo-class"==t.type?(a+="selectors/pseudo-classes/",s=s.substring(1)):"pseudo-element"==t.type&&(a+="selectors/pseudo-elements/",s=s.substring(2));else if("markup"==t.language)if("tag-id"==t.type){if(n=e(t.content)||n,!n)return;a+=n+"/elements/"}else if("attr-name"==t.type){if(!n)return;a+=n+"/attributes/"}a+=s,t.tag="a",t.attributes.href=a,t.attributes.target="_blank"}})}}(); \ No newline at end of file