From 1b24c7dd584458c3f802c5d51709e5996f37d929 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Thu, 15 Mar 2018 13:17:35 +0300 Subject: [PATCH 1/7] Update version --- bower.json | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bower.json b/bower.json index f3b3b75..52d4fb5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "highlightjs-line-numbers.js", - "version": "2.2.0", + "version": "2.3.0", "homepage": "https://github.com/wcoder/highlightjs-line-numbers.js", "authors": [ "Yauheni Pakala " diff --git a/package.json b/package.json index f5a54d0..4b1d7cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "highlightjs-line-numbers.js", - "version": "2.2.0", + "version": "2.3.0", "description": "Highlight.js line numbers plugin.", "main": "src/highlightjs-line-numbers.js", "dependencies": {}, @@ -22,5 +22,5 @@ "bugs": { "url": "https://github.com/wcoder/highlightjs-line-numbers.js/issues" }, - "homepage": "https://github.com/wcoder/highlightjs-line-numbers.js" + "homepage": "http://wcoder.github.io/highlightjs-line-numbers.js/" } From 1b77273de44f80777c48d130e2a0b5e16ae1d369 Mon Sep 17 00:00:00 2001 From: Justin Chi Date: Tue, 25 Sep 2018 16:55:52 -0700 Subject: [PATCH 2/7] add forgotten readyState This fixes an issue causes problems in particular when this is referenced in Javascript Modules --- src/highlightjs-line-numbers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/highlightjs-line-numbers.js b/src/highlightjs-line-numbers.js index a045a05..d3b622e 100644 --- a/src/highlightjs-line-numbers.js +++ b/src/highlightjs-line-numbers.js @@ -36,7 +36,7 @@ } function initLineNumbersOnLoad (options) { - if (d.readyState === 'complete') { + if (d.readyState === 'interactive' || d.readyState === 'complete') { documentReady(options); } else { w.addEventListener('DOMContentLoaded', function () { From 0081bb859bc6b0415f6e66510d27694f151e148f Mon Sep 17 00:00:00 2001 From: Justin Chi Date: Tue, 25 Sep 2018 17:11:57 -0700 Subject: [PATCH 3/7] update dist --- dist/highlightjs-line-numbers.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/highlightjs-line-numbers.min.js b/dist/highlightjs-line-numbers.min.js index 6112cb6..15f9eba 100644 --- a/dist/highlightjs-line-numbers.min.js +++ b/dist/highlightjs-line-numbers.min.js @@ -1 +1 @@ -!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=h(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;u(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[v,g,m,j,p,l+1,t[l].length>0?t[l]:" "]);return h('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r{1}\n',[e,t[r]]);n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function u(e){n.setTimeout(e,0)}function h(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",g="hljs-ln-line",p="hljs-ln-code",v="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); \ No newline at end of file +!function(e,n){"use strict";var t,r="hljs-ln",l="hljs-ln-line",i="hljs-ln-code",s="hljs-ln-numbers",o="hljs-ln-n",a="data-line-number",c=/\r\n|\r|\n/g;function d(t){try{var r=n.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&h(r[l],t)}catch(n){e.console.error("LineNumbers error: ",n)}}function h(n,t){if("object"==typeof n){var d,h=(t=t||{singleLine:!1}).singleLine?0:1;d=function(){!function e(n){var t=n.childNodes;for(var r in t)if(t.hasOwnProperty(r)){var l=t[r];(l.textContent.trim().match(c)||[]).length>0&&(l.childNodes.length>0?e(l):u(l.parentNode))}}(n),n.innerHTML=function(e,n){var t=f(e);""===t[t.length-1].trim()&&t.pop();if(t.length>n){for(var c="",d=0,h=t.length;d
{6}
',[s,l,o,a,i,d+1,t[d].length>0?t[d]:" "]);return g('{1}
',[r,c])}return e}(n.innerHTML,h)},e.setTimeout(d,0)}}function u(e){var n=e.className;if(/hljs-/.test(n)){for(var t=f(e.innerHTML),r=0,l="";r{1}\n',[n,t[r]]);e.innerHTML=l.trim()}}function f(e){return 0===e.length?[]:e.split(c)}function g(e,n){return e.replace(/\{(\d+)\}/g,function(e,t){return n[t]?n[t]:e})}e.hljs?(e.hljs.initLineNumbersOnLoad=function(t){"interactive"===n.readyState||"complete"===n.readyState?d(t):e.addEventListener("DOMContentLoaded",function(){d(t)})},e.hljs.lineNumbersBlock=h,(t=n.createElement("style")).type="text/css",t.innerHTML=g(".{0}{border-collapse:collapse} .{0} td{padding:0} .{1}:before{content:attr({2})}",[r,o,a]),n.getElementsByTagName("head")[0].appendChild(t)):e.console.error("highlight.js not detected!")}(window,document); From 1cf33c85d52fc849216a838a7b2a087486ee9bef Mon Sep 17 00:00:00 2001 From: Antoine Lambert Date: Wed, 26 Sep 2018 16:06:42 +0200 Subject: [PATCH 4/7] Fix output when hljs multi-line element contains an empty line When a highlightjs multi-line element (for instance a multi-line comment) contains an empty line, the resulting output numbered line was containing a "{1}" string. This fix handles the empty line special case. --- dist/highlightjs-line-numbers.min.js | 2 +- src/highlightjs-line-numbers.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/highlightjs-line-numbers.min.js b/dist/highlightjs-line-numbers.min.js index 6112cb6..7b42338 100644 --- a/dist/highlightjs-line-numbers.min.js +++ b/dist/highlightjs-line-numbers.min.js @@ -1 +1 @@ -!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=h(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;u(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[v,g,m,j,p,l+1,t[l].length>0?t[l]:" "]);return h('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r{1}\n',[e,t[r]]);n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function u(e){n.setTimeout(e,0)}function h(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",g="hljs-ln-line",p="hljs-ln-code",v="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); \ No newline at end of file +!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=u(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;h(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[p,g,m,j,v,l+1,t[l].length>0?t[l]:" "]);return u('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r0?t[r]:" ";l+=u('{1}\n',[e,i])}n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function h(e){n.setTimeout(e,0)}function u(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",g="hljs-ln-line",v="hljs-ln-code",p="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); \ No newline at end of file diff --git a/src/highlightjs-line-numbers.js b/src/highlightjs-line-numbers.js index a045a05..ec5a45f 100644 --- a/src/highlightjs-line-numbers.js +++ b/src/highlightjs-line-numbers.js @@ -150,7 +150,8 @@ var lines = getLines(element.innerHTML); for (var i = 0, result = ''; i < lines.length; i++) { - result += format('{1}\n', [ className, lines[i] ]); + var lineText = lines[i].length > 0 ? lines[i] : ' '; + result += format('{1}\n', [ className, lineText ]); } element.innerHTML = result.trim(); From 708a35ed8f3de7c2b0182c5f417be300b68e2ed4 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Wed, 26 Sep 2018 23:57:31 +0300 Subject: [PATCH 5/7] Update highlightjs-line-numbers.js --- src/highlightjs-line-numbers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/highlightjs-line-numbers.js b/src/highlightjs-line-numbers.js index ec5a45f..84a4728 100644 --- a/src/highlightjs-line-numbers.js +++ b/src/highlightjs-line-numbers.js @@ -150,8 +150,8 @@ var lines = getLines(element.innerHTML); for (var i = 0, result = ''; i < lines.length; i++) { - var lineText = lines[i].length > 0 ? lines[i] : ' '; - result += format('{1}\n', [ className, lineText ]); + var lineText = lines[i].length > 0 ? lines[i] : ' '; + result += format('{1}\n', [ className, lineText ]); } element.innerHTML = result.trim(); From f3f53fe75306141e55df84a2b9d50725054c4922 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Thu, 27 Sep 2018 00:15:12 +0300 Subject: [PATCH 6/7] Delete highlightjs-line-numbers.min.js --- dist/highlightjs-line-numbers.min.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dist/highlightjs-line-numbers.min.js diff --git a/dist/highlightjs-line-numbers.min.js b/dist/highlightjs-line-numbers.min.js deleted file mode 100644 index 15f9eba..0000000 --- a/dist/highlightjs-line-numbers.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,n){"use strict";var t,r="hljs-ln",l="hljs-ln-line",i="hljs-ln-code",s="hljs-ln-numbers",o="hljs-ln-n",a="data-line-number",c=/\r\n|\r|\n/g;function d(t){try{var r=n.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&h(r[l],t)}catch(n){e.console.error("LineNumbers error: ",n)}}function h(n,t){if("object"==typeof n){var d,h=(t=t||{singleLine:!1}).singleLine?0:1;d=function(){!function e(n){var t=n.childNodes;for(var r in t)if(t.hasOwnProperty(r)){var l=t[r];(l.textContent.trim().match(c)||[]).length>0&&(l.childNodes.length>0?e(l):u(l.parentNode))}}(n),n.innerHTML=function(e,n){var t=f(e);""===t[t.length-1].trim()&&t.pop();if(t.length>n){for(var c="",d=0,h=t.length;d
{6}
',[s,l,o,a,i,d+1,t[d].length>0?t[d]:" "]);return g('{1}
',[r,c])}return e}(n.innerHTML,h)},e.setTimeout(d,0)}}function u(e){var n=e.className;if(/hljs-/.test(n)){for(var t=f(e.innerHTML),r=0,l="";r{1}\n',[n,t[r]]);e.innerHTML=l.trim()}}function f(e){return 0===e.length?[]:e.split(c)}function g(e,n){return e.replace(/\{(\d+)\}/g,function(e,t){return n[t]?n[t]:e})}e.hljs?(e.hljs.initLineNumbersOnLoad=function(t){"interactive"===n.readyState||"complete"===n.readyState?d(t):e.addEventListener("DOMContentLoaded",function(){d(t)})},e.hljs.lineNumbersBlock=h,(t=n.createElement("style")).type="text/css",t.innerHTML=g(".{0}{border-collapse:collapse} .{0} td{padding:0} .{1}:before{content:attr({2})}",[r,o,a]),n.getElementsByTagName("head")[0].appendChild(t)):e.console.error("highlight.js not detected!")}(window,document); From 35dcbb3e23ef6ee185b816f3af09265a0d561f54 Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Fri, 28 Sep 2018 09:15:48 +0300 Subject: [PATCH 7/7] Update version --- README.md | 6 +++--- bower.json | 2 +- dist/highlightjs-line-numbers.min.js | 2 +- package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1f7ff5e..9dc8cf2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# highlightjs-line-numbers.js [![npm](https://img.shields.io/npm/v/highlightjs-line-numbers.js.png)](https://www.npmjs.com/package/highlightjs-line-numbers.js) ![npm](https://img.shields.io/npm/dw/highlightjs-line-numbers.js.png) +# highlightjs-line-numbers.js [![npm](https://img.shields.io/npm/v/highlightjs-line-numbers.js.svg)](https://www.npmjs.com/package/highlightjs-line-numbers.js) ![npm](https://img.shields.io/npm/dw/highlightjs-line-numbers.js.svg) Highlight.js line numbers plugin. @@ -18,10 +18,10 @@ npm install highlightjs-line-numbers.js #### Getting the library from CDN ```html - + ``` ```html - + ``` ## Usage diff --git a/bower.json b/bower.json index 52d4fb5..d1b15da 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "highlightjs-line-numbers.js", - "version": "2.3.0", + "version": "2.4.0", "homepage": "https://github.com/wcoder/highlightjs-line-numbers.js", "authors": [ "Yauheni Pakala " diff --git a/dist/highlightjs-line-numbers.min.js b/dist/highlightjs-line-numbers.min.js index 7b42338..3291232 100644 --- a/dist/highlightjs-line-numbers.min.js +++ b/dist/highlightjs-line-numbers.min.js @@ -1 +1 @@ -!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=u(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;h(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[p,g,m,j,v,l+1,t[l].length>0?t[l]:" "]);return u('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r0?t[r]:" ";l+=u('{1}\n',[e,i])}n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function h(e){n.setTimeout(e,0)}function u(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",g="hljs-ln-line",v="hljs-ln-code",p="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); \ No newline at end of file +!function(n,e){"use strict";function t(){var n=e.createElement("style");n.type="text/css",n.innerHTML=u(".{0}{border-collapse:collapse}.{0} td{padding:0}.{1}:before{content:attr({2})}",[f,m,j]),e.getElementsByTagName("head")[0].appendChild(n)}function r(t){"interactive"===e.readyState||"complete"===e.readyState?l(t):n.addEventListener("DOMContentLoaded",function(){l(t)})}function l(t){try{var r=e.querySelectorAll("code.hljs");for(var l in r)r.hasOwnProperty(l)&&i(r[l],t)}catch(o){n.console.error("LineNumbers error: ",o)}}function i(n,e){if("object"==typeof n){e=e||{singleLine:!1};var t=e.singleLine?0:1;h(function(){s(n),n.innerHTML=o(n.innerHTML,t)})}}function o(n,e){var t=c(n);if(""===t[t.length-1].trim()&&t.pop(),t.length>e){for(var r="",l=0,i=t.length;l
{6}
',[p,v,m,j,g,l+1,t[l].length>0?t[l]:" "]);return u('{1}
',[f,r])}return n}function s(n){var e=n.childNodes;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];d(r.textContent)>0&&(r.childNodes.length>0?s(r):a(r.parentNode))}}function a(n){var e=n.className;if(/hljs-/.test(e)){for(var t=c(n.innerHTML),r=0,l="";r0?t[r]:" ";l+=u('{1}\n',[e,i])}n.innerHTML=l.trim()}}function c(n){return 0===n.length?[]:n.split(L)}function d(n){return(n.trim().match(L)||[]).length}function h(e){n.setTimeout(e,0)}function u(n,e){return n.replace(/\{(\d+)\}/g,function(n,t){return e[t]?e[t]:n})}var f="hljs-ln",v="hljs-ln-line",g="hljs-ln-code",p="hljs-ln-numbers",m="hljs-ln-n",j="data-line-number",L=/\r\n|\r|\n/g;n.hljs?(n.hljs.initLineNumbersOnLoad=r,n.hljs.lineNumbersBlock=i,t()):n.console.error("highlight.js not detected!")}(window,document); \ No newline at end of file diff --git a/package.json b/package.json index 4b1d7cd..9291e2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "highlightjs-line-numbers.js", - "version": "2.3.0", + "version": "2.4.0", "description": "Highlight.js line numbers plugin.", "main": "src/highlightjs-line-numbers.js", "dependencies": {},