Files
Note Manager c8f03dd932 feat: 初始化云笔记项目
功能特性:
- Markdown 编辑与实时预览
- 代码语法高亮
- 目录树形结构管理
- 图片粘贴上传
- Markdown 文件导入导出
- 笔记密码保护
- 前后端分离架构

技术栈:
- Go + Gin + GORM + SQLite
- 原生 HTML/CSS/JavaScript
- Highlight.js
2026-05-08 15:07:22 +08:00

181 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 云笔记管理器
一款简洁高效的云笔记系统,采用 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