From c6e496772858f772336019dd8953cebc2dff0f65 Mon Sep 17 00:00:00 2001 From: Marcel van der Boom Date: Thu, 29 Nov 2018 16:25:53 +0100 Subject: [PATCH 1/3] Add support for all languages - dynamically construct a list of languages to load - fire hightlighting once last file has loaded --- templates/include/post-render.tmpl | 61 ++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/templates/include/post-render.tmpl b/templates/include/post-render.tmpl index 8ff2bbb..8e694a0 100644 --- a/templates/include/post-render.tmpl +++ b/templates/include/post-render.tmpl @@ -3,30 +3,53 @@ From 3b4d14f19453f33644d398e538ff751862c3973c Mon Sep 17 00:00:00 2001 From: Marcel van der Boom Date: Thu, 29 Nov 2018 17:36:50 +0100 Subject: [PATCH 2/3] Only push language uri once on load stack --- templates/include/post-render.tmpl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/include/post-render.tmpl b/templates/include/post-render.tmpl index 8e694a0..7079ccd 100644 --- a/templates/include/post-render.tmpl +++ b/templates/include/post-render.tmpl @@ -44,8 +44,9 @@ // Check what we need to load for (i=0; i < lb.length; i++) { lang = lb[i].className.replace('language-',''); - if (!langs.includes(lang)) { - jss.push(hlbaseUri + "languages/" + lang + ".min.js"); + lurl = hlbaseUri + "languages/" + lang + ".min.js"; + if (!(langs.includes(lang) || jss.includes(lurl))) { + jss.push(lurl); } } // Load files in order, higlight on last load From 5fc41687be6bca83dea563e0910e89016e0b0794 Mon Sep 17 00:00:00 2001 From: Matt Baer Date: Mon, 3 Dec 2018 12:18:04 -0500 Subject: [PATCH 3/3] Fix whitespace --- templates/include/post-render.tmpl | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/templates/include/post-render.tmpl b/templates/include/post-render.tmpl index 7079ccd..1ad2454 100644 --- a/templates/include/post-render.tmpl +++ b/templates/include/post-render.tmpl @@ -22,12 +22,13 @@ // Given a array of URIs, load them in order function loadLanguages(uris, callback) { uris.forEach(function(uri) { - var sc=document.createElement('script'); - sc.src=uri; sc.async=false; // critical? - if( uris.indexOf(uri) == uris.length-1) { - sc.onload = callback; - } - document.head.appendChild(sc); + var sc = document.createElement('script'); + sc.src = uri; + sc.async = false; // critical? + if (uris.indexOf(uri) == uris.length-1) { + sc.onload = callback; + } + document.head.appendChild(sc); }); } @@ -44,10 +45,10 @@ // Check what we need to load for (i=0; i < lb.length; i++) { lang = lb[i].className.replace('language-',''); - lurl = hlbaseUri + "languages/" + lang + ".min.js"; - if (!(langs.includes(lang) || jss.includes(lurl))) { - jss.push(lurl); - } + lurl = hlbaseUri + "languages/" + lang + ".min.js"; + if (!(langs.includes(lang) || jss.includes(lurl))) { + jss.push(lurl); + } } // Load files in order, higlight on last load loadLanguages(jss, () => {highlight(lb)});