BatNoter:把 Markdown 笔记直接存进 Git 仓库的自托管笔记 Web 应用
BatNoter 是一个开源、基于 Markdown 的自托管笔记 Web 应用,支持 GitHub 登录,笔记全部保存在用户自己的 GitHub 仓库中,支持文件夹嵌套、Markdown 预览、代码复制与深色模式;仓库主体为 React(TypeScript)+ redux-toolkit + MUI 的前端项目,后端由 BatNoter API 提供 REST 接口。
社区作者 · zZz
它解决什么问题
BatNoter 是一个基于 Markdown 的自托管笔记 Web 应用,核心理念是把笔记直接创建并保存到用户自己的 Git 仓库中(来源首行即 “Create and store notes to your git repository!”),因此笔记的数据归属与版本管理都交给 Git。项目官网为 https://batnoter.com,配图 1 为其 Logo。
技术构成:该仓库是前端项目,主要使用 React(TypeScript)、redux-toolkit 与 MUI 组件构建;后端由 BatNoter API 提供 REST 接口供此前端调用(来源未给出后端仓库地址与接口配置方式,待核验)。
主要功能:
- 使用 GitHub 账号登录。
- 以干净易用的界面创建、编辑、删除、组织与浏览笔记。
- 支持 Markdown 格式,笔记中可使用超链接、表格、标题、代码块、引用块等。
- 编辑器支持 Markdown 预览。
- 代码区块提供复制到剪贴板按钮,便于快速复制代码。
- 笔记可直接存放在根目录,也可用文件夹组织(支持嵌套)。
- 单击即可浏览某个目录下的全部笔记。
- 所有笔记都存储在用户自己的 GitHub 仓库中。
- 笔记会做缓存,以减少额外的 API 调用。
- URL 可以被收藏(书签)。
- 支持深色/浅色模式。
配图 2 为官方 Demo 动图,演示上述笔记操作流程;配图 3 为 Open Collective 贡献者列表。
适用对象:希望把 Markdown 笔记托管在自己 GitHub 仓库、看重数据自主可控与自托管部署的个人用户、开发者与小团队;由于采用 GitHub 登录,使用者需要拥有 GitHub 账号。
许可证与版本:来源正文未提及许可证类型与具体版本号,待核验(建议在仓库根目录 LICENSE 文件与 Releases 页面确认)。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
环境准备(Prerequisites)
- 安装 Node.js 18 或以上版本。
启动服务器(Start the server)
- 在项目根目录安装依赖:
npm install- 启动前端:
npm start- 该命令会以开发模式启动 React 应用。
- 在浏览器中打开 http://localhost:3000 查看。
运行测试(Run tests)
- 执行:
npm test- 该命令会运行全部测试,并打印代码覆盖率百分比。
首次运行与常见问题
- 应用通过 GitHub 账号登录使用,需要准备 GitHub 账号;笔记写入用户自己的 GitHub 仓库。
- 前端依赖 BatNoter API 提供的 REST 接口,来源未说明后端本地部署方式、环境变量或接口地址配置方法,待核验。
- 贡献代码前须先阅读仓库的 Contribution Guidelines(来源明确要求)。