fix: line numbers button for plain text and initial render
This commit is contained in:
parent
4199090913
commit
636d4c919e
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue