File tree Expand file tree Collapse file tree 4 files changed +131
-0
lines changed Expand file tree Collapse file tree 4 files changed +131
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # 项目结构概述
7
+
8
+ 这是一个基于 React 和 Vite 构建的个人博客项目。
9
+
10
+ ## 主要文件结构
11
+
12
+ - **入口文件**:[src/main.tsx](mdc:src/main.tsx) 是应用程序的入口点
13
+ - **应用组件**:[src/App.tsx](mdc:src/App.tsx) 定义了应用的主要路由和布局
14
+ - **主题提供者**:[src/ThemeProvider.tsx](mdc:src/ThemeProvider.tsx) 提供了主题控制功能
15
+
16
+ ## 主要目录结构
17
+
18
+ - **src/views/**: 包含主要页面组件
19
+ - **src/components/**: 包含可复用的UI组件
20
+ - **src/hooks/**: 自定义React hooks
21
+ - **src/utils/**: 工具函数和辅助方法
22
+ - **src/md-theme/**: Markdown主题相关功能
23
+ - **public/**: 静态资源文件
24
+ - **dist/**: 构建输出目录
Original file line number Diff line number Diff line change
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # React组件模式
7
+
8
+ 本项目使用React函数组件和箭头函数语法。
9
+
10
+ ## 组件示例
11
+
12
+ 典型组件示例:[src/components/Layout.tsx](mdc:src/components/Layout.tsx)
13
+
14
+ ## 组件规范
15
+
16
+ - 使用箭头函数定义组件
17
+ - 使用TypeScript进行类型定义
18
+ - 使用TailwindCSS进行样式处理
19
+ - UI组件基于shadcn/ui库
20
+
21
+ ## 主要页面
22
+
23
+ - 博客列表:[src/views/BlogList.tsx](mdc:src/views/BlogList.tsx)
24
+ - 博客文章:[src/views/BlogPost.tsx](mdc:src/views/BlogPost.tsx)
25
+ - 笔记:[src/views/Notes.tsx](mdc:src/views/Notes.tsx)
Original file line number Diff line number Diff line change
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # 技术栈
7
+
8
+ 本项目使用的主要技术栈包括:
9
+
10
+ ## 前端框架
11
+
12
+ - **React**:使用React 18作为前端框架
13
+ - **React Router**:使用React Router v7进行路由管理
14
+ - **TypeScript**:项目全面使用TypeScript
15
+
16
+ ## 构建工具
17
+
18
+ - **Vite**:使用Vite作为构建工具
19
+ - **PNPM**:使用PNPM作为包管理器
20
+
21
+ ## UI和样式
22
+
23
+ - **TailwindCSS**:使用TailwindCSS进行样式管理
24
+ - **shadcn/ui**:使用shadcn组件库
25
+ - **SCSS**:部分样式使用SCSS
26
+
27
+ ## Markdown处理
28
+
29
+ - **react-markdown**:渲染Markdown内容
30
+ - **rehype-raw**:支持原始HTML内容
31
+ - **remark-gfm**:支持GitHub风格的Markdown
32
+ - **shiki**:代码语法高亮
33
+
34
+ ## 数据管理
35
+
36
+ - **SWR**:用于数据获取和缓存
37
+ - **IndexedDB (idb)**:用于客户端数据存储
Original file line number Diff line number Diff line change
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # 代码约定
7
+
8
+ 本项目遵循以下代码约定:
9
+
10
+ ## TypeScript
11
+
12
+ - 使用显式类型声明
13
+ - 避免使用`any`类型
14
+ - 优先使用接口而不是类型别名
15
+ - 使用类型断言时优先使用`as`语法
16
+
17
+ ## React组件
18
+
19
+ - 使用箭头函数定义组件
20
+ - 组件文件名和组件名保持一致
21
+ - 将共享组件放在`src/components`目录下
22
+ - 将页面级组件放在`src/views`目录下
23
+
24
+ ## 样式
25
+
26
+ - 优先使用TailwindCSS类名
27
+ - 复杂样式可以使用SCSS模块
28
+ - 遵循移动优先的响应式设计原则
29
+
30
+ ## 工具函数
31
+
32
+ - 通用工具函数放在`src/utils`目录下
33
+ - 自定义钩子放在`src/hooks`目录下
34
+
35
+ ## 命名约定
36
+
37
+ - 组件使用PascalCase命名
38
+ - 函数和变量使用camelCase命名
39
+ - 常量使用UPPER_SNAKE_CASE命名
40
+ - 类型和接口使用PascalCase命名
41
+
42
+ ## 代码格式化
43
+
44
+ - 使用Prettier进行代码格式化
45
+ - 提交前使用Husky钩子自动格式化
You can’t perform that action at this time.
0 commit comments