Skip to content

Commit 169bacf

Browse files
committed
nav.js: fix CodeMirror replacement for pre#code-pre
1 parent 9fc1ade commit 169bacf

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

assets/nav.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,21 +122,23 @@
122122
marker.id = 'ref-cm-loaded';
123123
document.head.appendChild(marker);
124124
const dark = document.body.classList.contains('dark-mode');
125-
document.querySelectorAll('.syntax-block, .impl-block, .code-block, pre#code-pre, pre.code-pre').forEach(el => {
126-
const code = el.innerHTML
127-
.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&').trim();
125+
document.querySelectorAll('.syntax-block, .impl-block, pre#code-pre').forEach(el => {
126+
if (!el.parentNode) return;
127+
const code = (el.tagName === 'PRE' ? el.textContent : el.innerHTML
128+
.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&')).trim();
129+
if (!code) return;
128130
const wrap = document.createElement('div');
131+
wrap.style.cssText = 'border-radius:6px;overflow:auto;margin-bottom:0.5rem;';
129132
el.parentNode.replaceChild(wrap, el);
130133
const cm = CodeMirror(wrap, {
131134
value: code,
132135
mode: 'cppmode',
133136
theme: dark ? 'cppmode-dark' : 'cppmode',
134137
readOnly: true,
135-
lineNumbers: false,
138+
lineNumbers: true,
136139
lineWrapping: false,
137140
});
138-
wrap.style.overflow = 'auto';
139-
wrap.querySelector('.CodeMirror').style.height = 'auto';
141+
cm.setSize('100%', 'auto');
140142
});
141143
});
142144
});

0 commit comments

Comments
 (0)