Skip to content
itscheemsPublic

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

  Moment

把今天留下,等以后的你回来。

一个可以自托管的个人微博。

开始使用 · 部署指南 · API 与客户端

几年后,你忽然想起一家面馆。

店名忘了。你只记得靠窗的位置,玻璃上的水痕,还有坐在对面的人说,等雨小一点再走。

你在旧记录里搜了搜「面馆」。一张照片出现了,桌角放着一把还在滴水的伞。照片下面只有一句话:

楼下的面馆,汤很烫。等雨小一点再走。

那场雨,忽然有了日期。

Moment 想留住的,就是这样的日子。

你可以把它放在自己的电脑或服务器上,随手写几句话,放几张照片,也认真写一篇文章。记录沿着时间排列,可以搜索、回看,也可以完整导出,带到下一台机器。

有些日子,当时看不出什么

修好了一个缠了两天的 bug,买到最后一袋打折的面包,或者下班时发现,天已经比上个月亮得久了一点。

那时候,你大概不会觉得这些事值得专门写一篇文章。

所以 Moment 把记录的入口放得很近。写一句话,传一张照片,保存一段视频或一个链接,就能留下当下。本地草稿会保留还没发出的文字,等你下一次回来。

先记下来。它的分量,可以以后再知道。

有些话,要过几天才能写完

一件事刚发生的时候,你可能只能写两行。过了几天,再读那两行,才知道自己还想说些什么。

Moment 也为长文章留了地方。选一张封面,裁好想留下的画面,改几次标题,把照片、引用和代码放进正文。草稿自动保存,写到一半可以停下;想安静写一会儿,就打开全屏模式。

写完以后,文章会回到时间流里,和那些短短的记录待在一起。以后翻到这里,你能看到一件事发生时的样子,也能读到自己后来怎样理解它。

再回来时,有路可走

有时候,你记得一句话,却忘了是谁、在哪一天说的。有时候,你只记得那是某年夏天,刚搬过一次家。

记得词语,就用搜索。记得时间,就从归档里回到某一年、某个月、某一天。

翻着翻着,你会发现,搬家那个月还修过一盏灯,第一次做饭把盐放多了,后来才慢慢记住附近的路。

零散的记录,开始连成一段生活。

有人来读,也有话留给自己

有些记录适合分享给朋友。发出一个链接,聊聊照片里的地方,让评论与回复留在那条记录旁边。

也有些话,写下来的时候,只想让自己知道。

Moment 支持公开与仅自己可见的记录。你可以决定一条内容的去处,也可以按自己的阅读习惯,选择浅色、柔和深色、纯黑背景和喜欢的强调色。显示偏好保存在当前浏览器里。

生活会搬家,记录也应该能带走

人会换电脑,会搬到另一座城市。多年前搭起的小站,也可能需要迁到新的服务器。

Moment 将文字、媒体原件和站点数据保存在你管理的数据目录里,支持导出、导入与恢复。换一台机器,继续这条时间线。

这是「自托管」对一个记录工具最实际的意义:几年以后,你仍然能够决定这些内容放在哪里。

Moment 也提供 CLI 和 HTTP API。如果你习惯从终端做事,或想把记录接入自己的工作流,这里同样留着入口。

开始使用

进入项目源码目录,先安装 mise,再运行:

mise install
mise exec -- task setup
MOMENT_USERNAME=writer mise exec -- task run

打开 http://127.0.0.1:8080,开始你的第一条记录。

首次启动会用 MOMENT_USERNAME 指定的名字创建管理员账号,并将该账号的初始 API 令牌保存到 .moment-local/account.token。在登录页选择 API 令牌登录,也可以在账号设置中配置密码。后续启动复用已有数据,不要求保存着初始令牌。所有已启用的账号都可以发布内容;管理权限、内容作者和站点展示账号分别设置。

需要部署到服务器、使用容器,或了解媒体处理依赖,可以查看 部署与发布指南 和 媒体处理说明。

技术结构与检查命令

Go + React + TypeScript + SQLite。

前端随 Go 可执行文件一起分发,核心运行时采用单进程、SQLite 和本地媒体目录,无需单独配置数据库服务。图片与视频的处理依赖见上方媒体说明。

如果要参与开发或检查改动:

mise exec -- task ci

检查评论交互时,可以使用独立的测试实例和多账号讨论样本:

mise exec -- task playground
mise exec -- task playground:comments

样本覆盖评论详情、楼内回复、分页、折叠、文章评论和私密内容;重复运行会复用同一实例的样本。测试账号 xiaoman 的 API 令牌保存在 .moment-local/playground/account.token,重启和 task playground -- reset 都会复用同一个值,方便浏览器记住;重置仍会清空测试内容和登录会话。


今天很普通,但也值得留下。

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages