前情提要
- Next 7.8.0
- hexo 4.2.1
- npm 6.14.5
- Next 配置文件指 项目根目录/themes/next/_config.yml
- 项目配置文件指 项目根目录/_config.yml
- 注意在配置文件中配置字段时,请严格控制缩进
- 安装命令没特别说明都在 项目根目录 下进行
以下所有配置都建立在 7.8 版本的基础之上实现的,保新保质,绝对不是复制偷搬那些祖传博客。
^_^ 友情建议:进行较大更改之前,先通过如
git
等方式进行保存。并且更改后为了避免样式不刷新,尽量先hexo clean
清除样式。生成后最好先在本地hexo s
部署。确认没有千疮百孔再推到线上吧。
美化性配置
虽然功能有了,但没人想要自己的博客完全单调扁平,虽然 next 的设计已经清新的挺舒服了,但人总有自定义的需求嘛。
修改途径有两种:
custom style 文件,覆盖单点样式,一般用于进行几个小地方的自定义等
custom variable 文件,修改变量,变量会被其他样式引用到,因此一般修改都是整体性的,一般用于修改文章宽度,文章颜色等整体性的样式。 >注意我在 variable 配置时发现,这里颜色字段只支持十六进制表示法,不支持 rgb 表示。
以下样式修改大多是在 styles 和 variables 两个文件中进行。
Next 样式结构
以主题目录为根目录,主要关注
./source/css
目录,偶尔需要 ./layout
目录,结构如下:
1 | NEXT |
variables
里配置字段非常多,基本假如修改的只是属性值的话,都可以在这里找到 ...
什么文章显示宽度、文章背景颜色,链接色 ...
详细有什么字段建议自己去摸一摸
base.styl
文件,变量名都很有可读性,实在看不懂自己可以修改看看变化。
variables
取值优先级:custom variables 文件 > 主题 .styl 文件 > base.styl 全局配置
。
一般我们需要修改覆盖什么变量,即针对性的将赋值写在 custom variables 文件中即可。
Windows 输出树形目录技巧:命令行输入
tree /?
,即可查阅 tree 命令的相关用法,照着用即可,生成的树形结构即可复制出来。
创建 custom 文件
在 next 配置文件中,找到下面这段,然后把需要的自定义字段取消注释,这里我们想要自定义 style 和 variable,因此取消注释这两个字段,之后可以在路径文件中写入你想要覆盖的样式。
**注意默认路径是 hexo 项目根目录下的 source/_data/styles.styl**,取消注释后按路径自己创建那个文件。
再次强调,不是 next 主题目录为根的路径。
1 | # Define custom file paths. |
调试样式方法
虽然能够自定义覆盖样式,但是 css 配色总是要试试的嘛,怎么调试出自己喜欢的配色再添加到文件里呢?
chrome 打开博客网站,右键你想要更改的元素,例如正文背景,在右键菜单中点【检查】,可以看到如图的调试台,右边则是相应的元素样式。如图: 比如这里我就把正文背景从原来的纯白,修改为了带点暖黄的护眼色。 然后把更改的这段复制到 styles.styl 即可,如下:
1 | //正文背景护眼色 |
重新生成文章即可,其他浏览器调试应该也是同理。
样式修改花样就太多了 ... 整个页面每个地方每个角落都能修改,具体每个想法怎么修改我肯定是覆盖不了的,一般通过浏览器调试找到相应的属性值修改就行。
因此下面通过几个简单的修改作为示例好了。
字体配置
在 next/_config.yml 里,找到 font 字段,一般配置 global 全局字体就行。
字体 CDN 默认是 google 的,可以去里面挑自己喜欢的字体,在 family 字段配置即可。
个人是比较喜欢思源宋体的。
示例如下:
1 | font: |
标题阴影美化
标题虽然可以通过字体大小区分,但是光秃秃的几个字在全文里还是有比较混杂的感觉,即不方便分割上下文,也不凸显标题本身。
因此考虑添加阴影来增强标题感。
在 styles 中添加字段如下,具体颜色和大小参数自己配吧。
1 | .post-body h1, .post-body h2 { |
单句代码悬浮突出美化
单句代码无论用什么颜色修改感觉都差点意思,要么是太过鲜艳,在频繁的地方看的挺烦,要么是太过暗淡,又不够突出明显。
因此搬运了悬浮贴的 css 样式。
单句代码和代码块都在code
类下面,因此最好加个p
类限制为仅单句代码。
1 | p code { |
修改文章页面宽度
在next\source\css\_variables
中找到对应子主题文件的如下字段:
1 | $content-desktop = 'calc(100% - %s)' % unit($content-desktop-padding / 2, 'px'); |
如果子主题文件没有,可以去base.styl
里找。
或者自己在子主题文件里添加这个字段。
至于相应的值就自己调试成自己舒服的了。
小提示:
hexo s
部署在本地后,可以直接修改这些 styl 文件,刷新页面即生效,不需要中断本地服务器。
修改文章背景色及透明度
在next\source\css\_variables
中找到对应子主题文件的如下字段:
1 | $content-bg-color =#ffffffc2; |
如果子主题文件没有,可以去base.styl
里找。
或者自己在子主题文件里添加这个字段。
值也自己调咯,推荐透明度在 0.9 左右。
hightlight代码配色
觉得 next 的几款 highlight
都不太搭白底网站,于是摸了一遍发现themes\next\source\css\_common\scaffolding\highlight\
路径下的文件存储着几套主题的配色,可以自己改一套喜欢的了。