CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

项目概述

这是 CC11001100 的个人博客,基于 Jekyll 构建,部署在 GitHub Pages 上。自定义域名 www.cc11001100.com(CNAME 文件配置)。主题源自 lemonchann/lemonchann.github.io

本地开发

本项目没有 Gemfile,依赖 GitHub Pages 原生构建。如需本地预览:

# 安装 Jekyll 及依赖(需要 Ruby 环境)
gem install bundler
# 手动创建 Gemfile 后
bundle install
bundle exec jekyll serve

# 或者直接用 Docker
docker run --rm -p 4000:4000 -v "$PWD":/srv/jekyll jekyll/jekyll jekyll serve

推送至 main 分支即自动部署,无需 CI 配置。

架构

_layouts/
  default.html    → 主布局:head + nav + content + footer
  post.html       → 博客文章布局(继承 default),含上下篇导航、评论
  page.html       → 静态页面布局(继承 default),如 About/404/Tags

_includes/
  toc.html        → 目录生成(jekyll-toc 纯 Liquid 实现),文章 front matter 中 toc=true 启用
  nav.html        → 侧边栏导航
  head.html       → HTML head(Typekit 字体、CSS、RSS)
  gitalk.html     → Gitalk 评论(当前已禁用,_config.yml 中注释掉了配置)
  disqus.html     → Disqus 评论(未启用)
  footer.html     → 页脚

_posts/           → 博客文章,文件名格式:YYYY-MM-DD-title.md
tags/index.html   → 标签聚合页
search.json       → 供 Simple-Jekyll-Search 使用的文章索引
index.html        → 首页:搜索框 + 分页文章列表 + 不蒜子访客统计

关键配置(_config.yml)

  • permalink: /:title/ — 文章 URL 格式
  • paginate: 8 — 首页分页数
  • excerpt_separator: <!-- more --> — 文章摘要分割线
  • kramdown.input: GFM — Markdown 使用 GitHub Flavored Markdown
  • sass.style: :expanded — CSS 输出格式
  • 插件:jekyll-sitemap、jekyll-feed、jekyll-paginate

写博客的约定

文章放在 _posts/ 目录,文件名 YYYY-MM-DD-title.md,front matter 模板:

---
layout: post
title: "文章标题"
date:   YYYY-MM-DD
tags: [tag1, tag2]
comments: true
author: cc11001100
toc: true        # 可选,启用目录侧边栏
---

摘要截断:在正文中插入 <!-- more --> 作为首页摘要的分割点。

样式体系

  • style.scss — 主样式文件,通过 @import 引入 _sass/ 下的模块
  • _sass/_variables.scss — 变量定义
  • _sass/_open-color.scss — Open Color 色板
  • _sass/_reset.scss — CSS Reset
  • _sass/_highlights.scss — 代码高亮样式(Rouge)
  • _sass/_gitalk.scss — Gitalk 评论样式(当前未启用)

注意事项

  • 没有 Gemfile,添加 Ruby 依赖需自行创建
  • 没有测试框架,验证方式是本地 jekyll serve 预览或推送后检查线上效果
  • Gitalk 评论系统的 clientSecret 已从 _config.yml 中移除,如需启用需重新配置
  • 搜索功能依赖 js/simple-jekyll-search.min.jssearch.json