NexT in Hexo Customized
js脚本实现自定义menu页
操作对象:blog/theme/next/文件夹下
在主题配置文件
_config.yml
中menu
栏下添加新的标签页,并在blog/source
文件夹下添加同样的文件夹,||
右侧是图标,采用的是Font Awesome
中的图标位置,不过推荐用fa-solid
类型的icon
,因为其他的好像显示失败。注意在如/source/pwn
中的index.md
中不需要写type
和layout
1
2
3
4
5
6
7
8menu:
home: / || fa fa-home
about: /about/ || fa fa-user
tags: /tags/ || fa fa-tags
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
pwn: /pwn/ || fas fa-flag-checkered
system: /system/ || fas fa-laptop-code在
/theme/next/scripts
下新建一个pwn.js
文件来控制新的pwn
菜单栏的内容1
2
3
4
5
6
7
8
9
10
11
12
13
14var pagination = require('hexo-pagination');
const filteredCategory = 'pwn';
hexo.extend.generator.register('pwn', function(locals){
var pwnPosts = locals.posts.filter(function(x) {
return x.categories.data[0].name == filteredCategory;
});
return pagination('pwn', pwnPosts, {
perPage: 12,
layout: ['archive']
})
});- 注意最后一个
layout
可以用'archive'
来呈现时间轴的效果,不必再自定义了(报错麻烦) - 这段代码的功能就是把所有文章按照
category
过滤,属于pwn
的显示出来
- 注意最后一个
执行生效即可
pace实现加载特效
由于网页不可能一直都秒进,总会等待一段时间的,所以可以设置顶部加载条。Next 已经集成了很多加载特效,可以在下面选项中在线调试测试一下。
搜索pace
,找到如下代码:
1 | # 页面顶部加载条 |
加载图片
装插件
1
npm install hexo-renderer-marked
在全局配置文件
_config.yml
中修改是否生成资源文件夹
1
post_asset_folder: true
添加标记
1
2
3marked:
prependRoot: true
postAsset: true
此时通过
hexo new 'title'
可以在_posts
中生成title.md
和同名资源文件夹title
都是可移动的,但资源文件夹和原文件要同时移动
修改
typora
图片偏好为相对路径优先进入相对路径后注意只有一个图片名(在对应的资源文件夹下)
1
![name](name.png)
当缩放时
src
也只能有图片名1
<img src="brop_stop_gadgets.png" alt="brop_stop_gadgets" style="zoom:38%;" />
圆角&背景&行内代码块
在根目录下的source folder中(即存放blogs的markdown文档的地方)创建文件夹
_data
,在该文件夹下创建文件style.styl
和variables.style
在next主题配置文件中找到
custom_file_path
并添加/取消注释以下两个选项1
2
3custom_file_path:
variable: source/_data/variables.styl
style: source/_data/styles.stylIn file
style.styl
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//背景图片设置
body {
background-image: url(/images/wallhaven-dpr2mo.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-size: 100% 100%;
}
//文章内容的透明度设置
.content-wrap {
opacity: 0.95;
}
//侧边框的透明度设置
.sidebar {
background-color: transparent;
opacity: 0.85;
}
//菜单栏的透明度设置
.header-inner {
background: rgba(255,255,255,0.85);
}
// Custom styles.
// 行内代码块的模式: 变为红色字体
code {
color: #F71735;
background: #fbf7f8;
margin: 2px;
}圆角设置在
variables.styl
1
2$border-radius-inner = 20px 20px 20px 20px;
$border-radius = 20px;
代码块风格
在
nexT
主题配置文件搜索codeblock
,修改copy_button
下的style
为mac
1
2
3
4
5
6copy_button:
enable: true
# Show text copy result.
show_result: true # 是否显示复制成功信息
# Available values: default | flat | mac
style: mac # 代码块mac风格
增加对mermaid的支持
Official : https://github.com/webappdevelp/hexo-filter-mermaid-diagrams
进入blog目录,安装插件
hexo-filter-mermaid-diagrams
1
npm install hexo-filter-mermaid-diagrams --save
修改根目录下的主配置文件
1
2
3
4
5
6# mermaid chart
mermaid: ## mermaid url https://github.com/knsv/mermaid
enable: true # default true
version: "9.1.4" # latest
options: # find more api options from https://github.com/knsv/mermaid/blob/master/src/mermaidAPI.js
#startOnload: true // default true进入主题文件夹
next
下,打开layout