# daynote **Repository Path**: boronzhang/daynote ## Basic Information - **Project Name**: daynote - **Description**: DayNote 是一个简洁、轻量级的在线日记应用,支持 Markdown 编辑和查看,帮助用户记录日常点滴。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-09 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DayNote - 简单日记应用 ## 项目介绍 DayNote 是一个简洁、轻量级的在线日记应用,支持 Markdown 编辑和查看,帮助用户记录日常点滴。 ## 功能特点 - 📅 **日历视图**:直观查看所有已写日记的日期 - ✏️ **Markdown 编辑**:支持丰富的文本格式化功能 - 📝 **日记管理**:创建、编辑、查看和删除日记 - 💾 **数据持久化**:以 JSON 格式存储,确保数据安全 - 🐳 **容器化支持**:提供 Docker 和 Docker Compose 部署方案 - 🌐 **Web 界面**:简单易用的网页界面 ## 技术栈 - **后端**:Python Flask - **前端**:HTML, CSS, JavaScript, Markdown 编辑器 - **存储**:JSON 文件 - **部署**:Docker, Docker Compose ## 项目结构 ``` daynote/ ├── .dockerignore # Docker 忽略文件 ├── .gitignore # Git 忽略文件 ├── Dockerfile # Docker 构建文件 ├── app.py # Flask 应用主程序 ├── data/ # 日记数据存储目录 ├── docker-compose.yml # Docker Compose 配置 ├── requirements.txt # Python 依赖列表 ├── static/ # 静态资源文件 │ ├── css/ # CSS 样式文件 │ ├── js/ # JavaScript 文件 │ └── fonts/ # 字体文件 └── templates/ # HTML 模板 ├── calendar.html # 日历视图模板 ├── editor.html # 编辑器模板 └── view.html # 日记查看模板 ``` ## 安装与部署 ### 方法一:使用 Docker Compose(推荐) 1. 确保已安装 Docker 和 Docker Compose 2. 克隆项目到本地 3. 进入项目目录 4. 启动应用: ```bash docker-compose up -d ``` 应用将在 http://localhost:5000 启动。 ### 方法二:本地运行 1. 确保已安装 Python 3.9+ 2. 克隆项目到本地 3. 安装依赖: ```bash pip install -r requirements.txt ``` 4. 运行应用: ```bash python app.py ``` ## 使用说明 ### 访问应用 在浏览器中访问 http://localhost:5000 ### 创建新日记 1. 在日历视图中点击任意日期 2. 或直接访问 http://localhost:5000/edit 3. 输入标题和内容(支持 Markdown 格式) 4. 点击保存按钮 ### 编辑现有日记 1. 在日历视图中点击已有的日记日期 2. 点击编辑按钮 3. 修改内容后点击保存 ### 删除日记 在查看日记页面,点击删除按钮确认删除。 ## 版本管理 可以通过以下方式指定应用版本: ### 构建时指定版本 ```bash docker build --build-arg APP_VERSION=1.0.0 -t daynote:1.0.0 . ``` ### Docker Compose 中使用指定版本 修改 docker-compose.yml 文件中的 `build: .` 为 `image: daynote:1.0.0` ## 环境变量配置 支持以下环境变量: - `FLASK_ENV`: Flask 运行环境(development/production) - `FLASK_DEBUG`: 是否开启调试模式(true/false) - `FLASK_HOST`: 绑定的主机地址 - `FLASK_PORT`: 绑定的端口号 - `APP_VERSION`: 应用版本号(通过 Docker build-arg 设置) ## 数据持久化 应用数据存储在 `./data` 目录下,每个日记以 `YYYY-MM-DD.json` 格式命名的文件存储。 使用 Docker Compose 时,该目录会自动映射到容器内,确保数据持久保存。 ## 健康检查 Docker Compose 配置中包含健康检查,定期检查应用是否正常运行: - 每 30 秒检查一次 - 超时时间 10 秒 - 最多尝试 3 次 ## 开发说明 ### 添加新功能 1. 在 `app.py` 中添加新的路由和处理函数 2. 在 `templates/` 目录下创建或修改相应的 HTML 模板 3. 在 `static/` 目录下添加必要的静态资源 ### 依赖管理 如需添加新的 Python 依赖,请在 `requirements.txt` 文件中添加相应的包名和版本号。 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request 来改进这个项目!