diff --git a/assets/css/highlight.css b/assets/css/highlight.css
index 2859b7b..735ce83 100644
--- a/assets/css/highlight.css
+++ b/assets/css/highlight.css
@@ -83,7 +83,7 @@ code.zig .attribute {
color: var(--attribute-color);
}
-.line-numbers-js {
+.line-numbers-js pre code {
/* Initialize CSS counter for each specific pre block */
counter-reset: line;
}
diff --git a/assets/js/highlight.js b/assets/js/highlight.js
new file mode 100644
index 0000000..7528432
--- /dev/null
+++ b/assets/js/highlight.js
@@ -0,0 +1,22 @@
+function addLineNumbersToPre() {
+ const preElements = document.querySelectorAll('div.line-numbers-js pre ');
+
+ preElements.forEach(pre => {
+ const codeBlock = pre.querySelector('code');
+ if (!codeBlock) return;
+ const htmlContent = codeBlock.innerHTML;
+ const lines = htmlContent.split('\n');
+ const fragment = document.createDocumentFragment();
+
+ lines.forEach(lineHtml => {
+ if (lineHtml.length > 0) {
+ const lineWrapper = document.createElement('span');
+ lineWrapper.className = "ln";
+ lineWrapper.innerHTML = lineHtml;
+ fragment.appendChild(lineWrapper);
+ }
+ });
+ codeBlock.innerHTML = '';
+ codeBlock.appendChild(fragment);
+ });
+}
diff --git a/layouts/templates/base.shtml b/layouts/templates/base.shtml
index bdb7265..fe95b31 100644
--- a/layouts/templates/base.shtml
+++ b/layouts/templates/base.shtml
@@ -24,7 +24,7 @@
-
+