feat: 初始化云笔记项目
功能特性: - Markdown 编辑与实时预览 - 代码语法高亮 - 目录树形结构管理 - 图片粘贴上传 - Markdown 文件导入导出 - 笔记密码保护 - 前后端分离架构 技术栈: - Go + Gin + GORM + SQLite - 原生 HTML/CSS/JavaScript - Highlight.js
Bu işleme şunda yer alıyor:
@@ -0,0 +1,180 @@
|
||||
# 云笔记管理器
|
||||
|
||||
一款简洁高效的云笔记系统,采用 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)
|
||||

|
||||
```
|
||||
|
||||
## API 文档
|
||||
|
||||
详见 [API.md](./API.md)
|
||||
|
||||
## 截图预览
|
||||
|
||||
### 后台编辑器
|
||||
- 左右分栏布局
|
||||
- 实时 Markdown 预览
|
||||
- 代码语法高亮
|
||||
- 树形目录导航
|
||||
|
||||
### 前台展示
|
||||
- 简洁阅读体验
|
||||
- 响应式设计
|
||||
- Markdown 渲染
|
||||
- 分类筛选
|
||||
|
||||
## License
|
||||
|
||||
MIT License
|
||||
Yeni konuda referans
Bir kullanıcı engelle