-
Notifications
You must be signed in to change notification settings - Fork 0
/
prism-line-range.min.js
1 lines (1 loc) · 1.1 KB
/
prism-line-range.min.js
1
!function(){function a(a){var b=fetch(a).then(function(a){return a.text()});return b}function b(b){return a(b).then(function(a){return[b,a.split("\n")]})}function c(a,b){var c=a.getAttribute("data-range"),d=c.split(","),e=d.filter(function(a){return isNaN(a)===!1}),f=parseInt(e[0],10),g=void 0===e[1]?-1:parseInt(e[1],10),h=b[1].slice(f-1,g).join("\n"),i='<code class="line-numbers">'+h.trim()+"</code>";a.getAttribute("data-start")?null:a.setAttribute("data-start",f),a.innerHTML=i,Prism.highlightAllUnder(a)}function d(){var a=Array.prototype.slice.apply(document.querySelectorAll("pre[data-fetch]")),d=a.map(function(a){return a.getAttribute("data-fetch")}),e=d.filter(function(a,b){return d.indexOf(a)==b});e.map(function(d){return b(d).then(function(b){a.map(function(a){a.getAttribute("data-fetch")===b[0]?c(a,b):null})})})}"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(Prism.hooks.add("line-range",function(a){a.plugins=a.plugins||{},a.plugins.linerange=!0}),Prism.plugins.linerange={lineRange:d},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",d):d())}();