Skip to content

Jekyll 配置指南 ​

通过 GitHub API 将文章发布到 Jekyll 静态博客仓库。

一、准备 ​

  1. 一个可作为 Jekyll 博客仓库的 GitHub 仓库(如 terwer.github.io 的 gh-pages 分支)。
  2. 一个对该仓库有 push 权限 的 GitHub Token(PAT)(GitHub Settings → Developer settings → Personal access tokens,勾选 repo 权限)。
  3. 该仓库是一个标准 Jekyll 项目(含 _config.yml、_posts/、assets/ 目录)。

二、配置 ​

字段填什么
首页地址GitHub 首页地址,默认 https://github.com
API 地址GitHub API 地址,默认 https://api.github.com,通常无需修改
用户名GitHub 用户名(owner),用于拼出仓库地址
鉴权 TokenGitHub 个人访问令牌(PAT),需对目标仓库有 push 权限
git 仓库名Jekyll 博客仓库名,与用户名组成 <user>/<repo>,如 terwer.github.io
默认分支发布到的分支,默认 main,需与仓库实际分支一致;Jekyll 站点常发布到 gh-pages
存储目录Jekyll 文章存储目录,默认 _posts。发布后的 .md 写入该目录
文件规则文章文件名规则,Jekyll 需带日期前缀,默认 [yyyy]-[mm]-[dd]-[slug].md
文章预览规则站点文章预览规则,默认 /post/[postid].html
预览规则GitHub blob 预览规则,默认 /[user]/[repo]/blob/[branch]/[docpath]
图床Jekyll 支持内置图床,选「当前平台」:图片上传到仓库 assets/images(默认),文章中引用为绝对路径 /assets/images/<图片名>

三、图片与目录约定(Jekyll 官方规范) ​

  • Jekyll 的 assets/ 目录构建时会被原样复制到站点根目录。放在 assets/images/ 下的图片,站点根 URL 就是 /assets/images/<图片名>(baseurl 为空时)。
  • 因此在 Markdown 中引用文章图片使用 绝对路径 /assets/images/<图片名> 即可——构建产物(_site/)中该路径能正确解析到图片,这也是社区与官方文档推荐的引用方式。
  • 文章的最终 URL(permalink)由 front matter 的 permalink 决定:插件始终会写入该字段,「YAML 永久链接」开关只决定取值——开启时按「文章预览规则」生成(仅 [postid] 占位符生效),关闭时固定为 /post/<slug>.html。因此不会回落到 Jekyll 默认规则。
  • Jekyll front matter 中写 published: true 时文章为发布状态(published 默认 true),构建时会被正常渲染。插件在「YAML 预设配置」留空时会自动写入 layout: post 与 published: true;一旦填写该项,文章头改由你给的键决定,需自行包含这两项。

四、验证与发布 ​

  1. 点「验证」→ Token、仓库、分支校验通过(会向仓库发布并清理测试文件)→ 保持「配置已保存并验证通过」。
  2. 快速发布 → 选 Jekyll → 发布。文章 .md 会提交到 存储目录/[yyyy]-[mm]-[dd]-[slug].md。
  3. 点「查看文章」能打开站点文章页;带图发布时图片会一并上传到仓库 assets/images 并在文章中引用 /assets/images/<图片名>。

图片存储路径 ​

图床选「当前平台」时,可以指定图片存到仓库哪里:

填写图片存储目录与访问链接

字段默认值
图片存储目录assets/images
图片访问链接assets/images

Jekyll 的图片放在 assets 下,引用时用相对站点根的路径。一般不需要改,改了请保证两个值对应。

常见问题 ​

  • 验证通过但发布失败:确认 Token 对目标仓库有 push 权限,仓库名与分支正确,存储目录已存在。权限不足会收到 401/403。
  • 图片要怎么发布:选「当前平台」图床,图片上传到仓库 assets/images,文章中引用绝对路径 /assets/images/<图片名>。因 Jekyll 构建时把 assets/ 原样复制到站点根,构建产物能正常显示。
  • 查看链接打不开:插件总会写入 permalink,所以线上地址由它决定:开启「YAML 永久链接」时取「文章预览规则」,关闭时固定 /post/<slug>.html。若与预览规则不一致,改「文章预览规则」并保持开关开启即可(无需改主题 permalink)。另外请确认博客使用的主题/发布脚本会对仓库变更执行 Jekyll 构建(如 GitHub Pages 自动构建),否则新文章不会出现在线上站点。
  • 发布后线上没有新文章:Jekyll 是通过构建(jekyll build)从仓库内容生成站点的。GitHub Pages 会对仓库自动执行 Jekyll 构建;确认仓库配置了自动构建(GitHub Pages / Actions / Vercel / Netlify 等);仅推送 .md 不会直接改变已部署站点,需触发一次构建。
  • 更新与删除:点「更新」会重新提交并产生一次新提交;「删除」会从仓库移除对应 .md,需重新构建才能从站点移除。

以 GPL-3.0 许可发布