textarea.my:使用 URL 哈希的极简文本编辑器

介绍 textarea.my:轻量级文本编辑器,内置于 URL

在云存储、第三方笔记应用和复杂编辑器主导工作流程的时代,textarea.my 提供了一个极其简单的替代方案。这个开源项目将普通浏览器窗口变成一个功能齐全的文本编辑器,它的内容 完全 存储在 URL hash 中,并通过 localStorage 做备份以增加冗余。无论你是快速记录笔记,撰写简短的 Markdown 片段,还是草拟代码段,textarea.my 都为你提供了一个快速、独立的解决方案,无需任何依赖。

为什么使用 textarea.my?

益处 所指
无服务器 所有数据存储在本地——不需要除首次加载页面之外的网络连接
一键分享 复制 URL,随意转发。接收者将立即看到内容
极小占用 压缩后低于 5 KB,毫秒级加载
内置压缩 使用 deflate 压缩文本,保持 URL 简短
开源 MIT 许可,可自行 Fork、修改或托管

该项目由 Anton Medvedev 维护,保存在结构良好的 GitHub 仓库(https://github.com/antonmedv/textarea)中。它是务实开源的绝佳示例——一款解决实际需求、毫不多余的工具。

核心功能

  1. URL 哈希持久化 – 每一次修改都会更新 URL hash。整个文本被安全编码,因此你可以精准分享并重新加载你所写的内容。
  2. Deflate 压缩 – 文本会自动压缩,连较长的 Markdown 文件也能轻松放入 URL。
  3. localStorage 备份 – 同一份数据也存储于 localStorage,若 hash 失效(如 URL 长度限制)提供额外持久化。
  4. 通过 DevTools 自定义 CSS – 虽然编辑器本身极简,但你可在 DevTools 中编辑 <article> 元素来微调外观。修改会随 URL hash 一起保存。
  5. 二维码生成 – 在 URL 末尾追加 /qr,页面将生成一个二维码,指向同一篇文档。
  6. 标题模板 – 在首行加上 # Title,页面标题将自动采用该值。
  7. 独立 Wiki 引擎 – 仓库内包含一个以相同核心驱动的小型 Wiki,可在同仓库下的 wiki 获取。

快速开始指南

  1. 打开编辑器 – 访问 https://textarea.my
  2. 开始输入 – 编辑器默认空白;你输入的任何文字会立即编码到 URL。
  3. 保存 – 点击 Copy URL 按钮(或使用 Ctrl+C 快捷键),并将链接保存到你想去的地方。
  4. 重新载入 – 在任意浏览器中打开 URL,即可看到笔记恢复。
  5. 分享 – 将链接发送给朋友;不需要特殊权限。

示例

# My Quick Note

This is a _markdown_ example.

- Item 1
- Item 2

输入后,URL 可能如下所示:

https://textarea.my#E2N4YlV9Yl7sX... (truncated for brevity)

复制此链接并粘贴到聊天或邮件,即可让接收者看到完全相同的笔记。

高级使用与专业技巧

提示 做法
添加自定义样式 打开 DevTools(F12),选择 <article>,并注入 CSS。例如:article { background:#f4f4f4; color:#333; }。该样式会包含在 hash 中,分享后他人会看到相同外观。
创建二维码 访问 <url>/qr。出现二维码,链接回完整文档。
使用其他语言 <meta charset="utf-8"> 中设置字符集,以获得完整的 Unicode 支持。
跨标签页持久化 由于 localStorage 为 hash 提供备份,您可以在多个标签页中保持同一条笔记打开;更改通过简单轮询机制同步。
自行部署 克隆仓库后,在任意静态主机(如 Netlify、GitHub Pages 等)提供 index.html。该项目还包含 PWA 清单,支持离线使用。

与流行方案的比较

功能 textarea.my Google Docs Typora Joplin
离线
URL 共享
大小 5 KB 1 MB+ 15 KB 30 KB
Markdown ✅ (原始)
自定义 CSS
压缩

对于快速、可分享的片段,textarea.my 提供更轻量、更注重隐私的替代方案。

社区与贡献

作为一个开源仓库,textarea.my 热烈欢迎贡献。简单的改进点包括添加拼写检查器、改进移动端体验或增添更多文件导出方式。你可 Fork 项目,在本地实验后提交 Pull Request。

如何贡献 1. Fork 仓库。 2. 在新分支中做更改。 3. 运行测试套件(如果克隆了仓库,请使用 npm test)。 4. 提交带有清晰描述的 Pull Request。

维护者会在一周内审查 PR 并迅速合并非破坏性更改。

未来改进

潜在路线图项目包括: - 实时协作:使用 WebRTC 将 URL 编辑的简洁性与多用户支持相结合。 - 版本历史:在 localStorage 中保留修订版本栈。 - 导出选项:PDF、DOCX 或 HTML 输出。 - 暗黑模式切换及其他 UI 首选项。

这将保持核心理念,同时为高阶用户增强可访问性。

结论

Teaser.my 证明了 少即是多:一个无需服务器、账户,也不依赖繁重库的微型自包含编辑器。其聚焦于基于 URL 的持久化与共享,使其成为开发者、作家以及任何喜爱即时笔记、并确信仅存于本机的人们的理想选择——除非你决定分享。探索代码,今天就试一试,看看你能多么轻松地将一个 URL 变为个人文本编辑器。


GitHub 仓库: https://github.com/antonmedv/textarea

实时演示: https://textarea.my

原创文章: 查看原文

分享本文