给自己的博客添加萌萌的双标题~

给自己的博客添加萌萌的双标题~

八月 22, 2017

> 乡下人今天去了一趟赣州 吃了高贵的肯德基/ 有一个穿工作服的妹子 真可爱

前语

Forked from theme yelee

本文章只提供加入该功能的方法与源代码,源码已发布在我的Github,在本文章步骤介绍中也会给出owo

正文

  • layout/ _partial

  • head.ejs / after-footer.ejs / tab-title-change.ejs

  • _config.yml

layout/_partial

// 以下需要修改或增加的文件除了*_config.yml外都是在主题的layout/_partial*目录下

相关配置

head.ejs

head.ejs下加入以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<head>
...
<% if (theme.tab_title_change){ %>
<script>
var OriginTitile = document.title;
var titleTime;
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
document.title = "<%- theme.tab_title_change.left_tab_title %>" OriginTitile;
clearTimeout(titleTime);
}
else {
document.title = "<%- theme.tab_title_change.return_tab_title %>" OriginTitile;
titleTime = setTimeout(function() {
document.title = OriginTitile;
}, 2000);
}
});
</script>
<% } %>
...
</head>

after-footer下加入以下代码

1
2
3
4
5
6
7
8
<script>
...
<%- partial('open-in-new-tab', {
global: theme.open_in_new.global
}) %>
<%- partial('tab-title-change') %>
...
</script>
tab-title-change.ejs

新建ejs文件并更名为tab-title-change.ejs,文件内写入以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<% if (theme.tab_title_change.on) { %>
<script>
var originTitle = document.title;
var titleTime;
document.addEventListener("visibilitychange", function() {
if (document.hidden) {
document.title = "<%- theme.tab_title_change.left_tab_title %>" originTitle;
clearTimeout(titleTime);
}
else {
document.title = "<%- theme.tab_title_change.return_tab_title %>" originTitle;
titleTime = setTimeout(function() {
document.title = originTitle;
}, 2000);
}
})
</script>
<% } %>

保存,并将该ejs文件放入主题的layout/_partial目录下

_config.yml

在主题的*_config*下增加以下描述,可选择功能开启(true)或关闭(false),以及自定义标题内容

1
2
3
4
tab_title_change:
on: true
left_tab_title: ' ̄へ ̄死鬼去哪里啦! '
return_tab_title: '(*´∇`*) 咦,回来啦~ '

结束

接下里在git bash里直接执行hexo g,hexo s,在localhost:4000里就能看到啦~确认没有问题后就可以deploy(○` 3′○)

效果如下

以及

感谢Github

感谢@MOxFIVE^^

以上