fix: line numbers button for plain text and initial render

This commit is contained in:
ComputerTech 2026-04-06 18:00:46 +01:00
parent 4199090913
commit 636d4c919e
1 changed files with 6 additions and 11 deletions

View File

@ -86,27 +86,22 @@ function initLineNumbers() {
viewPre.classList.add('line-numbers');
} else {
viewPre.classList.remove('line-numbers');
const existing = viewPre.querySelector('.line-numbers-rows');
if (existing) existing.remove();
}
localStorage.setItem('show_line_numbers', checked);
// Re-highlight if a language is selected to force Prism to update the numbers span
// Always re-highlight so Prism's line-numbers plugin runs (works for plain text too)
const code = document.getElementById('codeBlock');
if (code && (code.className.includes('language-') || viewPre.className.includes('language-'))) {
// Prism's line-numbers plugin needs to clean up if turning off
if (!checked) {
const existing = viewPre.querySelector('.line-numbers-rows');
if (existing) existing.remove();
}
if (code) {
Prism.highlightElement(code);
}
};
toggle.addEventListener('change', updateLines);
// Initial state
if (isEnabled) {
viewPre.classList.add('line-numbers');
}
// Apply initial state (calls Prism so line numbers render without needing a toggle)
updateLines();
}
function renderPaste(paste) {