post_waver

项目目录结构

Content-Hub 项目的完整目录结构说明。


📁 根目录结构

post_waver/
├── content/                    # 用户内容目录
│   ├── .gitignore             # 忽略用户文章
│   ├── README.md              # 使用说明
│   └── posts/                 # 博客文章
│       ├── example-post.md    # 示例文章
│       ├── tech/              # 技术文章(用户创建)
│       ├── life/              # 生活文章(用户创建)
│       └── notes/             # 笔记(用户创建)
│
├── packages/                   # Monorepo 包
│   ├── core/                  # 核心功能包
│   │   ├── src/              # 源代码
│   │   │   ├── types.ts      # 类型定义
│   │   │   ├── parser.ts     # Markdown 解析器
│   │   │   ├── scanner.ts    # 目录扫描器
│   │   │   └── index.ts      # 导出
│   │   ├── dist/             # 编译产物
│   │   └── schemas/          # JSON Schema
│   │
│   ├── linker/               # 内容关联包
│   ├── transformer/          # 内容转换包
│   ├── adapter/             # 平台适配器包
│   └── engine/              # 引擎包
│
├── scripts/                   # 功能脚本
│   ├── scan.ts              # 内容扫描脚本
│   ├── update-blog.sh       # Blog 同步脚本
│   └── remark-lint-custom.js # 自定义 remark 校验
│
├── test/                     # 测试目录 ⭐ NEW
│   ├── README.md             # 测试目录说明
│   ├── fixtures/             # 测试夹具(测试数据)
│   │   └── posts/           # 测试文章
│   │       ├── valid/      # 有效 Frontmatter 示例
│   │       └── invalid/    # 无效 Frontmatter 示例
│   └── scripts/             # 测试脚本
│       ├── test-units.sh    # 单元测试
│       └── test-integration.sh # 集成测试
│
├── docs/                     # 文档目录
│   ├── README.md            # 文档导航
│   ├── TESTING.md           # 测试指南
│   ├── TEST_SPECIFICATION.md # 测试规范
│   ├── TEST_QUICK_REFERENCE.md # 测试快速参考
│   └── research/            # 研究资料
│
├── milestones/               # 里程碑文档
│   ├── README.md            # 里程碑总览
│   ├── M0.2-*.md            # M0.2 文档
│   └── M0.3-*.md            # M0.3 文档
│
├── .vscode/                  # VS Code 配置
│   ├── settings.json        # 编辑器设置
│   └── tasks.json           # 任务配置
│
├── content-index.json        # 内容索引文件(生成)
├── package.json             # 项目配置
├── tsconfig.json            # TypeScript 配置
├── .markdownlint.jsonc      # Markdown Lint 配置
└── .remarkrc.mjs            # Remark 配置

📂 核心目录说明

content/ - 用户内容(私有)

用途: 存放用户的博客文章和其他内容

⚠️ 重要:

创建方法:

# 创建内容目录
mkdir -p content/posts/{tech,life,notes}
mkdir -p content/assets/images

结构示例:

content/
└── posts/
    ├── tech/          # 技术文章
    ├── life/          # 生活文章
    └── notes/         # 笔记

规范:


packages/ - Monorepo 包

用途: 存放各个功能模块的源代码

packages/core/ - 核心包

职责:

主要模块:

其他包


scripts/ - 功能脚本

用途: 存放功能性脚本(非测试)

脚本说明:

脚本 用途 命令
scan.ts 内容扫描 pnpm scan
update-blog.sh Blog 同步 pnpm sync:blog
remark-lint-custom.js remark 校验 自动调用

test/ - 测试目录 ⭐ NEW

用途: 集中管理所有测试相关材料

详细说明: 参见 test/README.md

结构:

test/
├── fixtures/              # 测试数据
│   └── posts/
│       ├── valid/        # 有效示例
│       └── invalid/      # 无效示例
└── scripts/              # 测试脚本
    ├── test-units.sh     # 单元测试
    └── test-integration.sh # 集成测试

使用方式:

# 运行单元测试
pnpm test:units

# 运行集成测试
pnpm test:integration

# 使用测试夹具
npx remark test/fixtures/posts/valid/complete-frontmatter.md

docs/ - 文档目录

用途: 项目文档和指南

主要文档:

文档 用途
README.md 文档导航
TESTING.md 测试指南
TEST_SPECIFICATION.md 测试规范
TEST_QUICK_REFERENCE.md 测试快速参考

milestones/ - 里程碑文档

用途: 记录各个里程碑的详细规范

里程碑:


🔍 文件查找指南

我想找…

测试相关

# 测试脚本
ls test/scripts/

# 测试数据
ls test/fixtures/

# 测试文档
ls docs/TEST*.md

功能代码

# 类型定义
cat packages/core/src/types.ts

# 解析器
cat packages/core/src/parser.ts

# 扫描器
cat packages/core/src/scanner.ts

配置文件

# Markdown Lint
cat .markdownlint.jsonc

# Remark
cat .remarkrc.mjs

# TypeScript
cat tsconfig.json

# VS Code
cat .vscode/settings.json

文档

# 项目文档
ls docs/

# 里程碑文档
ls milestones/

# 测试文档
ls docs/TEST*.md

📊 目录大小分布

# 查看各目录大小
du -sh */ 2>/dev/null | sort -h

典型大小:

test/fixtures/    ~ 20 KB   # 测试数据
packages/core/    ~ 50 KB   # 核心代码
docs/             ~ 100 KB  # 文档
content/posts/    ~ 10 KB   # 用户内容

🎯 最佳实践

添加新功能

  1. 功能代码packages/相应包/src/
  2. 类型定义packages/core/src/types.ts
  3. 功能脚本scripts/
  4. 测试脚本test/scripts/
  5. 测试数据test/fixtures/
  6. 文档docs/

添加新测试

  1. 测试夹具test/fixtures/
  2. 测试脚本test/scripts/
  3. 更新文档docs/TEST*.md

🔄 目录变更历史

v1.1.0 (2026-04-02)

v1.0.0 (2026-04-01)


💡 快速导航

我想要…

运行测试pnpm test:unitspnpm test:integration 添加功能packages/ 目录 查看文档docs/ 目录 添加测试test/ 目录 写文章content/posts/ 目录


📝 注意事项

目录命名约定

路径引用规则


维护者: Content-Hub Team 最后更新: 2026-04-02 版本: 1.1.0