关于在Blog页面底部加入网站运行时间问题的解决

JS代码

下方为网站运行时间JS代码,命名为Runtime.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
setInterval(() => {
let create_time = Math.round(new Date('2021-1-26 00:00:00').getTime() / 1000);
let timestamp = Math.round((new Date().getTime()) / 1000);
let second = timestamp - create_time;
let time = new Array(0, 0, 0, 0, 0);
if (second >= 365 * 24 * 3600) {
time[0] = parseInt(second / (365 * 24 * 3600));
second %= 365 * 24 * 3600;
}
if (second >= 24 * 3600) {
time[1] = parseInt(second / (24 * 3600));
second %= 24 * 3600;
}
if (second >= 3600) {
time[2] = parseInt(second / 3600);
second %= 3600;
}
if (second >= 60) {
time[3] = parseInt(second / 60);
second %= 60;
}
if (second > 0) {
time[4] = second;
}
currentTimeHtml = '网站已坚挺地走过了' + time[0] + ' 年 ' + time[1] + ' 天 ' + time[2] + ' 时 ' + time[3] + ' 分 ' + time[4] + ' 秒';
document.getElementById("runtime").innerHTML = currentTimeHtml;
}, 1000);

代码插入&渲染

将主题配置文件的inject.bottom项中插入html代码(二选一)

1
<span id="runtime" type='text/javascript', src='/js/Runtime.js'></span>
1
<span id="runtime"><script src="/js/Runtime.js"></script></span>

再从footer.pug文件中的if theme.footer.custom_text项下插入

.footer_custom_text!=${theme.inject.bottom[1]}即可。

(由于在我这里inject.bottom项中插入的对应html代码为第二行,所以需要加上[1]加以限制。若无特殊情况可以不加[1])

另外

layout.pug文件末插入script(type='text/javascript', src='/js/Runtime.js')根本没有效果,不像其他JS文件,此处需稍加注意。