hexo 学习 0007:hexo 写作配置

Hexo 的写作配置项决定了文章的创建方式、存储结构以及内容渲染的细节。通过调整 _config.yml 文件中的 Writing 部分,可以优化写作流程,规范文件命名,并控制代码高亮等核心功能。

新建文章配置

new_post_name
定义新建文章的文件名格式。默认值为 :title.md。可以使用变量来自定义,例如使用 :year-:month-:day-:title.md 作为格式,生成的文件名为 2026-03-09-hello-world.md

default_layout
设置新建文章的默认布局。通常为 post,表示文章类型。也可以设置为 page 或其他自定义布局。

titlecase
设置标题的大小写转换。若设为 true,标题将被转换为标题格式(Title Case),即每个单词首字母大写。默认值为 false

文件与链接处理

filename_case
控制文件名的大小写。设置为 1 时,文件名将被转换为小写;设置为 2 时,文件名将被转换为大写。默认值为 0,表示不进行转换。

post_asset_folder
启用文章资源文件夹。设为 true 后,每新建一篇文章,Hexo 会自动创建一个同名的文件夹用于存放该文章相关的资源(如图片)。这有助于保持资源文件的组织结构清晰。

relative_link
设置链接的路径类型。若设为 true,所有链接将被转换为相对于网站根目录的相对路径。默认值为 false,使用绝对路径。

render_drafts
控制是否渲染草稿文章。在本地预览时,若设为 true,位于 _drafts 文件夹下的草稿文章也会被生成并显示。

future
控制是否显示日期为未来的文章。若设为 true,未来日期的文章将在生成的站点中可见。若设为 false,则会隐藏这些文章。

外部链接设置

external_link
用于配置外部链接的行为。

  • enable: 是否在新标签页中打开外部链接。默认值为 true
  • field: 应用范围,可选 site(整个网站)或 post(仅文章内容)。默认值为 site
  • exclude: 需要排除的域名列表,匹配的域名链接将不会在新标签页中打开。主域名和子域名需分别配置。

代码高亮配置

Hexo 支持多种代码高亮方案,主要通过 syntax_highlighter 选项选择。

  • syntax_highlighter: 选择代码高亮库,可选 highlight.jsprismjs
  • highlight: 当选择 highlight.js 时,此选项用于详细配置。
  • prismjs: 当选择 prismjs 时,此选项用于详细配置。

通用高亮选项 (以 highlight 为例)

  • line_number: 是否显示行号。默认值为 true
  • auto_detect: 是否启用自动检测代码语言。默认值为 false
  • tab_replace: 用于替换制表符(Tab)的字符串,例如设置为四个空格 " "
  • wrap: 是否对长代码行进行换行。默认值为 true
  • hljs: 是否启用 highlight.js 的特定模式。默认值为 false

注意事项

  • 配置生效范围:部分配置(如 external_link.field)区分应用范围,修改时需确认是否影响全局或仅限文章内容。
  • 资源文件夹:启用 post_asset_folder 后,引用文章内的图片需使用相对路径,并确保部署时资源文件夹被正确上传。
  • 代码高亮冲突:同时配置 highlightprismjs 时,以 syntax_highlighter 选定的为准,建议只保留生效的那个库的配置以保持文件整洁。
  • 文件名唯一性new_post_name 的设置需注意文件名的唯一性,避免因文件名重复导致文章被覆盖。