[3.1.10] highlight.js
Verfasst: 17.05.2017 03:46
Da ich einige Schwierigkeiten bei der Integration von highlight.js hatte, beschreibe ich hier mein Vorgehen.
Folgende Änderungen fügen dem BBcode [ code ] highlight.js syntax highlighting hinzu:
Änderungen in viewtopic_body.html :
Liste der verfügbaren Styles: Link |Demo
Folgende Änderungen fügen dem BBcode [ code ] highlight.js syntax highlighting hinzu:
Änderungen in viewtopic_body.html :
Code: Alles auswählen
<!-- EVENT viewtopic_topic_title_prepend -->
Code: Alles auswählen
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
<script>var hljsCSS = "//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css";</script>
Code: Alles auswählen
<!-- EVENT viewtopic_body_postrow_post_after -->
Code: Alles auswählen
<script>
if(document.getElementsByTagName("code").length){var selectCode=function(b){SelectText(b.parentNode.parentNode.querySelector("code"))},SelectText=function(b){if(document.body.createTextRange){var a=document.body.createTextRange();a.moveToElementText(b);a.select()}else if(window.getSelection){var d=window.getSelection();a=document.createRange();a.selectNodeContents(b);d.removeAllRanges();d.addRange(a)}},hljsProcess=function(){var b=new XMLHttpRequest;b.onreadystatechange=function(){if(4==b.readyState&& 200==b.status){var a=document.createElement("link");a.type="text/css";a.rel="stylesheet";a.href=hljsCSS;document.getElementsByTagName("head")[0].appendChild(a);a=document.querySelectorAll(".codebox > code");for(var d=/.hljs{(.+?)}/gi.exec(b.responseText)[1].concat(";").match(/(.+?):(.+?);/gi),c=a.length-1;-1<c;c--){for(var e=document.createElement("pre").appendChild(a[0].cloneNode(!0)),f=d.length-1;-1<f;f--){var g=/(.+?):(.+?);/i.exec(d[f]);e.style[g[1]]=g[2]}e.style.font="inherit";e.style.whiteSpace= "pre";a[0].outerHTML=e.outerHTML;a=document.querySelectorAll(".codebox > code");wrap(a[0],document.createElement("pre"))}a=document.querySelectorAll("pre code");for(c=a.length-1;-1<c;c--)a[c].innerHTML=a[c].innerHTML.replace(/<br>/gi," ");hljs.initHighlighting()}};b.open("GET",hljsCSS,!0);b.send()},wrap=function(b,a){b.parentNode.insertBefore(a,b);a.appendChild(b)};hljsProcess()};
</script>