本文件适用于本仓库全部目录。用户当前明确要求优先;进入子目录时,同时检查更具体的 AGENTS.md。
shensunbo.github.io 个人博客,基于 Hux Blog 模板,使用 Jekyll 4、kramdown/GFM 和 Rouge。_config.yml、Gemfile、package.json、Gruntfile.js 和模板实现为准。_doc/README.zh.md 含旧版主题说明,不能直接作为当前构建命令依据。.github/copilot-instructions.md 可作补充参考;示例标签、历史说明与实际配置不一致时,优先实际文件和本文约定。| 路径 | 用途与约定 |
|---|---|
_posts/ |
正式文章源文件;用户指定写入这里时直接执行 |
_q_draft_post/ |
本仓库使用的博客草稿目录;它不是 Jekyll 标准 _drafts/ |
_doc/ |
项目维护说明、设计笔记及其他非文章文档 |
img/in-post/ |
文章插图;新增图片按文章主题或日期建立清晰的子目录 |
_layouts/、_includes/ |
页面布局与共用组件 |
less/ |
主题样式源码 |
js/hux-blog.js |
主题 JavaScript 源码 |
css/hux-blog*.css、js/hux-blog.min.js |
由 Grunt 生成的主题资源 |
_config.yml |
Jekyll、站点、评论、分析与导航配置 |
sw.js、pwa/ |
Service Worker 与 PWA 相关资源 |
_q_draft_post/ 完成可审阅内容,并说明位置。不要因为路径选择阻塞写作。YYYY-MM-DD-lowercase-hyphen-slug.md;用户指定名称时照用。不要批量重命名历史文件。新文章默认使用以下 Front Matter,并按主题选择已有标签:
1
2
3
4
5
6
7
8
9
---
layout: post
title: "具体、准确的文章标题"
author: "shensunbo"
header-style: text
catalog: true
tags:
- tools
---
README.md 中的分类:graphics、cpp、linux、android、tools、testing、english、reading、life。C++ 与 cpp。已有文章的标签只在任务需要时整理。header-style: image 和存在的 header-img。mathjax: true,遵守当前模板的支持方式。wip: true 会显示进行中标记,不是“不发布”开关。当前配置为 future: true,未来日期也不能用来隐藏文章。/img/in-post/example/diagram.png。/tmp/、工作机绝对路径或仅当前聊天可访问的附件地址写成公开文章的图片链接。less/ 源码;修改主题脚本时编辑 js/hux-blog.js。由构建流程更新对应生成资源,不只手改压缩文件。_layouts/ 和 _includes/ 的改动可能影响全部页面,完成后检查文章页、首页和移动端布局。CNAME、站点 URL、作者信息、评论、统计标识、导航或部署方式。命令从仓库根目录运行。先确认所需工具和依赖存在:
1
bundle check
按变更范围选择验证:
1
2
3
4
5
6
7
8
# 构建 Jekyll 站点
bundle exec jekyll build
# 本地预览;package.json 中 npm start 对应此命令
bundle exec jekyll serve
# 仅在修改主题 LESS/JS 时,使用已安装的本地 Grunt
./node_modules/.bin/grunt
bundle install、npm install 用于需要依赖准备的任务;避免无关的锁文件和版本变更。npm run dev 会同时运行 Grunt watch 与 Jekyll 预览,需要持续预览时再使用。Rakefile 中的 post 任务仍带上游作者 Hux 等旧默认值,preview 任务也使用旧命令;不要直接用它们生成本站文章或作为当前验证依据。_site/、.jekyll-cache/、node_modules/ 或临时诊断输出。注意 .gitignore 还忽略 *.sh、*.log、*.lock 和 *.pdf;新增这类附件时检查是否真的被 Git 跟踪,不擅自强制添加。git status --short,保留用户已有修改;不要顺手清理或回退无关内容。npm run push 会执行 git push origin master --tag,npm run boil 会推送另一远端分支;它们不是构建或测试命令。_posts/ 表示准备正式文章源文件,不表示已在线发布。