Skip to content

Commit 2eaa22c

Browse files
committed
Examples: nav.js handles CM, removed code-highlight.js from pages
1 parent 28f7f05 commit 2eaa22c

165 files changed

Lines changed: 198 additions & 1111 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

assets/nav.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,48 @@
102102

103103

104104

105+
// CodeMirror syntax highlighting on reference/example pages
106+
if (document.querySelector('.syntax-block, .impl-block')) {
107+
const CDNJS = 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16';
108+
function loadScript(src, cb) {
109+
const s = document.createElement('script'); s.src = src;
110+
s.onload = cb; document.head.appendChild(s);
111+
}
112+
function loadLink(href) {
113+
const l = document.createElement('link');
114+
l.rel = 'stylesheet'; l.href = href;
115+
document.head.appendChild(l);
116+
}
117+
loadLink(CDNJS + '/codemirror.min.css');
118+
loadLink(SITE + '/assets/cppmode-theme.css');
119+
loadScript(CDNJS + '/codemirror.min.js', function() {
120+
loadScript(SITE + '/assets/cppmode-keywords.js', function() {
121+
loadScript(SITE + '/assets/cppmode.js', function() {
122+
const dark = document.body.classList.contains('dark-mode');
123+
document.querySelectorAll('.syntax-block, .impl-block').forEach(el => {
124+
if (el.dataset.cmDone) return;
125+
el.dataset.cmDone = '1';
126+
const code = el.textContent.trim();
127+
if (!code) return;
128+
el.style.display = 'none';
129+
const wrap = document.createElement('div');
130+
el.parentNode.insertBefore(wrap, el);
131+
const cm = CodeMirror(wrap, {
132+
value: code,
133+
mode: 'cppmode',
134+
theme: dark ? 'cppmode-dark' : 'cppmode',
135+
readOnly: true,
136+
lineNumbers: false,
137+
lineWrapping: false,
138+
scrollbarStyle: 'null',
139+
viewportMargin: Infinity,
140+
});
141+
});
142+
});
143+
});
144+
});
145+
}
146+
105147
// Dark mode via CSS class
106148
(function() {
107149
if (!document.getElementById('dark-mode-style')) {

examples/acceleration-with-vectors.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,6 @@ <h1>Acceleration With Vectors</h1>
166166
sec.style.display = open ? 'none' : 'block';
167167
arrow.textContent = open ? '▸' : '▾';
168168
}</script>
169-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
170-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
171-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
172-
<script src="../assets/cppmode-keywords.js"></script>
173-
<script src="../assets/cm-cppmode.js"></script>
174-
<script src="../assets/code-highlight.js"></script>
175169
<script src="../assets/nav.js"></script>
176170
</body>
177171
</html>

examples/additive-wave.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,12 +227,6 @@ <h1>Additive Wave</h1>
227227
sec.style.display = open ? 'none' : 'block';
228228
arrow.textContent = open ? '▸' : '▾';
229229
}</script>
230-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
231-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
232-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
233-
<script src="../assets/cppmode-keywords.js"></script>
234-
<script src="../assets/cm-cppmode.js"></script>
235-
<script src="../assets/code-highlight.js"></script>
236230
<script src="../assets/nav.js"></script>
237231
</body>
238232
</html>

examples/alpha-mask.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,6 @@ <h1>Alpha Mask</h1>
144144
sec.style.display = open ? 'none' : 'block';
145145
arrow.textContent = open ? '▸' : '▾';
146146
}</script>
147-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
148-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
149-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
150-
<script src="../assets/cppmode-keywords.js"></script>
151-
<script src="../assets/cm-cppmode.js"></script>
152-
<script src="../assets/code-highlight.js"></script>
153147
<script src="../assets/nav.js"></script>
154148
</body>
155149
</html>

examples/animated-sprite.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,6 @@ <h1>Animated Sprite</h1>
198198
sec.style.display = open ? 'none' : 'block';
199199
arrow.textContent = open ? '▸' : '▾';
200200
}</script>
201-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
202-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
203-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
204-
<script src="../assets/cppmode-keywords.js"></script>
205-
<script src="../assets/cm-cppmode.js"></script>
206-
<script src="../assets/code-highlight.js"></script>
207201
<script src="../assets/nav.js"></script>
208202
</body>
209203
</html>

examples/arctangent.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,6 @@ <h1>Arctangent</h1>
193193
sec.style.display = open ? 'none' : 'block';
194194
arrow.textContent = open ? '▸' : '▾';
195195
}</script>
196-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
197-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
198-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
199-
<script src="../assets/cppmode-keywords.js"></script>
200-
<script src="../assets/cm-cppmode.js"></script>
201-
<script src="../assets/code-highlight.js"></script>
202196
<script src="../assets/nav.js"></script>
203197
</body>
204198
</html>

examples/arm.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,6 @@ <h1>Arm</h1>
167167
sec.style.display = open ? 'none' : 'block';
168168
arrow.textContent = open ? '▸' : '▾';
169169
}</script>
170-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
171-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
172-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
173-
<script src="../assets/cppmode-keywords.js"></script>
174-
<script src="../assets/cm-cppmode.js"></script>
175-
<script src="../assets/code-highlight.js"></script>
176170
<script src="../assets/nav.js"></script>
177171
</body>
178172
</html>

examples/array-2d.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,6 @@ <h1>Array 2D</h1>
162162
sec.style.display = open ? 'none' : 'block';
163163
arrow.textContent = open ? '▸' : '▾';
164164
}</script>
165-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
166-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
167-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
168-
<script src="../assets/cppmode-keywords.js"></script>
169-
<script src="../assets/cm-cppmode.js"></script>
170-
<script src="../assets/code-highlight.js"></script>
171165
<script src="../assets/nav.js"></script>
172166
</body>
173167
</html>

examples/array-objects.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,6 @@ <h1>Array Objects</h1>
229229
sec.style.display = open ? 'none' : 'block';
230230
arrow.textContent = open ? '▸' : '▾';
231231
}</script>
232-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
233-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
234-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
235-
<script src="../assets/cppmode-keywords.js"></script>
236-
<script src="../assets/cm-cppmode.js"></script>
237-
<script src="../assets/code-highlight.js"></script>
238232
<script src="../assets/nav.js"></script>
239233
</body>
240234
</html>

examples/array.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,6 @@ <h1>Array</h1>
178178
sec.style.display = open ? 'none' : 'block';
179179
arrow.textContent = open ? '▸' : '▾';
180180
}</script>
181-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.css">
182-
<link rel="stylesheet" href="../assets/cppmode-theme.css">
183-
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js"></script>
184-
<script src="../assets/cppmode-keywords.js"></script>
185-
<script src="../assets/cm-cppmode.js"></script>
186-
<script src="../assets/code-highlight.js"></script>
187181
<script src="../assets/nav.js"></script>
188182
</body>
189183
</html>

0 commit comments

Comments
 (0)