neo-blog的详细内容及其设计理念

远野千束技术2025/10/55 minutes533101085 chars

功能总览

OAuth2 单点登录

在博客选型阶段,是否支持单点登录(SSO)是我评估的核心指标之一。 我希望统一维护用户认证服务,让「轻雪」旗下各业务共享同一套用户数据, 实现多系统统一认证

目前需要身份认证的场景主要有两类:

  • 博主本人登录后台管理

  • 访客使用互动功能(点赞、评论等)

评论功能

市面上既有内置评论模块的方案,也有接入 Disqus、Gitalk 等第三方服务的做法。 为了方便用户数据管理,我选择把评论直接集成到博客本体

理论上可以把「评论」拆成独立微服务,再复用博客的用户系统做鉴权, 但小项目引入额外链路反而增加复杂度,因此没有进一步拆分。

RSS 与 Sitemap

作为内容管理系统,SEO 基础设施必不可少。 尽管今天还在用 RSS 的读者不多,但为了让真正关心内容的人能够自由订阅, 我依然选择同时输出 RSS 与 Sitemap

富文本编辑器

早期计划让用户在外部 Markdown 编辑器写完再粘贴到文本框, 但为了自动保存草稿、一键发布等体验,最终还是内置了编辑器。

技术选型采用可高度定制的 mdx-editor, 也曾对比过 vditor 等方案,综合扩展性后敲定当前实现。

其实这是之前写的,现在已经迁移到tiptap了,部分还是会员制组件,续费太贵了

多语言 / 国际化 / 本地化

既然项目已开源,UI 只支持一种语言显然不够友好。 本地化已成为我所有项目的默认配置。

框架选用 next-intl,遗憾的是 VS Code 的 i18n 插件暂未兼容, 导致编写多语言字段时缺少智能提示,目前只能靠手工维护。

key: val

Copyright:neo-blog的详细内容及其设计理念

Posted at
10/5/2025

Unless stated otherwise, articles are licensed under CC BY-NC-SA 4.0. Please credit the source.

1 users liked
Comment (0)

Load more

关于我
S

SnowyKami

A full-stack developer.

Tags cloud
In love for 28 days
Misskey