>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

停止配置 Wiki,开始写文档

一个熟悉的故事:你的团队或个人需要一个知识库。你打开 Wiki.js、Outline,或者天哪,Confluence。一个小时后,你发现自己深陷于配置 PostgreSQL、Redis、S3 存储和三百行 Docker Compose 文件的泥潭中。此时,记下几个聪明想法的冲动通常就消失了。

最近我发现了 LeafWiki。这个项目的作者显然也有同样的痛点。这是一个简洁的自托管 Wiki,遵循"下载即运行"的原则。没有沉重的依赖,只有一个 Go 二进制文件和一个数据文件夹。

底层原理

LeafWiki 没有试图重新发明轮子。它建立在三个简单的东西上:Go 作为后端,React 作为界面,SQLite 用于元数据。最棒的是——实际的页面内容存储在磁盘上的普通 Markdown 文件中。

这意味着如果服务器突然崩溃或你决定迁移到另一个工具,你的数据不会变成被困在专有数据库里的南瓜。你可以用任何文本编辑器甚至 Obsidian 打开它。

LeafWiki

实际使用中的优势

我经常看到那些自称"简单"但实际上需要全面管理的工具。LeafWiki 在这方面更加诚实。

树形结构而非混乱

许多现代笔记工具倾向于"扁平"列表加标签的方式。这里你得到的是经典的树形结构。你自己定义层级关系,而且重要的是,你可以在节内手动排序页面。对于入职培训或流程文档来说,页面的阅读顺序很关键。

不碍事的编辑器

它内置了一个 Markdown 编辑器,带有实时预览。支持表格、任务列表、脚注,甚至 Mermaid 图表和 KaTeX 数学公式。内部链接有自动补全——开始输入另一个页面的名称,Wiki 会自动插入正确的链接。

智能链接

系统会追踪反向链接。在每个页面上,你都能看到哪些内容引用了它。如果你重命名或移动页面,LeafWiki 可以自动更新其他文档中的链接(这个功能需要用标志 --enable-link-refactor 启用)。

为偏执狂准备的备份

除了简单地复制数据文件夹外,最近的版本还添加了实验性的 Git 备份支持。Wiki 会按计划自动将更改推送到你的远程仓库。

这不是给谁的

让我直说:这不是 Notion 的替代品。没有真正的实时协作编辑功能,看不到同事的光标。也没有复杂的发布审批工作流程。如果你需要十个人同时编辑同一个段落——继续寻找其他方案。

此外,LeafWiki 目前还不支持细化到树形结构单个分支的访问控制。角色存在(管理员、编辑者、阅读者),但它们适用于整个 Wiki。

如何开始

如果你已经安装了 Docker,启动大约需要三十秒。

docker run -p 8080:8080 \
    -v ~/leafwiki-data:/app/data \
    ghcr.io/perber/leafwiki:latest \
    --jwt-secret=super-secret-key \
    --admin-password=your-password \
    --allow-insecure=true

如果你在本地运行项目而没有 HTTPS,则需要 --allow-insecure=true 标志。如果你计划通过 Nginx 或其他代理将其暴露在外部,最好移除这个标志。

另外,对于极简主义者,有一个现成的 Linux 安装程序,可以将 LeafWiki 注册为系统服务:

sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/perber/leafwiki/main/install.sh)"

移动设备使用

界面是响应式的。用手机编辑文本是一种可疑的乐趣,但外出时阅读文档或快速修正错别字是完全可行的。

LeafWiki 以其可预测性赢得你的青睐。它非常适合:

  • 个人技术日志或知识库。
  • 小型项目的文档。
  • 管理员或 DevOps 工程师的内部运行手册。

如果你厌倦了与笨重的 Wiki 引擎搏斗,只想编写被整齐组织的 Markdown——试试这个项目吧。它目前在 GitHub 上的星标数还不到一千,但绝对有潜力成为你一直在寻找的"那个简单工具"。

相关项目