OAuth2 单点登录
在之前博客选型时,是否支持单点登录(SSO)是一个重要的因素,因为我想统一管理用户认证服务,使用单点登录有利于帮我打通轻雪各个服务间的用户数据,也是一种多服务统一认证的表现。博客需要认证的地方除了博主本身,其他的可能就是互动功能,例如点赞,评论等等。
评论功能
我参考过不少博客框架,他们有的内置了一套评论,有的通过接入外部评论服务来实现,我为了方便管理用户,把评论功能集成到了博客本体,其实也可以把博客系统分离出来做成一个服务,类似于微服务的架构,评论服务使用博客本体的用户系统进行身份认证,但是这样做真的很麻烦,小项目没有必要再拆了。
RSS和Sitemap
这是内容管理系统SEO优化的一环,不得不品,所以我必须支持(虽然这年头还用RSS的人不多了,纯粹对内容和阅读感兴趣的人,RSS阅读器也参差不齐)。
富文本编辑器
最初是没有打算搞的,用户直接在外部markdown编辑器编辑完成后直接把原内容复制到文本框上传即可,但是考虑到提升便利性,实现自动保存草稿,文章发布等功能,最终还是把mdx编辑器内置到了博客系统,使用的mdx-editor,适合自由定制的用户,个人感觉也还行,虽然之前参考过vditor
多语言/国际化/本地化
既然都做成开源项目了,UI部分肯定不能只支持一种语言了,本地化已经是我的项目的标配了,基本上所有项目都会有本地化支持,当然这样也得花时间去适配各个语言。我用的多语言框架是next-intl,不过好巧不巧的是这个框架不受vscode上的i18n插件支持编写多语言比较被动