# MeNav 源代码目录 ## 目录 - [目录概述](#目录概述) - [源代码结构分工](#源代码结构分工) - [根目录函数(核心功能)](#根目录函数核心功能) - [helpers 目录函数(辅助功能)](#helpers-目录函数辅助功能) - [函数职责分工](#函数职责分工) - [核心函数(根目录)](#核心函数根目录) - [辅助函数(helpers目录)](#辅助函数helpers目录) - [扩展和修改指南](#扩展和修改指南) - [添加新的核心功能](#添加新的核心功能) - [添加新的辅助函数](#添加新的辅助函数) ## 目录概述 `src` 目录包含 MeNav 项目的所有源代码,按照功能和职责进行了明确的分层组织: - 根目录:核心功能实现 - `helpers` 子目录:辅助功能实现 ## 源代码结构分工 ### 根目录函数(核心功能) 根目录下的js文件实现了应用的核心功能,每个文件负责特定领域: - **generator.js**: 站点生成器的核心实现 - 负责将配置文件转换为HTML网站 - 处理模板渲染、配置解析和文件输出 - 控制整个生成流程 - **script.js**: 客户端功能的核心实现 - 处理用户界面交互逻辑 - 实现搜索、导航、主题切换等功能 - 管理页面状态和响应式布局 - **bookmark-processor.js**: 书签处理工具 - 转换浏览器书签为MeNav配置格式 - 提供书签导入功能 ### 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中添加导出和注册