# 云笔记管理器 一款简洁高效的云笔记系统,采用 Go 语言开发,支持 Markdown 编写和实时预览。 ## 功能特性 - **Markdown 编辑**:支持 Markdown 语法,实时预览 - **代码高亮**:支持多种编程语言的语法高亮 - **目录管理**:支持创建文件夹进行笔记归类 - **树形结构**:清晰的目录树导航 - **分类标签**:支持按分类和标签组织笔记 - **搜索功能**:快速搜索标题和内容 - **收藏置顶**:支持收藏和置顶重要笔记 - **图片粘贴**:支持直接粘贴图片自动上传 - **导入导出**:支持 Markdown 文件的导入导出 - **笔记密码**:支持单篇笔记设置访问密码 - **前后端分离**:公开展示 + 密码保护的管理后台 ## 技术栈 - **后端**:Go 1.21+ / Gin / GORM / SQLite - **前端**:原生 HTML/CSS/JavaScript - **代码高亮**:Highlight.js ## 项目结构 ``` note-manager/ ├── config/ # 配置管理 ├── handler/ # HTTP 处理器 ├── middleware/ # 中间件 ├── model/ # 数据模型 ├── repository/ # 数据访问层 ├── router/ # 路由配置 ├── service/ # 业务逻辑层 ├── web/ # 前端资源 │ ├── index.html # 前台展示页面 │ └── admin/ # 后台管理页面 ├── data/ # 数据库目录 └── main.go # 入口文件 ``` ## 快速开始 ### 1. 编译项目 ```bash cd /vol1/Project/note-manager go build -o note-manager . ``` ### 2. 配置环境变量(可选) | 环境变量 | 默认值 | 说明 | |---------|--------|------| | PORT | 8080 | 服务端口 | | DB_PATH | data/notes.db | 数据库路径 | | ADMIN_PASS | admin123 | 管理后台密码 | | UPLOAD_DIR | uploads | 图片上传目录 | ### 3. 启动服务 ```bash ./note-manager ``` ### 4. 访问应用 - **前台展示**:[http://localhost:8080/](http://localhost:8080/) - **后台管理**:[http://localhost:8080/admin/](http://localhost:8080/admin/) - **默认密码**:`admin123` ## 使用指南 ### 前台展示 - 浏览所有公开笔记 - 按分类筛选 - 搜索笔记 - 查看 Markdown 渲染效果 ### 后台管理 #### 笔记管理 - **新建笔记**:点击左侧目录上方的 "+" 按钮 - **编辑笔记**:点击笔记列表中的笔记进行编辑 - **删除笔记**:点击笔记编辑区的删除按钮 - **置顶/收藏**:点击笔记编辑区的星标/图钉按钮 #### 目录管理 - **新建目录**:点击左侧目录上方的文件夹图标 - **嵌套目录**:先选中父目录,再创建子项 - **删除目录**:会同时删除目录下所有内容 #### 编辑器使用 - **左侧**:Markdown 编辑区 - **右侧**:实时预览 - **分割线**:可拖动调整左右比例 - **粘贴图片**:直接在编辑区 Ctrl+V 粘贴图片,自动上传并插入 #### 导入导出 - **导出笔记**:选择一个笔记,点击「导出」按钮下载 Markdown 文件 - **导入笔记**:点击「导入」按钮,选择 .md 文件创建笔记 #### 笔记密码 - 为重要笔记设置访问密码 - 查看带密码的笔记时需要输入密码 ## Markdown 支持 ### 基础语法 ```markdown # 一级标题 ## 二级标题 ### 三级标题 **粗体文字** *斜体文字* ***粗斜体*** ~~删除线~~ > 引用文本 - 无序列表 * 另一种无序列表 1. 有序列表 2. 第二项 ``` ### 代码块 ````markdown ```javascript function hello() { console.log("Hello World!"); } ``` ```go package main import "fmt" func main() { fmt.Println("你好") } ``` ```` ### 链接与图片 ```markdown [链接文字](https://example.com) ![图片描述](image-url) ``` ## API 文档 详见 [API.md](./API.md) ## 截图预览 ### 后台编辑器 - 左右分栏布局 - 实时 Markdown 预览 - 代码语法高亮 - 树形目录导航 ### 前台展示 - 简洁阅读体验 - 响应式设计 - Markdown 渲染 - 分类筛选 ## License MIT License