Sha256: a14d74f447c985404303744b75d75d52d92bdb7c4b29c837623c79551f77fde7
Contents?: true
Size: 1.46 KB
Versions: 4
Compression:
Stored size: 1.46 KB
Contents
(function() { if (typeof self === 'undefined' || !self.Prism || !self.document) { return; } Prism.hooks.add('complete', function (env) { if (!env.code) { return; } // works only for <code> wrapped inside <pre> (not inline) var pre = env.element.parentNode; var clsReg = /\s*\bline-numbers\b\s*/; if ( !pre || !/pre/i.test(pre.nodeName) || // Abort only if nor the <pre> nor the <code> have the class (!clsReg.test(pre.className) && !clsReg.test(env.element.className)) ) { return; } if (env.element.querySelector(".line-numbers-rows")) { // Abort if line numbers already exists return; } if (clsReg.test(env.element.className)) { // Remove the class "line-numbers" from the <code> env.element.className = env.element.className.replace(clsReg, ''); } if (!clsReg.test(pre.className)) { // Add the class "line-numbers" to the <pre> pre.className += ' line-numbers'; } var match = env.code.match(/\n(?!$)/g); var linesNum = match ? match.length + 1 : 1; var lineNumbersWrapper; var lines = new Array(linesNum + 1); lines = lines.join('<span></span>'); lineNumbersWrapper = document.createElement('span'); lineNumbersWrapper.setAttribute('aria-hidden', 'true'); lineNumbersWrapper.className = 'line-numbers-rows'; lineNumbersWrapper.innerHTML = lines; if (pre.hasAttribute('data-start')) { pre.style.counterReset = 'linenumber ' + (parseInt(pre.getAttribute('data-start'), 10) - 1); } env.element.appendChild(lineNumbersWrapper); }); }());
Version data entries
4 entries across 4 versions & 1 rubygems