Meow 主题文档 - 进阶教程

※ Meow 主题文档目录 >>

🚀 快速开始 - 📋 主题配置 - 💌 主题页面 - 📌 标签插件 - 💡 进阶教程


搜索功能

搜索功能依赖hexo-generator-searchdbMeow 已对此插件进行适配。

如需开启此功能,请先安装插件。

npm install hexo-generator-searchdb --save

如果你之前安装了hexo-generator-search,请将其卸载。

npm uninstall hexo-generator-search

然后,在博客根目录下的_config.yml文件最后添加以下配置(具体说明详见插件官方文档):

1
2
3
4
5
search:
path: search.json
field: post
content: true
format: striptags

最后,在主题配置文件中找到以下内容并按需配置。

1
2
3
4
5
6
7
8
9
search:
enable: true # 是否开启搜索功能
type: local # 搜索系统类型,目前只支持:local(本地搜索)
# 本地搜索
local:
# 每篇文章显示几个匹配结果,配置-1则显示全部匹配结果
top_n_per_article: 1
# 是否在页面加载时预加载搜索数据
preload: false

字数统计

字数统计功能依赖 hexo-wordcount,如需开启此功能,请先安装插件。

npm install hexo-wordcount --save

接下来,你就可以开启文章字数统计、阅读时间预估以及网站页脚的字数统计功能了,配置方法详见《主题配置》文档。

评论模块

Meow 目前对Waline 评论系统进行了适配。Waline 十分强大,支持匿名 / 登录评论、多种评论格式、表情包、反应统计、用户标签、多语言、评论通知、安全防护等功能。

在开启评论模块之前,你需要先根据 Waline 的官方文档说明进行数据库建立服务端云函数部署

接着,在主题配置文件中找到评论相关的内容,根据实际情况填写参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
comment:
enable: true # 是否开启评论模块
display: true # 是否自动对文章开启评论区
type: waline # 评论系统,支持: waline
lazyload: true # 是否启用懒加载(当视窗滚动到评论区时才加载评论内容)
# Waline配置
waline:
server_url: https://your-domain.vercel.app # Waline服务端地址
lang: zh-CN # 语言
emoji: # 表情选项卡
- 'https://registry.npmmirror.com/@waline/emojis/1.3.0/files/qq'
- 'https://registry.npmmirror.com/@waline/emojis/1.3.0/files/tw-emoji'
reaction: # 反应图片
- 'https://xxx.com/a001.png'
- 'https://xxx.com/a002.png'
- 'https://xxx.com/a003.png'
option: # 自定义其他Waline配置
  • Waline 配置:
参数 说明
server_url 进行服务端云函数部署后得到的地址
lang 评论区语言,比如:zh-CN,en-US,详见多语言支持
emoji 表情列表,按 YAML 数组形式列出表情预设链接,详见表情选项卡
reaction 反应图片列表,按 YAML 数组形式列出图片链接。可以将反应栏目当作点赞功能使用,详见文章反应
option Waline 还提供了许多客户端属性,详见组件属性
你可以在这个项内自由补充需要的配置,配置方法请参考下列样例
Waline option 的配置方法

按 YAML 格式列出配置项即可。

1
2
3
4
5
6
option:
locale:
placeholder: '欢迎评论~'
reactionTitle: '点赞支持我吧!'
commentSorting: 'hottest'
requiredMeta: ['nick', 'mail']

注:由于 giscus 存在极大的缺点和限制,Meow 不再支持 giscus 作为评论系统。

加密功能

文章 / 页面加密功能依赖 hexo-blog-encrypt。如需开启此功能,请先安装插件。

npm install hexo-blog-encrypt --save

安装插件后,可以对某篇文章 / 某个页面单独加密,也可以对某个 Tag 标签下的所有文章加密,还可以更换密码框的样式主题。

具体配置方法详见官方文档

Meowhexo-blog-encrypt插件进行了适配与优化:

  • 加密文章在首页、归档页会显示加密图标
  • 加密文章的 TOC 目录会自动隐藏,直到解密后才可见
  • 支持加密相册,自动隐藏相册文本信息和图片,解密后才加载资源,还可在相册集显示加密图标

音乐播放器

MeowAplayer 进行了适配与样式优化,并支持使用 Meting API

如需使用音乐播放器,请在主题配置文档中找到以下内容并按需配置。

1
2
3
4
5
6
7
8
9
10
11
12
music:
enable: true # 是否开启全局音乐播放器
autoplay: false # 是否自动播放音乐
loop: all # 如何循环音乐,all(全部循环)/one(单曲循环)/none(不循环)
order: list # 以什么顺序播放音乐,list(列表顺序)/random(随机顺序)
volume: 0.7 # 默认音量,可填写0到1的数值
lyric: true # 是否显示歌词
meting: # Meting API配置
api: # 自定义Meting API链接
server: # 音乐平台: netease(网易), tencent(腾讯), kugou(酷狗), xiami(虾米), baidu(百度)
type: # 类型: song(歌曲), playlist(歌单), album(专辑), search(搜索), artist(歌手)
id: # 音频来源: 歌曲id / 歌单id / 专辑id / 搜索关键词 / 歌手名称

注意:以上配置主要针对全局音乐播放器(浮现在所有页面窗口左下角的迷你播放器)。

如果你不想使用 Meting API,请置空meting.api字段,并额外配置歌曲列表。

在博客根目录下的source/_data目录下新建music.yml文件,按以下 YAML 数组格式填入歌曲信息。

1
2
3
4
5
6
7
8
9
10
11
12
- name: '第一首歌'
artist: '歌手1'
url: 'https://xxx.com/song01.mp3'
cover: 'https://xxx.com/song01.jpg'
lrc: 'https://xxx.com/song01.lrc'
- name: '第二首歌'
artist: '歌手2'
url: 'https://xxx.com/song02.mp3'
cover: 'https://xxx.com/song02.jpg'
lrc: 'https://xxx.com/song02.lrc'
theme: '#88C0ED'
type: 'auto'

其中,每一首歌曲的配置字段含义可以参考 Aplayer 官方文档中参数audio下的字段说明。

推荐插件

Hexo 有许多实用的插件可供选择,推荐使用以下插件:

  • hexo-htmlnano-mini: 减小 Html、Css、JavaScript 文件的体积,从而优化网站访问速度
  • hexo-pangu: 在中文字和半形字符之间插入空格,使文字排版更美观
  • hexo-abbrlink: 为文章生成静态链接
  • hexo-renderer-markdown-it: Markdown-it 渲染器,比默认的 hexo-renderer-marked 渲染器更强大
Icon喜欢这篇作品的话,奖励一下我吧~
💗感谢你的喜欢与支持!
QRCode微信
QRCode支付宝
致谢名单
本作品由 小橘猫 于 2025-06-20 17:25:30 发布
作品地址:Meow 主题文档 - 进阶教程
除特别声明外,本站作品均采用 CC BY-NC-SA 4.0 许可协议,转载请注明来自 MEOW
Logo
<< 上一篇Meow Site Navigation 站内导航下一篇 >>Meow 主题文档 - 主题页面