Skip to content

Commit 8ac2ac9

Browse files
Update highlight theme preview (#144)
1 parent e10e0e0 commit 8ac2ac9

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

source/highlight/index.html

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@
4242
<option value="prism">Prism</option>
4343
</select>
4444
</div>
45+
<p>What is your current Hexo version? <code>hexo -v</code></p>
46+
<div class="input-group mb-3">
47+
<label class="input-group-text" for="version">Version</label>
48+
<select class="form-select" id="version">
49+
<option value="blow-v7.0.0">below v7.0.0</option>
50+
<option value="v7.0.0+">v7.0.0+</option>
51+
</select>
52+
</div>
4553
<p>Configuration in Hexo <code>_config.yml</code></p>
4654
<pre class="render hexo"></pre>
4755
<p>And run <code>hexo clean</code></p>
@@ -149,13 +157,21 @@
149157
constructor() {
150158
;
151159
}
152-
hexo(engine) {
153-
return `<code class="language-yaml">highlight:
160+
hexo(engine, version) {
161+
if (version === 'v7.0.0+') {
162+
return `<code class="language-yaml">syntax_highlighter: ${engine === 'highlight' ? 'highlightjs' : 'prismjs'}
163+
highlight:
164+
...
165+
prismjs:
166+
...</code>`;
167+
} else {
168+
return `<code class="language-yaml">highlight:
154169
enable: ${engine === 'highlight'}
155170
...
156171
prismjs:
157172
enable: ${engine !== 'highlight'}
158173
...</code>`;
174+
}
159175
}
160176
next(engine, theme) {
161177
let content;
@@ -212,12 +228,14 @@
212228
this.code = new Code();
213229
this.element = {
214230
engine: document.getElementById('engine'),
231+
version: document.getElementById('version'),
215232
theme: document.getElementById('theme'),
216233
language: document.getElementById('language'),
217234
code: document.getElementById('code')
218235
};
219236
this.value = {
220237
engine: localStorage.getItem('engine') || 'highlight',
238+
version: localStorage.getItem('version') || 'v7.0.0+',
221239
theme: localStorage.getItem('theme') || 'tomorrow',
222240
language: localStorage.getItem('language') || 'rust',
223241
code: localStorage.getItem('code') || CODE
@@ -244,6 +262,7 @@
244262
if (theme.selectedIndex === -1) theme.selectedIndex = 0;
245263
this.update('theme');
246264
},
265+
version: () => {},
247266
theme: () => {
248267
let href = this.element.theme.value;
249268
this.style.getStyle(href);
@@ -272,7 +291,7 @@
272291
this.render();
273292
}
274293
render() {
275-
document.querySelector('.hexo').innerHTML = this.code.hexo(this.value.engine);
294+
document.querySelector('.hexo').innerHTML = this.code.hexo(this.value.engine, this.value.version);
276295
document.querySelector('.next').innerHTML = this.code.next(this.value.engine, this.element.theme[this.value.theme].text);
277296
const preview = document.querySelector('#preview .render code');
278297
preview.className = `language-${this.value.language}`;

0 commit comments

Comments
 (0)