极简主题重构了 Hugo 和原版主题对中文极不友好的字数统计逻辑,采用精确的正则分离算法,为中文用户提供完美的统计体验。
传统统计的痛点
Hugo 默认统计问题
Hugo 默认的字数统计对中文支持不佳:
- 按空格分词:中文没有空格,导致整段文字被当作一个词
- 统计不准确:中文文章字数严重虚高或偏低
- 阅读时长失真:基于错误字数计算的时间没有参考价值
原版主题问题
PaperMod 等主题沿用 Hugo 默认统计:
- 中文 1000 字文章可能显示为 1 字或 10000 字
- 阅读时长计算毫无意义
- 影响用户体验和内容规划
极简主题的解决方案
精确识别算法
采用先进的正则分离算法,精确识别:
- 汉字:每个汉字独立计数
- 字母:连续字母组合为一个单词
- 数字:连续数字组合为一个单位
- 标点符号:智能过滤,不计入字数
统计示例
|
|
统计结果:
- 汉字:13 字(这是一篇测试文章包含英文和数字)
- 英文单词:2 个(Hello、World)
- 数字:1 个(2025)
- 总计:16 字
配置方法
启用统计功能
在 hugo.yaml 中配置:
|
|
参数说明
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| ShowReadingTime | bool | false | 是否显示阅读时长 |
| readingSpeed | int | 200 | 阅读速度(字/分钟) |
阅读速度参考
不同场景的建议阅读速度:
| 场景 | 阅读速度 | 说明 |
|---|---|---|
| 深度阅读 | 150-200 字/分钟 | 仔细研读,理解透彻 |
| 快速浏览 | 300-400 字/分钟 | 快速获取信息 |
| 技术文章 | 100-150 字/分钟 | 需要思考和理解代码 |
| 轻松阅读 | 250-300 字/分钟 | 小说、散文等 |
推荐设置:200 字/分钟(适合大多数博客文章)
显示效果
文章列表
每篇文章显示统计信息:
约 1234 字 | 预计阅读 6 分钟
文章详情页
文章开头显示:
📅 2025-03-13 | ⏱️ 阅读时长 6 分钟 | 📖 1234 字
统计原理详解
算法实现
|
|
准确性对比
以本文档为例(示例数据):
| 统计方式 | 字数 | 准确度 |
|---|---|---|
| Hugo 默认 | 1 | ❌ 极不准确 |
| 原版主题 | 50 | ❌ 不准确 |
| 极简主题 | 2547 | ✅ 精确 |
自定义配置
针对特定文章
在文章 Front Matter 中可覆盖全局设置:
|
|
隐藏统计信息
如果不想在特定文章中显示统计:
|
|
常见问题
Q: 统计包含代码块吗?
A: 包含。代码块中的字符也会被统计,这符合实际情况,因为阅读代码也需要时间。
Q: 统计包含图片 alt 文本吗?
A: 不包含。只统计文章正文内容。
Q: 阅读时长计算公式?
A:
阅读时长(分钟) = 总字数 / 阅读速度
结果会向上取整,避免显示 0 分钟。
Q: 为什么我的字数统计比其他工具多?
A: 不同工具的统计标准不同:
- 极简主题:汉字 + 英文单词 + 数字组合
- Word:字符数(包含空格和标点)
- 在线工具:可能有不同的过滤规则
极简主题的统计方式更符合实际阅读体验。
Q: 可以完全关闭统计吗?
A: 可以。在 hugo.yaml 中设置:
|
|
统计数据应用
内容规划
- 根据字数评估文章深度
- 控制文章长度,保持可读性
- 估算写作时间
用户体验
- 帮助读者评估阅读投入
- 提供内容预期
- 增强专业感
SEO 优化
- 结构化数据支持
- 提升用户体验指标
- 增加页面停留时间
技术细节
性能优化
统计算法经过优化:
- 构建时计算,不影响运行时性能
- 缓存统计结果
- 正则表达式预编译
兼容性
支持多种内容格式:
- ✅ 纯文本
- ✅ Markdown
- ✅ 短代码内容
- ✅ HTML 标签(自动过滤)
- ✅ 多语言混排
相关配置
- 🚀 查看 快速入门 了解基础配置
- ⚙️ 了解 Front Matter 配置 覆盖设置
极简主题的精准中文统计功能,让你的博客更专业、更贴心!