全局配置
本页梳理博客的全局配置:站点信息、URL 与永久链接、主题基础(Logo/Favicon)、Banner 背景、CDN 机制。这是整个博客的地基,其他配置篇都建立在它之上。
配置分两层:站点配置
_config.yml(Hexo 核心 + 插件)与主题配置(布局/外观/交互)。本项目 CI 构建时主题配置文件会被userConfig/_config.tmp.yml模板覆盖,改主题配置请改模板(详见「安装与主题配置」篇)。本页除标注"根配置"外均为主题配置。
1. 站点信息
用途:站点名称、副标题、描述、作者等基础信息,影响标题栏、SEO 与全站文字。
配置(根配置 _config.yml):
title: 夜法之书 # 站点标题,显示在浏览器标签页与页头
subtitle: '深度思考,深入生活!所有文章均持续滚动更新!' # 站点副标题
description: '~软件驱动世界~个人独立技术博客,关于Linux,开源,Nas,Docker,嵌入式,理财,健身等主题!'
author: 夜法之书 # 全站默认作者
language: zh-CN # 站点语言
timezone: Asia/Shanghai # 时区,影响日期渲染说明:author 是文章的兜底作者——文章 front-matter 未写 author 时用它;language 影响站点 html lang 属性与日期本地化;timezone 必须与目标读者时区一致,否则文章日期会偏移。
2. URL 与永久链接
用途:站点根 URL 与文章链接格式。本博客使用 abbrlink(CRC32 + hex)生成短链接,文章发布后永久不变。
配置(根配置 _config.yml):
url: https://blog.17lai.site # 站点根 URL(Vercel 生产域名)
permalink: posts/:abbrlink/ # 文章链接格式:/posts/8f9792ab/
# hexo-abbrlink 插件
abbrlink:
alg: crc32 # 哈希算法:crc16(默认)| crc32
rep: hex # 进制表示:dec(默认)| hex
drafts: false # 草稿是否生成 abbrlink
force: false # 强制重算(忽略缓存,慎用)
writeback: true # 计算后写回 md 文件 front-matter说明:writeback: true 会把生成的 abbrlink 写回文章的 front-matter,链接一旦发布就固定;改名文章不会破坏旧链接。url 是所有绝对链接(canonical、sitemap、RSS)的基准,生产环境必须与部署域名一致。
3. 主题基础:Logo 与 Favicon
用途:站点图标与页头 Logo,目前共用同一张图。
配置(主题配置):
favicon: /favicon.webp # 浏览器标签页图标(支持 webp/png/ico)
logo: /favicon.webp # 页头导航栏 Logo
# 中文网站默认繁简语言,1: 繁體中文, 2: 简体中文
zhDefaultEncoding: 2说明:图片放 source/ 根目录即可被静态化;zhDefaultEncoding 是"中文繁简转换"功能的默认方向,与 preference.translate 配合(见「多语言与 Wiki 系统」篇)。
4. Banner 背景
用途:所有页面的头图 Banner。可每日轮换、随机取图、滚动视差,并叠加打字机副标题。
配置(主题配置):
banner:
enable: true # 是否每日切换 Banner
# false 时固定用 /medias_webp/banner/0.webp
random: true # 开启随机 featureimages 图片
parallax: false # 视差滚动(图片随屏幕滚动产生视差)
width_height_ratio: 1.0 # 图片最小宽高比,防移动端竖屏过度裁剪;关闭设 0
typed: # Banner 副标题打字机效果
enable: true
loop: false # 是否循环
showCursor: true # 是否显示光标
cursorChar: "_" # 光标字符
startDelay: 100 # 开始延迟(毫秒)
typeSpeed: 80 # 打字速度
backSpeed: 50 # 删除速度说明:random: true 时从 featureimages 中随机取图,配合 enable: true 实现"每日一图";typed 打字机渲染的是副标题(站点 subtitle 或首页 index.slogan.text,见「导航菜单与首页」篇)。
5. CDN 配置机制
用途:全站静态资源(JS/CSS/图片)走 CDN 加速。本项目用 jsDelivr + 占位符注入:模板中写 {cdnPathVersion} 等占位符,CI 构建时统一替换成真实 CDN 地址。
配置(主题配置):
jsDelivr:
url: {cdnPathVersion} # 带版本号的 CDN 路径(构建时替换)
latesturl: {cdnPathLatest} # latest 路径(封面图等不变资源)
cdn:
url: "{cdnUrl}" # JS/CSS 的 CDN URL
mediaUrl: "{mediaUrl}" # 图片/媒体 CDN URL
resUrl: "{resUrl}" # 资源 CDN URL(默认 https://cfblog.17lai.site)占位符与构建时替换(由 userConfig/_config.tmp.yml + tools/cicd.sh 的 sed 完成):
| 占位符 | 替换为 | 示例 |
|---|---|---|
{cdnPathVersion} | jsDelivr 带版本路径 | https://cdn.jsdelivr.net/gh/appotry/hexo@1.1 |
{cdnPathLatest} | latest CDN 路径 | https://cdn.jsdelivr.net/gh/appotry/hexo@latest |
{urlVersion} | 文件版本号 | ?v=12.19 |
{cdnUrl} / {mediaUrl} / {resUrl} | 各 CDN 域名 | https://cfblog.17lai.site |
说明:本页写配置时不需要关心占位符——保持 {xxx} 原样即可,CI 会处理。发布时机:改 JS/CSS 后需 tools/cicd.sh -r "特性" 递增版本号(tools/.VERSION),否则浏览器/PWA 缓存旧版;仅改内容用 -c 或 -d。
附:全局配置速查表
| 配置项 | 位置 | 说明 |
|---|---|---|
title / subtitle / description | 根 _config.yml | 站点基础信息 |
author / language / timezone | 根 _config.yml | 作者兜底、语言、时区 |
url / permalink | 根 _config.yml | 站点根 URL + posts/:abbrlink/ 链接格式 |
abbrlink | 根 _config.yml | crc32+hex 短链,writeback: true 写回 front-matter |
logo / favicon | 主题配置 | 页头 Logo 与站点图标 |
zhDefaultEncoding | 主题配置 | 繁简转换默认方向 |
banner | 主题配置 | 每日轮换/随机取图/视差/打字机 |
jsDelivr / cdn | 主题配置 | CDN 占位符(CI 时替换) |