什么是 NoteFlow ?
NoteFlow是一个轻量级的、基于Markdown的笔记应用程序,具有任务管理功能。它将单个Markdown文件转化为现代网页界面,使笔记和任务能够无缝共存。它提供了一个简洁的界面,用于创建、查看和管理笔记,支持任务、图像、文件和代码片段。
主要特点:
Markdown 文件:所有笔记汇聚到一个 Markdown 文件中,形成自然的时间线Markdown**:使用普通 Markdown 编写,并利用复选框管理任务Markdown 文件中FastAPI 构建的干净、响应式设计HTML 归档版本NoteFlow 实例,在不同目录中记录笔记总之,NoteFlow 为用户提供了一个简单、高效的方式来记录和管理笔记与任务。
如果你不想自己构建,可以跳过,直接阅读下一章节
官方没有提供 docker 镜像,也没有 Dockerfile,所以老苏弄了一个,但是不知道哪里没弄好,路径中出现了 --port,目前没发现有什么影响,就这样凑合用吧,反正也只是为了看看软件功能
# 使用 Python 3.9 的基础镜像
FROM python:3.9-slim
LABEL authors="[email protected]"
# 设置工作目录
WORKDIR /app
# 复制项目文件
COPY requirements.txt .
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 安装 noteflow
RUN pip install noteflow
# 暴露应用所需的端口
EXPOSE 8000
# 启动 NoteFlow 应用
CMD ["noteflow", "--port", "8000"]
另外在 requirements.txt 中新增了一行 mdit-py-plugins>=0.3.0
fastapi>=0.104.1
uvicorn>=0.24.0
markdown-it-py>=3.0.0
python-multipart>=0.0.6
pydantic>=2.4.2
pathlib>=1.0.1
typing>=3.7.4.3
aiofiles>=23.2.1
jinja2>=3.1.2
requests>=2.31.0
beautifulsoup4>=4.12.0
platformdirs>=3.0.0
psutil>=5.9.5
mdit-py-plugins>=0.3.0
构建镜像和容器运行的基本命令如下👇
# 下载代码
git clone https://github.com/Xafloc/NoteFlow.git
# 进入目录
cd NoteFlow
# 将 Dockerfile 放入当前目录
# 修改 requirements.txt 文件
# 构建镜像
docker build -t wbsu2003/noteflow:v1 .
# 运行容器
docker run -d \
--name noteflow \
-p 8406:8000 \
-v $(pwd)/app:/app/--port \
wbsu2003/noteflow:v1
在群晖上以 Docker 方式安装。
在注册表中搜索 noteflow ,选择第一个 wbsu2003/noteflow,版本选择 latest。
本镜像基于
NoteFlow v0.2.4构建
在 docker 文件夹中,创建一个新文件夹 noteflow,并在其中建一个子文件夹 app文件夹 装载路径 说明 docker/noteflow/app/app/--port存放 md 、图片等
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
8406 | 8000 |
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 noteflow 和 子目录
mkdir -p /volume1/docker/noteflow/app
# 进入 noteflow 目录
cd /volume1/docker/noteflow
# 运行容器
docker run -d \
--restart unless-stopped \
--name noteflow \
-p 8406:8000 \
-v $(pwd)/app:/app/--port \
wbsu2003/noteflow
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'
services:
rediary:
image: wbsu2003/noteflow
container_name: noteflow
restart: unless-stopped
ports:
- 8406:8000
volumes:
- ./app:/app/--port
然后执行下面的命令
# 新建文件夹 noteflow 和 子目录
mkdir -p /volume1/docker/noteflow/app
# 进入 noteflow 目录
cd /volume1/docker/noteflow
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
在浏览器中输入 http://群晖IP:8406 就能看到主界面
右下角是设置,可以设置主题和停止服务
上面是 Markdown 编辑器,拖过拖拽边角可以改变编辑区的高度
NoteFlow 支持标准 Markdown 语法,包括:
点编辑器的 Save Note 或者 Ctrl+Enter 可以保存笔记
标题是可选的
本地图片直接拖入编辑器即可自动嵌入到笔记中
保存后会显示出来
文件也是一样的,但不会显示预览
文件分别被保存在 assets/images
和 assets/files 文件夹中
使用 Markdown 复选框:
- [ ] New task
- [x] Completed task
任务自动显示在活动任务面板中
点击复选框将任务标记为完成
在笔记中输入 + 后跟 URL 创建链接(例如:+https://laosu.tech)
点 Save Note 后
站点链接将在 assets/sites 文件夹中本地保存并存档
直接点链接
在 FileStation 中
你的笔记存储在notes.md中
文件格式很简单:
## 2024-10-30 12:34:56 - Optional Title
Your note content here...
---
## 2024-10-30 12:33:45
Another note...
Xafloc/NoteFlow: A lightweight note-taking application that lets your thoughts flow naturally while keeping your tasks in check. NoteFlow transforms a single Markdown file into a modern web interface where notes and tasks coexist seamlessly.
地址:https://github.com/Xafloc/NoteFlow
@所有人:写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。
微信扫一扫
关注该公众号