文章记录了对 hexo 相关配置文件的更改操作以便后续查阅。
更改前请备份文件。
# 主题配置文件
配置文件位于 <root>/themes/shoka/_config.yml
# 赞赏功能
关闭文章下的赞赏功能
reward: | |
# If true, reward will be displayed in every article by default. | |
enable: false |
# 底部 widgets
关闭底部显示随机评论功能
widgets: | |
# 随机文章 | |
random_posts: true | |
# 随机评论 | |
recent_comments: false |
# 字数和阅读时间统计
启用 hexo-symbols-count-time 插件的统计功能,在主题的 config 中配置
# 页尾全站统计 | |
footer: | |
since: 2023 | |
count: true | |
# 文章界面统计 | |
post: | |
count: true |
# 代码高亮
在项目根目录下的 config 文件中停用了 hexo 自由的代码高亮功能,该功能与主题相关功能不兼容
highlight: | |
enable: false # edit for Theme.shoka | |
# line_number: true | |
# auto_detect: true | |
tab_replace: '' | |
prismjs: | |
enable: false # edit for Theme.shoka |
# 图库
在 <root>/source/_data/images.yml
文件中写入完整链接
使用 图床
- https://example.cn/XX/abcdefg.jpg |
或者在主图配置文件中设置图床 API
image_server: "https://example.cn/api/api.php" |
# 评论
使用 LeanCloud 的 appId 和 appKey。
valine: | |
appId: #Your_appId | |
appKey: #Your_appkey | |
placeholder: ヽ (○´∀`)ノ♪ # Comment box placeholder | |
avatar: mp # Gravatar style : mp, identicon, monsterid, wavatar, robohash, retro | |
pageSize: 10 # Pagination size | |
lang: zh-CN | |
visitor: true # 文章访问量统计 | |
NoRecordIP: false # 不记录 IP | |
serverURLs: # When the custom domain name is enabled, fill it in here (it will be detected automatically by default, no need to fill in) | |
powerMode: true # 默认打开评论框输入特效 |
如果某文章需要关闭评论,在文章的 Front Matter 中配置
--- | |
title: 关闭评论 | |
comment: false | |
--- |
# 根目录配置文件
# 永久链接
在 <root>/_config.yml
中配置永久链接格式为 分类名 / 标题 /
# URL | |
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' | |
url: http://lyrago.xyz | |
root: / | |
permalink: :category/:title/ # edit for Theme.shoka | |
permalink_defaults: |
# 全局配置永久链接
在 _config.yml
中设置 permalink
选项
例如将其设置为 分类名 / 文件名
的形式
permalink: :category/:title/ |
之后只需在每篇文章的 Front-matter
中部分指定分类名
categories: | |
- blog-entry |
实际的文件名是根据文章标题生成的,并且默认情况下 Hexo 会将空格转换为连字符
-
,大写字母转换为小写字母。
# 指定文章永久链接
在文章的 Front-matter
中设置永久链接,永久链接应该以 /
或 .html
结尾
使用 categories
指定文章的分类
--- | |
title: title | |
date: 2024-02-25 15:01:49 | |
categories: Blog-Entry | |
permalink: /Blog-Entry/title.html | |
--- |
# 源代码修改
# cdn.jsdelivr.net
由于使用 cdn.jsdelivr.net 加载缓慢,将 blog 下的所有 cdn.jsdelivr.net 全部替换为 fastly.jsdelivr.net
# 悬挂备案号
修改 shoka\layout_partials\footer.njk 文件
原文件最后一段:
修改后:
# polyfill
Polyfill 是一块代码(通常是 web 上的 js),为旧浏览器提供它没有原生支持的较新功能;抚平不同浏览器之间对 JS 实现的差异,但是由于访问较慢且无太大作用,这里直接注释 shoka\layout_partials\layout.njk 文件的第 145 行
<script src="https://cdn.polyfill.io/v2/polyfill.js"></script> |
# Gravatar & cravatar
Gravatar 是一个公共头像服务,只需要去 Gravatar.com 注册账号绑定自己的域名邮箱,然后上传自己喜欢的头像,在逛博客评论的时候,邮箱填写您的域名邮箱,会默认输出你在 Gravatar 上传的头像。
Cravatar 是 lifepress 团队在国内做的一个公益项目,是一个 Gravatar 完美的替代品,Cravatar100% 兼容 Gravatar 的头像 API,可通过替换域名的方式来使用 Cravatar 接替 Gravatar。
现在使用的 valine 评论用的是作者发布在网络上的,而我们无法直接对源码进行更改,所以我们需要下载下来进行相关配置。
打开网站后 F12 能看到网站请求了一个 MiniValine.min.js
文件,现在将该文件下载到本地,存放在 blog\themes\shoka\source\js\MiniValine.min.js
之后去主题的 config 文件中注视点 valine 路径并修改:
vendors: | |
css: | |
# 省略...... | |
js: | |
# 省略...... | |
# valine: gh/amehime/MiniValine@4.2.2-beta10/dist/MiniValine.min.js | |
valine: js/MiniValine.min.js |
# Hexo 插件更新
hexo 完成安装后,npm 已安装包信息如下
D:\blog>npm ls | |
npm ERR! code ELSPROBLEMS | |
npm ERR! missing: hexo-theme-landscape@^1.0.0, required by hexo-site@0.0.0 | |
hexo-site@0.0.0 D:\blog | |
+-- hexo-algoliasearch@2.0.1 | |
+-- hexo-autoprefixer@2.0.0 | |
+-- hexo-deployer-git@4.0.0 | |
+-- hexo-feed@1.1.1 | |
+-- hexo-generator-archive@2.0.0 | |
+-- hexo-generator-category@2.0.0 | |
+-- hexo-generator-index@3.0.0 | |
+-- hexo-generator-tag@2.0.0 | |
+-- hexo-pangu-spacing@1.1.0 | |
+-- hexo-renderer-ejs@2.0.0 | |
+-- hexo-renderer-multi-markdown-it@0.1.5 | |
+-- hexo-renderer-stylus@3.0.0 | |
+-- hexo-server@3.0.0 | |
+-- hexo-symbols-count-time@0.7.1 | |
+-- UNMET DEPENDENCY hexo-theme-landscape@^1.0.0 | |
`-- hexo@5.0.0 |
与主题相关的插件信息
`-- hexo@5.0.0
+-- hexo-renderer-multi-markdown-it@0.1.5
+-- hexo-autoprefixer@2.0.0
+-- hexo-algoliasearch@2.0.1
+-- hexo-symbols-count-time@0.7.1
+-- hexo-feed@1.1.1
2024-09-08
将 hexo 更新到 5.2.0 版本
删除 hexo 默认的主题 hexo-theme-landscape
将 hexo-renderer-multi-markdown-it 和 hexo-pangu-spacing 更新到最新版本
npm install --save hexo@5.2.0 | |
npm uninstall --save hexo-theme-landscape | |
npm install --save hexo-renderer-multi-markdown-it@latest |
更新后 npm 包信息如下
D:\blog>npm ls | |
hexo-site@0.0.0 D:\blog | |
+-- hexo-algoliasearch@2.0.1 | |
+-- hexo-autoprefixer@2.0.0 | |
+-- hexo-deployer-git@4.0.0 | |
+-- hexo-feed@1.1.1 | |
+-- hexo-generator-archive@2.0.0 | |
+-- hexo-generator-category@2.0.0 | |
+-- hexo-generator-index@3.0.0 | |
+-- hexo-generator-tag@2.0.0 | |
+-- hexo-pangu-spacing@1.1.0 | |
+-- hexo-renderer-ejs@2.0.0 | |
+-- hexo-renderer-multi-markdown-it@0.1.5 | |
+-- hexo-renderer-stylus@3.0.0 | |
+-- hexo-server@3.0.0 | |
+-- hexo-symbols-count-time@0.7.1 | |
`-- hexo@5.2.0 |
虽然更新了 hexo-renderer-multi-markdown-it 和 hexo-pangu-spacing,但实际版本并未改变,本次操作只是将 hexo 升级到了 5.2.0