OLD | NEW |
1 (function(){ | 1 (function(){ |
2 | 2 |
3 if (!self.Prism) { | 3 if (typeof self === 'undefined' || !self.Prism || !self.document) { |
4 return; | 4 return; |
5 } | 5 } |
6 | 6 |
7 var Languages = { | 7 // The languages map is built automatically with gulp |
8 » 'csharp': 'C#', | 8 var Languages = /*languages_placeholder[*/{"css":"CSS","clike":"C-like","javascr
ipt":"JavaScript","abap":"ABAP","actionscript":"ActionScript","apacheconf":"Apac
he Configuration","apl":"APL","applescript":"AppleScript","aspnet":"ASP.NET (C#)
","autoit":"AutoIt","autohotkey":"AutoHotkey","basic":"BASIC","csharp":"C#","cpp
":"C++","coffeescript":"CoffeeScript","css-extras":"CSS Extras","fsharp":"F#","g
lsl":"GLSL","http":"HTTP","inform7":"Inform 7","latex":"LaTeX","lolcode":"LOLCOD
E","matlab":"MATLAB","mel":"MEL","nasm":"NASM","nginx":"nginx","nsis":"NSIS","ob
jectivec":"Objective-C","ocaml":"OCaml","php":"PHP","php-extras":"PHP Extras","p
owershell":"PowerShell","jsx":"React JSX","rest":"reST (reStructuredText)","sas"
:"SAS","sass":"Sass (Sass)","scss":"Sass (Scss)","sql":"SQL","typescript":"TypeS
cript","vhdl":"VHDL","vim":"vim","wiki":"Wiki markup","yaml":"YAML"}/*]*/; |
9 » 'cpp': 'C++' | |
10 }; | |
11 Prism.hooks.add('before-highlight', function(env) { | 9 Prism.hooks.add('before-highlight', function(env) { |
12 var pre = env.element.parentNode; | 10 var pre = env.element.parentNode; |
13 if (!pre || !/pre/i.test(pre.nodeName)) { | 11 if (!pre || !/pre/i.test(pre.nodeName)) { |
14 return; | 12 return; |
15 } | 13 } |
16 » var language = Languages[env.language] || env.language; | 14 » var language = Languages[env.language] || (env.language.substring(0, 1).
toUpperCase() + env.language.substring(1)); |
17 pre.setAttribute('data-language', language); | 15 pre.setAttribute('data-language', language); |
| 16 |
| 17 /* check if the divs already exist */ |
| 18 var sib = pre.previousSibling; |
| 19 var div, div2; |
| 20 if (sib && /\s*\bprism-show-language\b\s*/.test(sib.className) && |
| 21 sib.firstChild && |
| 22 /\s*\bprism-show-language-label\b\s*/.test(sib.firstChild.classN
ame)) { |
| 23 div2 = sib.firstChild; |
| 24 if (div2.getAttribute('data-language') !== language) { |
| 25 div2.setAttribute('data-language', language); |
| 26 div2.innerHTML = language; |
| 27 } |
| 28 } else { |
| 29 div = document.createElement('div'); |
| 30 div2 = document.createElement('div'); |
| 31 |
| 32 div2.className = 'prism-show-language-label'; |
| 33 div2.setAttribute('data-language', language); |
| 34 div2.innerHTML = language; |
| 35 |
| 36 div.className = 'prism-show-language'; |
| 37 div.appendChild(div2); |
| 38 |
| 39 pre.parentNode.insertBefore(div, pre); |
| 40 } |
18 }); | 41 }); |
19 | 42 |
20 })(); | 43 })(); |
OLD | NEW |