Inside 是一款采用 SPA 打造的轻量级和功能丰富的 Hexo 主题。然而整体上作者采用了较为开放的丰富的自定义模式,所以很多功能都需要手动调整。
Hexo 内部调整
个人建议不要设置时区,因为设置了反而不好用。
这里给出一些重要的配置项:
1 | language: zh-Hans # 主题的配置写法 |
Inside 主题配置
-
想要像我那样侧栏用户名有漂亮的字体,配置应该额外调整:
1
2
3
4
5
6
7appearance:
# ...
font:
url: //fonts.googleapis.com/css?family=Lobster|Baloo+Bhaijaan|Inconsolata|Josefin+Sans|Montserrat
base: "Josefin Sans"
logo: "Lobster" # 就是这款字体
menu: "Baloo Bhaijaan" -
想要在社交按钮栏加上自定义的按钮,需要单独引入 svg 图标。比如添加一个酷安的按钮:
1
2
3
4
5
6sns:
# ...
- title: 酷安
url: https://www.coolapk.com/u/1384771
template: |
<svg t="1644654153078" class="icon" viewBox="0 0 1922 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1687" data-darkreader-inline-fill="" width="18" height="18"><path d="M513.810604 0c308.858273 0 602.991192 297.820939 602.991192 297.820939l-132.287657 102.890399S723.386322 178.321089 513.810604 178.321089c-143.391802 0-329.062206 104.787859-329.062206 323.556901 0 213.250375 136.029126 334.594235 330.906216 334.594235C1023.05127 836.485587 1203.216369 0 1363.15081 0c104.787859 0 175.047303 244.772252 297.820938 450.406065 147.06646 246.349014 261.475239 472.814793 261.47524 481.660695 0 49.641277-46.380854 91.919878-79.479494 91.919878S1206.891026 577.255229 1206.891026 577.255229l148.910469-108.462516 189.345061 128.679812L1359.476153 259.230358c-57.912596 57.899234-336.424882 764.769642-834.628215 764.769642C329.970848 1023.986638 0 880.581473 0 500.047343 0 284.952958 162.687093 0 513.810604 0z" p-id="1688"></path></svg> -
在侧栏配置上,名称前面加上 Emoji 看起来会更加美观:
1
2
3
4
5menu:
🏠 Home: /
🔍 Search: /search
🔗 Link: /link
🧑💻 About: /about
自动 CI 部署
这里采用 Star 数较高的一个自动 Github Action ,提到了整个流程。如果不太懂,也可以参考别人的一些教程。这里提几个点:
- 运行命令
$ ssh-keygen -t rsa -C "username@example.com"
时会提示一些选项,建议全部按回车默认选项。这会在你的用户名文件夹根目录下生成一个.ssh
文件夹,得到两个文件,其中带.pub 后缀的为公钥,另一个为私钥。两者可以填在同一个仓库不同分支,也可以填在不同的仓库。 - Github Actions 的配置文件应该在项目根目录下的
.github
>workflows
,默认名称为main.yml
,当然你也可以随意命名。将整个项目一起上传上去,Github Actions 会自动执行并生成渲染文件。 - 自定义域名应该在项目的
source
目录中放一个 CNAME 文件。
评论系统
Waline + Leancloud + Vercel
Waline 基于 Valine,是一个干净纯粹但功能丰富的评论系统框架。它支持 Markdown 语法,支持自定义表情、部分文字、配色、精选,以及后台管理、邮件自动发送等功能。
文档
配置上手
除官网给出部分,博客这边配置也非常重要。由于 Inside 主题是直接通过变量达成夜间模式的切换的,所以就宣告着 Waline 自身夜间模式的报废。当然这并不影响夜间模式的效果。下面是我的配置。
1 | - position: comments |
其中页面/文章访问数的功能完全仅用于统计数据,暂时不打算做效果呈现。Leancloud 可以轻松查询到。Emoji 则采用了较为经典的微博和 B 站表情。
评论样式内容较多而且为了方便维护,故单独引用文件。
文件这里贴一份仅供参考:
1 | :root { |
自定义小插件
站点访问统计
Inside 提供了两个自定义片段位置。由于我的 custom
还有别的东西要放,这里就只写在 copyright
里。在主题配置文件修改:
1 | footer: |
代码块快捷复制到剪贴板
先从 Github 下载文件并放置好目录
然后在主题配置文件修改:
1 | plugins: |
其实大部分自定义代码都是在用 SVG 写图标,所以不用担心代码量很大~
友链优化
这个主题最大的短板就是没有单独的友链支持。所以这里单独对友链介绍一下我的解决方案。
在友链页面按照如下格式写:
-
提前引用 css 样式避免排版错乱
1
<link href="/css/link.min.css" rel="stylesheet">
其 CSS 文件也贴出来仅供参考:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81.f > ul {
display: flex;
flex-wrap: wrap;
padding: 0;
}
.f > ul > li {
transition: 0.3s ease;
list-style: none;
}
.f > ul > li {
display: flex;
margin: 0 10px 10px 0;
text-decoration: none;
padding: 10px;
background-color: var(--inside-background);
color: var(--inside-accent-color);
border-radius: 6px;
}
.f > ul > li:hover {
color: #fff;
background-color: var(--inside-accent-color);
box-shadow: 0 2px 4px 1px rgb(0 0 0 / 20%);
transform: scale(1.03);
}
.f > ul > li:active {
transform: scale(0.97);
}
.f > ul > li > p {
margin: 0;
}
.f img {
border: solid 1px var(--inside-border-color);
border-radius: 25px;
width: 50px;
height: 50px;
margin: 0 ;
max-width: fit-content;
}
.f > ul > li > ul {
position: relative;
margin-left: 10px;
padding: 0;
}
.f > ul > li > ul > li {
list-style: none;
text-align: center;
}
.f > ul > li > ul > li:nth-child(1) {
font-size: 14px;
}
.f > ul > li > ul > li:nth-child(2) {
font-size: 12px;
margin-top: 5px;
max-width: 108px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
opacity: 0.8;
}
.f > ul > li > ul > li:nth-child(3) a {
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 100%;
border: 0;
color: transparent;
}
@media (max-width: 450px) {
.f > ul > li {
margin-left: 0;
width: 100%;
}
.f > ul > li > ul {
width: 100%;
}
.f > ul > li > ul > li {
text-align: start;
max-width: 100% ;
}
} -
随后用一个 div 标签将需要优化展示的友链包裹起来即可。这样通过 Markdown 语法写出来的友链,真的是不知道要比手动写 html 标签要高到哪里去了。
1
2
3
4
5
6
7
8<div class="f">
- 
- CWorld's Blog
- 求知若愚,虚怀若谷
- [](https://blog.cworld.top)
</div>
结尾
静态博客能够折腾到这个地步真的已经做的很不错了。希望大家都能把博客折腾成各自喜欢的样子,然后长期坚持把内容写下去,否则,折腾一大圈,也不过是一时热情,只会拖累自己的产物罢了。