用Markdown做日记和任务跟踪的DailyNotes
什么是 DailyNotes ?
DailyNotes
是用于每天记笔记和跟踪任务的应用程序。
什么是 Markdown ?
Markdown
是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber
)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML
(或者HTML
)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。【百度百科】
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 dailynotes
,选择第一个 m0ngr31/dailynotes
,版本选择 latest
。
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 dailynotes
文件夹 | 装载路径 | 备注 |
---|---|---|
/docker/dailynotes |
/app/config |
配置和数据库目录 |
端口
端口不能冲突,默认的 5000
显然不能使用,这是群晖默认的管理端口
本地端口 | 容器端口 | 类型 |
---|---|---|
5050 | 5000 | TCP |
环境
默认这里可以不要设置,不要设置,不要设置
可变 | 值 |
---|---|
API_SECRET_KEY |
API 令牌,不传入会自动生成 |
DATABASE_URI |
DB 的连接字符串,如果未传入,将创建和使用 SQLite 数据库 |
DB_ENCRYPTION_KEY |
用于加密数据的密钥。长度必须是 16 的倍数,不传入会自动生成 |
PREVENT_SIGNUPS |
禁用注册表单 |
DATABASE_URI
的格式如下:
1 | mysql+pymysql://user:pass@host/dbname?charset=utf8mb4 |
默认镜像并不支持 pymysql
,如果你设置了 DATABASE_URI
,容器启动日志中会显示 No module named 'pymysql'
,所以如果你要采用 MySQL
或者 PostgreSQL
做数据库,需要自己用 Dockerfile
编译镜像
通过修改 requirements.txt
,并加入相应的模块
所以如果用默认的 SQLite
,环境变量这里可以不用设置
运行
在浏览器中输入 http://群晖IP:5050
,就看到登录界面
先点 Sign Up
注册用户
主界面
支持 Markdown
的语法
图片不能预览,加不加的没啥用
保存之后,Tags
和 Projects
会出现在左侧
默认创建的是当天的 Daily Note
,还可以点 +
号创建 Note
Daily Note
每天只有 1 条,而Note
可以创建多条
Note
比 Daily Note
多个 title
支持查询操作
既然是跟踪,就需要通过状态来标识任务是否已完成,这需要在 Note
中添加下面👇的文本
1 | - [ ] 是否已完成 |
来实现复选框按钮
支持关联操作
可以支持多个复选框
目前软件的功能比较简单,按作者的计划,会在后续版本中增加:
- 支持
CalDAV
-
HTML
预览 - 任务看板(以及附加元信息的新语法,例如每个任务的泳道和项目)
- 嵌套标记
参考文档
m0ngr31/DailyNotes: App for taking notes and tracking tasks on a daily basis
地址:https://github.com/m0ngr31/DailyNotes/[Question] dailynotes configuration - DailyNotes
地址:https://gitmemory.com/issue/m0ngr31/DailyNotes/32/836188283Configuration — Flask-SQLAlchemy Documentation (2.x)
地址:https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/