文章记录了对 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 已安装包信息如下

windows 命令行
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 更新到最新版本

windows 命令行
npm install --save hexo@5.2.0
npm uninstall  --save hexo-theme-landscape
npm install  --save hexo-renderer-multi-markdown-it@latest

更新后 npm 包信息如下

windows 命令行
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

更新于 阅读次数