Merge pull request #128 from writeas/fix-c-syntax-highlighting

Fix #124 according to the snippet by @mrvdb
This commit is contained in:
Matt Baer 2019-06-27 15:07:04 -04:00 committed by GitHub
commit f26e0ca86e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 4 deletions

View File

@ -6,9 +6,23 @@
var hlbaseUri = "/js/";
var lb = document.querySelectorAll("code[class^='language-']");
// Set langs to the langs that are included by default (for now: 'common set' on CDN)
var langs = [];
// Custom aliasmap
var aliasmap = {
"elisp" : "lisp",
"emacs-lisp" : "lisp",
"c" : "cpp",
"cc" : "cpp",
"h" : "cpp",
"c++" : "cpp",
"h++" : "cpp",
"hpp" : "cpp",
"hh" : "cpp",
"hxx" : "cpp",
"cxx" : "cpp",
"sh" : "bash"
};
// Given a set of nodes, run highlighting on them
function highlight(nodes) {
for (i=0; i < nodes.length; i++) {
@ -22,7 +36,7 @@
var sc = document.createElement('script');
sc.src = uri;
sc.async = false; // critical?
// Set callback on last script
// Set callback on last script
if (uris.indexOf(uri) == uris.length-1) {
// Set callback regardless
// so we're sure it will run if last element had error
@ -46,8 +60,10 @@
// Check what we need to load
for (i=0; i < lb.length; i++) {
lang = lb[i].className.replace('language-','');
// Support the aliases specified above
if (aliasmap[lang]) lang = aliasmap[lang];
lurl = hlbaseUri + "highlightjs/" + lang + ".min.js";
if (!(langs.includes(lang) || jss.includes(lurl))) {
if (!jss.includes(lurl)) {
jss.push(lurl);
}
}