>_ DevTrendszh

语言

首页

语言

板块

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

为什么要自己造轮子?明明有 Obsidian 和 VS Code

我注意到大多数笔记应用要么拖着几百兆的 Electron,要么试图把文件锁在封闭的云端。如果你在一个包含大量文本文件的项目中工作(架构规范、指南、检查清单),通过笨重的 IDE 打开它们并不总是很方便。

该仓库 joelbqz/writer-computer 提供了一个简单的选择:一款轻量级本地编辑器,可以即时打开并直接在磁盘上处理项目文件。

Writer

本地优先,化繁为简

Writer 是一款用于处理本地仓库中 Markdown 文件的桌面工具。作者们采用了本地优先的理念。所有文档严格保存在你的电脑磁盘上,不依赖任何第三方云服务或复杂的嵌入式数据库。

该项目已在 GitHub 上获得了超过一千颗星。对于那些在源代码旁边编写文档、需要一个支持图表的极简工具的人来说,这款应用会非常实用。

技术栈与功能特性

该应用后端基于 Tauri v2 和 Rust 构建。前端则由 React、Zustand 和 CodeMirror 负责呈现。相比基于 Electron 的解决方案,这套技术栈能显著节省内存占用。

开发者重点介绍了以下几个实用功能:

  • 自动过滤 .gitignore。打开项目文件夹时,编辑器会立即隐藏服务目录和编译产物。
  • 扩展 Markdown。该应用不仅支持基本文本和表格,还能即时渲染交互式 Mermaid 图表。
  • 多窗口支持。在屏幕的一个区域打开技术规范,在另一个区域编写文档,非常方便。
  • 快速的 Rust 监听器。文件系统中的文件变更会被即时捕获,无延迟。

仓库架构

项目代码采用 monorepo 结构组织。React 前端代码存放在 apps/desktop 文件夹中,系统逻辑和 Rust 代码位于 src-tauri 文件夹内,包含 Tauri 命令、工作区状态管理和终端集成。

作者使用了一个自定义的 Vite 打包工具包装器——也就是 vp 工具。只需几条命令即可完成本地环境配置和测试运行:

vp install
vp dev

前端和 Rust 模块的代码质量检查使用内置的 linting 脚本:

vp check
vp test

同时可以运行标准的 Rust 代码质量检查:

cd apps/desktop/src-tauri
cargo test
cargo clippy
cargo fmt --check

仓库中还有一个 SPECs 文件夹,包含函数设计说明,以及一个现成的 scripts/distribute.sh 脚本,用于本地构建和 macOS 发布签名。

适用人群

Writer 解决了一个基本需求:获得一个干净的工作空间来处理文本,无需多余的插件、复杂的关系图和标签。

该项目非常适合那些必须将文档与代码一起存储在仓库中的开发者和技术文档作者。你可以打开一个文件夹,编辑必要的文档,然后使用标准的 git 工具提交更改。

如果你需要一个没有额外后台干扰的快速桌面编辑器,Writer 的源代码作为 Tauri v2 与 React 和 CodeMirror 正确集成的示例,肯定会派上大用场。

相关项目