一、欢迎来到 Thebear 的 DevNotes 博客
这是 devnotes 从 Vue 3 迁移到 Astro 后的第一篇博客文章, 后续会在这里记录更多技术相关的博客文章。之前笔记中心的文章都是用 HTML 字符串 嵌在 JS 数据文件里写的,现在:
- 纯 Markdown:文章用Markdown语言编写,支持完整的 Markdown 语法
- 内容集合:通过 Astro Content Collections 管理,新建一篇文章只需要在
src/content/knowledge/下新建一个.md文件 - MDX: 可以用MDX=Markdown + JSX,让我在 .mdx 文件里直接写 React/Vue/Astro/Svelte 组件,把”文档”和”交互”合在一起。
二、使用demo
1.代码块
const greeting = 'Hello, DevNotes!';
console.log(greeting);
2.引用
Astro 的 Islands Architecture 让静态站点也可以按需加载交互 JS。
3.数学公式
行内公式:质能方程 ,以及欧拉公式 。
行间公式:
带编号的矩阵:
三、知识库的分类方式
DevNotes 把所有文章放进同一个「知识库」内容集合中。knowledge 是统一入口,不是分类本身;真正的分类由一级领域和二级内容角色组成,并由 frontmatter 与文件树共同表达。
| 层级 | 当前内容 | 作用 |
|---|---|---|
| 内容入口 | 知识库 knowledge | 网站里的统一内容入口,对应 src/content/knowledge/ |
| 一级分类 | 开发与实践、科研、随想 | 页面主筛选,由每篇文章的 category 决定 |
| 二级分类 | 基础知识、典型案例、学习资源、配置记录、综述;随想当前使用随笔 | 页面次级筛选,由每篇文章的 subcategory 决定 |
| 文件树 | 一级目录表达领域,二级目录表达内容角色 | 文件树与 frontmatter 保持一致,便于阅读和维护 |
开发与实践用于记录开发知识、项目实践、Agent 工作流和相关学习资源;科研用于记录研究主题与论文方法;随想目前只用于个人日记和随笔。它们都进入同一个知识库,但通过一级领域和二级内容角色区分阅读目的。
当前文件结构如下:
knowledge/
├── development/ # 开发与实践
│ ├── overviews/ # 综述
│ ├── fundamentals/ # 基础知识
│ ├── cases/ # 典型案例
│ ├── resources/ # 学习资源
│ └── configurations/ # 配置记录
├── research/ # 科研
│ ├── overviews/ # 综述
│ ├── fundamentals/ # 基础知识
│ ├── cases/ # 典型案例
│ ├── resources/ # 学习资源
│ └── configurations/ # 配置记录
└── reflections/ # 随想
└── essays/ # 随笔
当前二级目录是知识库的正式内容角色,不再额外使用 foundations、vibe-working 等主题目录。主题差异通过文章标题、正文和后续需要时的多值主题字段表达。
因此,新增文章时先确定它属于哪个一级领域,再确定它是基础知识、典型案例、学习资源、配置记录还是综述;个人日记统一放入 reflections/essays/。