| Index: polymer_1.0.4/bower_components/prism/plugins/line-numbers/prism-line-numbers.js
|
| diff --git a/polymer_1.0.4/bower_components/prism/plugins/line-numbers/prism-line-numbers.js b/polymer_1.0.4/bower_components/prism/plugins/line-numbers/prism-line-numbers.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9443deb7dc53690eaacaa17f96a4e956a5ff2193
|
| --- /dev/null
|
| +++ b/polymer_1.0.4/bower_components/prism/plugins/line-numbers/prism-line-numbers.js
|
| @@ -0,0 +1,38 @@
|
| +Prism.hooks.add('after-highlight', function (env) {
|
| + // 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 (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 linesNum = (1 + env.code.split('\n').length);
|
| + var lineNumbersWrapper;
|
| +
|
| + var lines = new Array(linesNum);
|
| + lines = lines.join('<span></span>');
|
| +
|
| + lineNumbersWrapper = document.createElement('span');
|
| + 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);
|
| +
|
| +});
|
|
|