📖 发布指南

三个人都可以给网站加内容:在 GitHub 上写 Markdown 文件,提交后网站自动更新,全程免费。

一、总体流程

  1. 打开网站仓库(GitHub),进入对应内容目录;
  2. 新建一个 .md 文件,按下面的格式填写开头信息(frontmatter);
  3. 提交(commit)后,Cloudflare Pages 会自动构建并发布,约 1~2 分钟后生效;
  4. 也可以在本地用编辑器写完再推送,效果一样。
📁 内容目录:src/content/blog/(博客)、src/content/templates/(代码模板)、 src/content/problems/(题目解析)、src/content/private/(内部区笔记)。

二、博客文章

文件名随意(建议英文小写,如 my-first-post.md),开头必须包含以下信息:

---
title: 文章标题
description: 一句话简介(会显示在列表卡片上)
date: 2025-06-01
author: CJW            # CJW / WJC / QWQ
tags: [算法, 学习笔记]
---

正文从这里开始,用 Markdown 书写……

正文用标准 Markdown:## 二级标题、**加粗**、`行内代码`、代码块用三个反引号 + 语言名(如 cpp)。

三、代码模板

放在 src/content/templates/,开头信息:

---
title: 快速幂
description: 计算 a^b mod p,附乘法逆元
category: 数学          # 数据结构 / 图论 / 数学 / 字符串 / 动态规划 / 其他
tags: [数论, 逆元]
author: CJW
date: 2025-06-01
---

## 代码

```cpp
...
```

category 只能是:数据结构 / 图论 / 数学 / 字符串 / 动态规划 / 其他。

四、题目解析

放在 src/content/problems/,开头信息:

---
title: A+B Problem
platform: 洛谷          # 洛谷 / Codeforces / AtCoder / LeetCode / USACO / 其他
problemId: P1001
problemUrl: https://www.luogu.com.cn/problem/P1001
difficulty: 入门        # 入门 / 普及 / 提高 / 省选
tags: [模拟]
author: CJW
date: 2025-06-01
---

## 题意简述
...

platform 只能是:洛谷 / Codeforces / AtCoder / LeetCode / USACO / 其他; difficulty 只能是:入门 / 普及 / 提高 / 省选。

五、内部区笔记

放在 src/content/private/,只有登录后才能访问:

---
title: 笔记标题
date: 2025-06-01
author: CJW
---

内部笔记正文,只有登录后才能看到。

⚠️ 注意:除了 private/ 目录,其它目录下的内容都是公开可见的,不要放密码、账号等敏感信息。

六、修改管理密码

在 Cloudflare 控制台 → Pages → 本项目 → Settings → Variables and Secrets 中修改 PASSWORD,保存后重新部署一次即可生效。

七、本地预览(可选)

npm install
npm run dev        # 开发预览 http://localhost:4321
npm run pages:dev  # 带登录功能的完整预览 http://localhost:8788
npm run build      # 构建到 dist/

八、常见问题

  • 提交后网站没变化? 去 Cloudflare Pages 的部署记录看构建日志,多半是 frontmatter 写错了(如 category 不在允许列表)。
  • 忘了密码? 到 Cloudflare 控制台查看环境变量(三人中任何一人有 Cloudflare 账号权限即可)。
  • 想换主题 / 加功能? 直接改 src/ 下的代码,提交即可。