main
云笔记管理器
一款简洁高效的云笔记系统,采用 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. 编译项目
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. 启动服务
./note-manager
4. 访问应用
- 前台展示:http://localhost:8080/
- 后台管理:http://localhost:8080/admin/
- 默认密码:
admin123
使用指南
前台展示
- 浏览所有公开笔记
- 按分类筛选
- 搜索笔记
- 查看 Markdown 渲染效果
后台管理
笔记管理
- 新建笔记:点击左侧目录上方的 "+" 按钮
- 编辑笔记:点击笔记列表中的笔记进行编辑
- 删除笔记:点击笔记编辑区的删除按钮
- 置顶/收藏:点击笔记编辑区的星标/图钉按钮
目录管理
- 新建目录:点击左侧目录上方的文件夹图标
- 嵌套目录:先选中父目录,再创建子项
- 删除目录:会同时删除目录下所有内容
编辑器使用
- 左侧:Markdown 编辑区
- 右侧:实时预览
- 分割线:可拖动调整左右比例
- 粘贴图片:直接在编辑区 Ctrl+V 粘贴图片,自动上传并插入
导入导出
- 导出笔记:选择一个笔记,点击「导出」按钮下载 Markdown 文件
- 导入笔记:点击「导入」按钮,选择 .md 文件创建笔记
笔记密码
- 为重要笔记设置访问密码
- 查看带密码的笔记时需要输入密码
Markdown 支持
基础语法
# 一级标题
## 二级标题
### 三级标题
**粗体文字**
*斜体文字*
***粗斜体***
~~删除线~~
> 引用文本
- 无序列表
* 另一种无序列表
1. 有序列表
2. 第二项
代码块
```javascript
function hello() {
console.log("Hello World!");
}
```
```go
package main
import "fmt"
func main() {
fmt.Println("你好")
}
```
链接与图片
[链接文字](https://example.com)

API 文档
详见 API.md
截图预览
后台编辑器
- 左右分栏布局
- 实时 Markdown 预览
- 代码语法高亮
- 树形目录导航
前台展示
- 简洁阅读体验
- 响应式设计
- Markdown 渲染
- 分类筛选
License
MIT License
Description