本文主要是介绍 hexo 的一些建站、next 主题美化以及在这过程中遇到的问题等。
修改浏览器右侧滚动条样式
在目录theme/next/source/css/main.styl添加以下代码
1 | // 修改侧边栏滚动条 |
修改行内代码颜色样式
在根目录source\_data\styles.styl目录下添加以下代码:
1 | // 针对Code代码标签的美化 |
主页文章添加阴影效果

在根目录source\_data\styles.styl目录下添加以下代码:
1 | .post { |
为什么侧边目录栏格式会出错?
样式错误如下图:
原因:Markdown 语法的标题等级需要依次排列,比如一级标题后面只能是二级标题,不能跨级
1 | 正确: |

修改代码块的背景颜色
将themes\next\config.yml目录下的highlight_theme设置为normal
1 | codeblock: |
添加图片灯箱
添加灯箱功能,实现点击图片后放大聚焦图片,并支持幻灯片播放、全屏播放、缩略图、快速分享到社交媒体等,该功能由 fancyBox 提供,效果如下:
在根目录下执行以下命令安装相关依赖:
1 | $ git clone https://github.com/theme-next/theme-next-fancybox3 themes/next/source/lib/fancybox |
在主题配置文件中设置 fancybox: true,然后刷新浏览器即可生效。
1 | fancybox: true |
在 hexo 博客中添加豆瓣个人主页
- 安装
1 | npm install hexo-douban --save-dev |
- 在博客站点的配置文件 _config.yml 中添加以下内容(注意:不是主题的配置文件)
1 | # hexo-douban |
- user: 你的豆瓣 ID.打开豆瓣,登入账户,然后在右上角点击 “个人主页” ,这时候地址栏的 URL 大概是这样:”https://www.douban.com/people/xxxxxx/“ ,其中的”xxxxxx”就是你的个人 ID 了。
- builtin: 是否将生成页面的功能嵌入 hexo s 和 hexo g 中,默认是 false,另一可选项为 true(1.x.x 版本新增配置项)。
如果配置了 builtin 参数为 true,那么除了可以使用 hexo douban 命令之外,hexo g 或 hexo s 也内嵌了生成页面的功能。 - title: 该页面的标题.
- quote: 写在页面开头的一段话,支持 html 语法.
- timeout: 爬取数据的超时时间,默认是 10000ms ,如果在使用时发现报了超时的错(ETIMEOUT)可以把这个数据设置的大一点。
注意:如果只想显示某一个页面(比如 movie),那就把其他的配置项注释掉即可。
博客文章添加问文章置顶
- 安装插件
hexo-generator-index-pin-top
1 | npm install hexo-generator-index-pin-top --save |
- 在需要置顶的文章的 Front-matter 中加上 top: true ,比如:
1 | ---md |
- 重启
1 | hexo g |
隐藏文章
在文章头部增加hidden: true即可隐藏文章,但是通过地址栏还是可以访问隐藏的文章
1 |
|
修改 note 标签的样式
在themes\next\config.yml目录下,找到以下代码,修改style: modern,如下所示:
配置参数有:simple、 modern、 flat、 disabled
1 | # Note tag (bs-callout) |

添加网易云外链

在themes\next\layout\_macro\sidebar.swig目录下,添加以下代码,如下所示:
1 | <aside class="sidebar"> |
隐藏网页底部 powered By Hexo / 强力驱动
打开themes/next/layout/_partials/footer.swig,注释代码即可,或者直接删除。位置如图:
底部添加网站运行时间

打开themes/next/layout/_partials/footer.swig,添加以下代码:
1 | <span id="sitetime"></span> |
添加搜索功能
在根目录下执行以下命令安装相关依赖:
1 | npm install hexo-generator-searchdb --save |
在主题配置文件themes\next_config.yml中修改相关字段:
1 | local_search: |
在站点配置文件_config.yml中添加以下字段:
1 | search: |
注意:使用搜索功能时,很有可能在本地运行功能和样式都是 ok 的,但是一旦部署到服务器之后,就会出现功能和样式都不可用。
所以需要在_config.yml文件中修改public_dir文件路径,如下:
1 | # Directory |
修改全局样式
全局样式文件source/_data/styles.styl,在此文件中可以统一修改样式,
或者public/css/main.css中修改
设置导航栏边缘摆动效果
- 下载
wobblewindow.js文件,将下载的文件放在themes/next/source/js中 - 找到
themes/next/layout/_layout.swig样式文件,需要给标签设置id名,如下代码: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
<header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
<div class="header-inner">{% include '_partials/header/index.swig' %}</div>
</header>
<footer id="footer" class="footer">
<div class="footer-inner">
{% include '_partials/languages.swig' %}
{{ partial('_partials/footer.swig', {}, {cache: theme.cache.enable}) }}
{{ partial('_third-party/statistics/index.swig', {}, {cache: theme.cache.enable}) }}
</div>
</footer>
{# wobble窗口摆动特效 #}
{% if theme.wobble.enable %}
<script src="/js/wobblewindow.js"></script>
<script>
//只在桌面版网页启用特效
if( window.innerWidth > 768 ){
$(document).ready(function () {
{% if theme.wobble.header %}
$('#header').wobbleWindow({
radius: {{ theme.wobble.radius }},
movementTop: false,
movementLeft: false,
movementRight: false,
debug: false,
});
{% endif %}
{% if theme.wobble.sidebar %}
$('#sidebar').wobbleWindow({
radius: {{ theme.wobble.radius }},
movementLeft: false,
movementTop: false,
movementBottom: false,
position: 'fixed',
debug: false,
});
{% endif %}
{% if theme.wobble.footer %}
$('#footer').wobbleWindow({
radius: {{ theme.wobble.radius }},
movementBottom: false,
movementLeft: false,
movementRight: false,
offsetX: {{ theme.wobble.offset }},
// position: 'absolute',
debug: false,
});
{% endif %}
});
}
</script>
{% endif %} - 找到
themes/next/_config.yml配置文件,开启摆动效果1
2
3
4
5
6
7
8# window woblle
wobble:
enable: true # 是否开启边缘波动效果
radius: 50 # 波动半径
sidebar: false # 开启侧边栏边缘摆动
header: true # 开启头部边缘摆动
footer: true # 开启脚部边缘摆动
offset: 10
参考链接: