加载中...

加载中...

全局配置

本页梳理博客的全局配置:站点信息、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.ymlcrc32+hex 短链,writeback: true 写回 front-matter
logo / favicon主题配置页头 Logo 与站点图标
zhDefaultEncoding主题配置繁简转换默认方向
banner主题配置每日轮换/随机取图/视差/打字机
jsDelivr / cdn主题配置CDN 占位符(CI 时替换)
评论
数据加载中 ...