本文件用于说明 Claude Code 在本仓库中的默认工作方式、仓库约定与高频任务规则。
- 面向用户的回复默认使用简体中文
- 仓库内新增的说明文字、文章配套 HTML、网页版 PPT、演讲稿页面默认优先使用中文
- 代码符号、命令、路径、配置键名等技术标识保持原语言,不要为了“中文化”改动 identifier
这是一个基于 Jekyll 的安全研究博客仓库,部署在 sumsec.me。
- 文章按年份组织在
2021/、2022/、2023/、2026/、PL/等目录 - 站点整体是深色、克制科幻感的博客主题
- 首页由根目录
README.md生成 - 文章正文以 Markdown 为主,部分文章会有同目录 companion HTML 或独立演示页
_config.yml:Jekyll 配置,包含 markdown engine、highlighter、Sass 等设置_layouts/default.html:默认布局,包含终端风格头部、矩阵雨 canvas 和scifi.jsassets/css/style.scss:全站主题样式与颜色 tokenassets/js/scifi.js:矩阵雨动画与部分前端交互逻辑README.md:站点首页来源resources/:归档、RSS、站点资源与一些非博客静态文件
# 构建站点
jekyll build
# 本地开发
jekyll serve --livereload
# 更接近生产环境的本地预览
BUNDLE_WITHOUT="" bundle exec jekyll serve要求:Jekyll 4.x + Dart Sass,不使用 LibSass。
- 新建文章:
YYYY/post-title.md - 如无 front matter,可依赖站点
defaults自动补layout - 如需手写 front matter,可使用:
---
layout: default
title: Post Title
---- 在
README.md对应年份表格中补一行 - 需要时更新
resources/Archives.md - 不要手动更新页面中的硬编码文章计数文案
标签约定:
README.md最后一列使用标签甲/标签乙这种斜杠分隔格式- 若需给 Markdown 自动补
tags: blog-comments,可使用_scripts/add_blog_comments_tag.py或本地 pre-commit
当用户要求把仓库中的文章做成网页版 PPT、HTML 演讲稿、slide deck 或独立演示页时,优先使用本仓库 skill:
.claude/skills/creating-blog-web-ppt/SKILL.md
默认规则:
- 输入通常是
YYYY/post-name.md - 输出默认是同目录、同 basename 的
YYYY/post-name.html - 产物应为独立单文件 HTML,不依赖 Jekyll layout
- 保持文章目录内原有相对图片路径可用,例如
./pic/... - 该 skill 已合并 FeeiCN/slide-writer 工作流快照(
vendor/slide-writer/):主题均在vendor/slide-writer/themes/;企业默认与上游一致(未识别企业为 ant-group);同目录增补blog-sumsec.md,索引与 Phase 0 顺序见该目录下_index.md文首
执行这类任务时,通常需要读取:
assets/css/style.scss_layouts/default.html.claude/skills/creating-blog-web-ppt/references/slide-writer-merge.md.claude/skills/creating-blog-web-ppt/vendor/slide-writer/themes/_index.md(唯一主题索引:企业识别 + BlogPapersblog-sumsec增补顺序).claude/skills/creating-blog-web-ppt/vendor/slide-writer/themes/blog-sumsec.md(选用blog-sumsec时).claude/skills/creating-blog-web-ppt/references/repo-conventions.md.claude/skills/creating-blog-web-ppt/references/visual-system.md.claude/skills/creating-blog-web-ppt/references/html-template.md.claude/skills/creating-blog-web-ppt/references/verification-checklist.md
除非用户明确要求,否则不要顺手改:
README.mdresources/Archives.md- 首页入口、站点导航、归档入口
这类任务完成前必须做浏览器级验证,不能只做静态阅读或代码检查。
当用户要求用 Remotion 为文章生成与站点风格一致的静帧、MP4 或(可选)GIF 时,优先阅读:
.claude/skills/remotion-blog-motion-assets/SKILL.md
编写或调试 Remotion 代码时,还应协同使用本机 remotion-best-practices skill(通常在用户目录 .claude/skills/remotion-best-practices/SKILL.md,按需打开其 rules/*.md),与上一条仓库 skill 分工见该 SKILL.md 内「依赖」小节。
实现与批量导出命令以 _scripts/remotion-blog-ppt-article/README.md 为准。
当用户要把仓库中的 Markdown 发布到微信公众号、排版成可发表文章/贴图、或提到「公众号 / 微信图文 / 贴图 / 文章」等需求时,优先使用本仓库 skill:
.claude/skills/baoyu-post-to-wechat/SKILL.md
上游集合:JimLiu/baoyu-skills(skill 名 baoyu-post-to-wechat)。该 skill 通过脚本支持 API 或 Chrome CDP 等路径,具体前置条件、权限检查与命令以 SKILL.md 正文为准;执行脚本需要本机可用 bun 或按 skill 说明用 npx -y bun。
不要把公众号 AppSecret、Cookie、Token 等敏感信息写入仓库或提交进 Git;仅放在本机环境变量或私有配置中。
- 评论系统使用 utterances 对接 GitHub Issues
_config.yml中的utterances.label应与仓库内 Issues 标签保持一致- 若
_config.yml配置了stats_endpoint,则优先通过 Cloudflare Worker 获取页面统计,失败后回退 CountAPI
某页如需关闭评论,可在 front matter 中设置 comments: false。
本站依赖 jekyll-readme-index 等插件将根目录 README.md 生成为首页 /。
GitHub Pages 应使用:
- Branch:
master - Folder:
/ (root)
如果误改为仅依赖 GitHub Actions 构建且 workflow 失败,可能导致整站或首页 404。此时应改回“Deploy from a branch”并等待一次成功构建。
当前仓库有多条工作流会自动更新内容,包括:
AboutMe:同步AboutMe.md、dist/SVG 资源,并用_scripts/generate_feed_and_sitemap.py根据仓库内 Markdown 生成resources/rss.xml、resources/atom.xml、resources/sitemap.xml(仅此工作流负责 feed / sitemap,可workflow_dispatch手动重跑)。脚本从resources/Archives.md里所有(../某目录/README.md)链接自动收集「归档根目录」,新增年份时维护 Archives 即可,无需改脚本常量。Update images:批量把旧图片地址改写到 CDN
这些文件不要手工长期维护,因为会被 CI 覆盖:
resources/AboutMe.mdresources/rss.xmlresources/atom.xmlresources/dist/
本项目默认把本地 worktree 放在:
.worktrees/
原则:
.worktrees/仅用于本地开发隔离,不属于仓库正式内容.worktrees/不应提交到 Git 仓库.claude/目录下的本地 skill、agent 辅助文件也默认视为本地资产,不应直接作为常规站点内容维护
如果确实需要把被忽略目录中的某个文件纳入版本控制,必须明确确认该文件是“仓库资产”而不是“本地工具资产”,不要顺手批量提交整个目录。
若不希望在本地改 Markdown,且不需要 tags: blog-comments,可跳过本节。
提交前,hook 可为暂存区中的 .md 自动写入或合并 tags: blog-comments,跳过 resources/AboutMe.md 与 CLAUDE.md。
首次启用:
git config core.hooksPath .githooks若在 Linux/macOS 下提示无执行权限:
chmod +x .githooks/pre-commit依赖:
- 本机可用
py/python3/python - 已安装
PyYAML
手动执行:
- 全量扫描:
py _scripts/add_blog_comments_tag.py - 仅处理暂存文件:
py _scripts/add_blog_comments_tag.py --git-staged
- 图片 CDN 前缀:
https://img.sumsec.me/ - CNAME:
sumsec.me - 历史提交信息常见 emoji 前缀,例如
🍭Update Sitemap _site/是 Jekyll 构建产物,默认不提交resources/下存在一些非博客文件,例如 swagger、vless 配置等,除非明确相关任务,不要随意整理或重构