摸魚中...

网站基本介绍

我的这个网站是基于Hexo框架,使用的是Hexo上的一款主题:hexo-theme-reimu
然后经过自己的一些修改,成了现在这个样子。
本文主要以hexo-theme-reimu为例进行讲解。
为什么叫从1到2呢?因为从0到1网上已经有很多参考的文章了。
本文主要讲安装完主题后,会遇到的一些问题,以及怎么做一些小小的修改。
毕竟你可能不是对这个主题的每个部分都很喜欢。
有些地方原作者@拔剑Sketon在他的食用指南里有提到
可能会有所重复。

准备工作

首先,打开心爱的vscode,在vscode中打开blog文件夹,然后我们就可以开始了,下面提到的文件除特殊说明外,均指 reimu 里的文件。
温馨提示:文中代码注释我习惯性用//,但是请不要在你的代码里这么写,不然会报错。

头像问题

一开始安装完主题时是没有头像的,此时如果你往themes\reimu\source\images里存入一张图片,然后修改_config.yml文件里的avatar文件名。
那么恭喜你!头像依旧没有显示正确!
avatar: "OIP-C.webp" # source/_data/avatar/avatar.webp
看这段代码的注释,头像应当存放在 source/_data/avatar/ (这里的source是外面的source),如果没有找到对应的文件夹就自己创建。

文章封面的问题

文章存放在 source/_posts目录下,直接举例,新建一个 .md 文件,在开头放入这一段:

1
2
3
4
5
---
title: 从1到2搭建一个自己的博客网站 //这里就是你的标题
cover: /images/p0.webp //这里就是你的文章封面,放在 themes\reimu\source\images 下
sticky: true //这里表示文章置顶
---

about和friend没有任何显示的问题

在_config.yml文件里有这样一段代码:

1
2
3
4
5
menu:
Home: /
Archives: /archives
About: /About
Friend: /Friend

所以我们只需在source(外面那个)下新建一个 About.md文件,然后输入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
---
title:
date: 2024-11-29 12:00:00
type: "page" # 这将帮助Hexo识别页面类型
comments: true # 如果你希望关于页面有评论功能,设置为true
---

# 作者简介
- ~~来自某著名末流985大学软件学院~~
- 邮箱:2726688921@qq.com
- 13060626770@163.com
- 立志做一个全栈~~牛马~~工程师

Friend界面同理

如何修改顶部导航栏和侧边导航栏

先说说侧边导航栏的位置问题:
在_config.yml下搜索 sidebar ,把它的值修改为 left 导航栏就会显示在左边。

侧边栏的样式修改问题:
找到这个文件:themes\reimu\layout_partial\sidebar\common-sidebar.ejs 最后一段代码是这样的:

1
2
3
4
5
6
7
8
9
<div class="sidebar-menu">
<% for (var i in theme.menu) { %>
<div class="sidebar-menu-link-wrap">
<a class="sidebar-menu-link-dummy" href="<%- url_for(theme.menu[i]) %>" aria-label="<%= __(i) %>"></a>
<!--<div class="sidebar-menu-icon icon-taichi"></div>--> //这一行是那个太极图像,我不喜欢,所以注释掉了,你也可以换成别的
<div class="sidebar-menu-link"><%= __(i) %></div>
</div>
<% } %>
</div>

找到sidebar-menu,sidebar-menu-link-wrap,sidebar-menu-link-dummy的定义。
找到这个文件 themes/reimu/source/css/_partial/sidebar.styl
搜索menu,找到这部分代码:

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
.sidebar-menu
margin: 20px 0
width: 100%


.sidebar-menu-link-wrap
margin: 8px 50px
display: flex
position: relative

justify-content: center
border: 5px var(--color-red-3-shadow) solid
transition: border .5s
border-radius: 5px
&:hover
border: 5px var(--color-h2-after) solid

&:hover .sidebar-menu-icon:before
transform: rotate(90deg) scale(1.1)


.sidebar-menu-icon
@extend $menu-link
&:before
font-size: 24px
font-weight: 400
transform: rotate(90deg)
transition: transform .3s
will-change: transform

pointer-events: none
padding: 5px
display: flex
align-items: center

.sidebar-menu-link-dummy
position: absolute
width: 100%
height: 100%
top: 0
left: 0

.sidebar-menu-link
@extend $menu-link
pointer-events: none

通过修改这里的代码你可以把它改成自己喜欢的样子,具体怎么改就不赘述了,不会可以问GPT

顶部导航栏的修改:找到这个文件:
themes\reimu\layout_partial\header.ejs
开头部分的代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="header-nav">
<nav id="main-nav">
<% for (var i in theme.menu) { %>
<span class="main-nav-link-wrap">
<!--<div class="main-nav-icon icon-taichi"></div>--> //这里是那个太极图案,我不喜欢,注释掉了,你可以改成自己喜欢的
<a class="main-nav-link" href="<%- url_for(theme.menu[i]) %>"><%= __(i) %></a>
</span>
<% } %>
<a id="main-nav-toggle" class="nav-icon"></a>
</nav>
<nav id="sub-nav">
<!-- <% if (theme.rss) { %>
<a id="nav-rss-link" class="nav-icon" href="<%- url_for(theme.rss) %>" title="<%= __('rss_feed') %>" target="_blank"></a>
<% } %>--> //这里是rss,我用不到,所以注释掉了

如果你想修改其他地方,步骤是一样的,在 themes\reimu\layout 下找找看(见名知意),你要修改侧边栏,就找到 sidebar。
然后看你要修改的那部分在哪里修饰的,看看都用了哪些class,然后再到 themes\reimu\source\css 下找到对应的比如说侧边栏sidebar.styl 然后搜索关键字,很快就可以找它们的具体定义,然后就可根据自己的喜好修改了,遇到看不懂的代码或者不知道怎么改,可以问一下GPT。

主题色怎么改的问题

这一点原作者有说,找到 themes\reimu\source\css_variables.styl 这个文件,
修改以下颜色:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
:root
--red-0: hsl(0, 100%, 50%)
--red-1: hsl(0, 100%, 66%)
--red-2: hsl(0, 100%, 74%)
--red-3: hsl(0, 100%, 84%)
--red-4: hsl(0, 100%, 91%)
--red-5: hsl(0, 100%, 95%)
--red-5-5: hsl(0, 100%, 96%)
--red-6: hsl(0, 100%, 98%)

--color-red-6-shadow: hsla(0, 100%, 65%, 0.6)
--color-red-3-shadow: hsla(0, 100%, 65%, 0.3)


[data-theme="dark"]
root
--red-4: hsla(0, 100%, 91%, 0.5)
--red-5: hsla(0, 100%, 95%, 0.2)
--red-5-5: hsla(0, 100%, 96%, 0.1)
--red-6: hsla(0, 100%, 98%, 0.2)

如果你要换成蓝色主题的话就把左边的0都改成220,第三个值的百分比代表了亮度,表现出来的效果就是red0颜色是最深的,red6是最浅的,可以自己调节百分比到自己喜欢的程度。

先讲这么多,后续有补充再更新…