维护原则
- 先读本页和目标文件;本页就是站点内部的主要结构说明。
- 保留用户已有修改,只调整当前任务需要的内容。
- 先确认文章归属,再修改作者、来源或版权描述。
- 修改后运行
npm run build,检查页面、链接、隐私和生成结果。 - 发布时复用现有 Sites 项目,不创建另一个站点。
内容归属
站点所有者是 Maziyang2,但现有文章并不都代表 Maziyang2 原创。文章和随笔使用 ownership 标明处理方式。
| 值 | 含义 | 维护要求 |
|---|---|---|
personal | 用户确认的 Maziyang2 原创 | 可以使用 Maziyang2 作为作者 |
inherited | 从原仓库继承 | 不可自动改成 Maziyang2 原创 |
example | 网站功能演示内容 | 可按用户指定删除或替换 |
unverified | 来源尚未确认 | 先询问,不猜测作者或来源 |
当前 示例/、AI/、技术/ 目录内文章标为示例;原仓库继承的 Agent 文章和现有随笔标为继承内容。没有用户确认时,不得改成 personal。
增加、删除和移动文章
增加文章
- 在
src/content/posts/<分类>/新建一个.md文件。 - 填写 frontmatter;原创文章明确写
ownership: personal。 - 正文使用 Markdown,站内图片放进
public/并使用以/开始的路径。 - 构建通过后,未隐藏的文章会自动进入首页、归档、分类、标签、搜索、RSS 和站点地图。
---
title: "文章标题"
description: "一到两句话的摘要"
date: "2026-08-13"
author: "Maziyang2"
ownership: personal
hidden: false
categories:
- 分类名称
tags:
- 标签名称
sticky: 0
---删除文章
- 删除对应 Markdown 文件。
- 全局搜索旧文章路径,清理文章内链和
site.config.json中的引用。 - 如果文章已公开使用,优先在
astro.config.mjs为旧地址增加重定向。 - 不要一次性删除整批示例或继承内容,除非用户明确指定范围。
移动或重命名
文章目录和文件名会影响公开 URL。移动或改名后,需要更新所有站内链接,并为已对外使用的旧 URL 添加重定向。
保留源码,但不在网站显示
“隐藏文章”是用户在修改网站时发给 AI 或维护工具的指令,不是网站上的访客开关。执行该指令时,在目标文章 frontmatter 中增加:
---
hidden: true
---Markdown 文件、正文和元数据仍保留在 Sites 项目源码中,但重新构建后不会生成该文章的公开页面,也不会出现在首页、归档、分类、标签、站内搜索、RSS 或站点地图中。
重新显示时,将值改为 false 或删除该字段,再构建发布。这个标记不是访问权限或加密功能,因此敏感内容不应通过“隐藏文章”来保存。
项目结构
src/
├── content/posts/ 文章 Markdown
├── content/notes/ 随笔 Markdown
├── data/site.config.json 站点身份、项目与可选外部链接
├── data/site-readme.ts 本说明的机器可读数据源
├── components/ 导航、页脚、文章摘要等组件
├── layouts/BaseLayout.astro 全站 HTML、SEO 与公共布局
├── pages/ 页面和公开路由
├── styles/global.css 全站样式与响应式布局
└── content.config.ts 文章、随笔字段规则
public/ 公开图片和静态资源
.openai/hosting.json 现有 Sites 项目绑定(不得公开凭据)dist/、.astro/ 和 node_modules/ 都是生成目录,不要手工修改或提交。
链接、页面与结构修改
| 需求 | 主要文件 |
|---|---|
| 站点名称、作者、项目卡片和可选外部链接 | src/data/site.config.json |
| 首页介绍、精选和最新文章 | src/pages/index.astro |
| 关于页介绍和开源项目 | src/pages/about.astro |
| 顶部导航 | src/components/Nav.astro |
| 页脚内容和链接 | src/components/Footer.astro |
| 文章详情、作者数据和相关文章 | src/pages/posts/[...slug].astro |
| 全站 SEO、分享图和公共布局 | src/layouts/BaseLayout.astro |
| 颜色、字号、间距和响应式布局 | src/styles/global.css |
| 旧链接重定向 | astro.config.mjs |
修改任何链接时,检查链接文字、目标地址、站内路径是否存在、尾部斜杠,以及外链是否包含 rel="noopener noreferrer"。
隐私、权限与发布
- 不得写入或发布密码、Token、API Key、Cookie、Session 或私有证书
- 不得写入私人邮箱、电话、精确住址、证件信息、内网地址或未公开项目数据
- 不得把 inherited、example 或 unverified 内容自动标记为 Maziyang2 原创
- 隐藏文章只是构建规则,不得在公开页面中增加访客可操作的隐藏开关
- 此公开说明只描述结构,不授予任何写入或管理权限
- 站点维护和发布不得依赖 GitHub;GitHub 地址只能作为可选的页面内容链接
网站是公开博客。密码、Token、API Key、Cookie、Session、私人邮箱、电话、精确住址、证件信息、内网地址和未公开项目数据都不能写入文章、源码、本说明或构建产物。
.openai/hosting.json 只用于绑定现有 Sites 项目;不能写入访问凭据,也不能在发布时创建新的同名站点。站点源码、修改和发布流程都以 Sites 项目为准,不依赖 GitHub。