refactor: 优化重构后的系统并添加文档
This commit is contained in:
103
src/README.md
Normal file
103
src/README.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# MeNav 源代码目录结构
|
||||
|
||||
## 目录概述
|
||||
|
||||
`src` 目录包含 MeNav 项目的所有源代码,按照功能和职责进行了明确的分层组织:
|
||||
|
||||
- 根目录:核心功能实现
|
||||
- `helpers` 子目录:辅助功能实现
|
||||
|
||||
## 源代码结构分工
|
||||
|
||||
### 根目录函数(核心功能)
|
||||
|
||||
根目录下的js文件实现了应用的核心功能,每个文件负责特定领域:
|
||||
|
||||
- **generator.js**: 站点生成器的核心实现
|
||||
- 负责将配置文件转换为HTML网站
|
||||
- 处理模板渲染、配置解析和文件输出
|
||||
- 控制整个生成流程
|
||||
|
||||
- **script.js**: 客户端功能的核心实现
|
||||
- 处理用户界面交互逻辑
|
||||
- 实现搜索、导航、主题切换等功能
|
||||
- 管理页面状态和响应式布局
|
||||
|
||||
- **bookmark-processor.js**: 书签处理工具
|
||||
- 转换浏览器书签为MeNav配置格式
|
||||
- 提供书签导入功能
|
||||
|
||||
- **migrate-config.js**: 配置迁移工具
|
||||
- 处理配置文件格式升级
|
||||
- 确保向后兼容性
|
||||
|
||||
### helpers 目录函数(辅助功能)
|
||||
|
||||
`helpers` 目录下的函数提供辅助性支持,主要服务于Handlebars模板系统:
|
||||
|
||||
- **formatters.js**: 格式化函数
|
||||
- 日期格式化
|
||||
- 文本处理
|
||||
- 内容展示辅助
|
||||
|
||||
- **conditions.js**: 条件判断函数
|
||||
- 比较操作
|
||||
- 逻辑运算
|
||||
- 条件检查
|
||||
|
||||
- **utils.js**: 工具函数
|
||||
- 数组处理
|
||||
- 对象操作
|
||||
- 通用辅助方法
|
||||
|
||||
- **index.js**: 助手函数注册中心
|
||||
- 统一导入所有助手函数
|
||||
- 提供注册函数到Handlebars实例的方法
|
||||
- 定义核心HTML处理函数
|
||||
|
||||
## 函数职责分工
|
||||
|
||||
### 核心函数(根目录)
|
||||
|
||||
根目录下的函数负责"做什么"——实现具体的业务逻辑和功能:
|
||||
|
||||
- 应用入口和流程控制
|
||||
- 用户交互响应
|
||||
- 数据处理和转换
|
||||
- 文件生成和输出
|
||||
|
||||
这些函数通常:
|
||||
- 直接面向最终用户需求
|
||||
- 控制程序主流程
|
||||
- 调用辅助函数完成特定任务
|
||||
|
||||
### 辅助函数(helpers目录)
|
||||
|
||||
helpers目录下的函数负责"怎么做"——提供可重用的工具方法:
|
||||
|
||||
- 为模板渲染提供扩展能力
|
||||
- 处理数据格式化和转换
|
||||
- 提供通用的条件判断逻辑
|
||||
- 实现常见的工具操作
|
||||
|
||||
这些函数通常:
|
||||
- 高度重用性和通用性
|
||||
- 专注于单一职责
|
||||
- 被核心函数调用
|
||||
|
||||
## 扩展和修改指南
|
||||
|
||||
### 添加新的核心功能
|
||||
|
||||
如需添加新的核心功能,应在src根目录创建新的js文件或修改现有文件,确保:
|
||||
- 文件名清晰反映功能用途
|
||||
- 保持单一责任原则
|
||||
- 适当调用辅助函数,避免重复实现通用功能
|
||||
|
||||
### 添加新的辅助函数
|
||||
|
||||
如需添加新的辅助函数,应在helpers目录下相应文件中添加,并在index.js中注册:
|
||||
- 按功能类型放入正确的文件(formatters/conditions/utils)
|
||||
- 编写清晰的JSDoc注释
|
||||
- 更新README.md文档
|
||||
- 在index.js中添加导出和注册
|
||||
Reference in New Issue
Block a user