【注】BlogNow 正处于 Alpha 测试阶段
虽然它已经可以被部署并使用,但可能会遇到各种奇怪的 bug。
另外,当前版本的 BlogNow 缺少自定义配置方案,意味着您无法更换站点名或 logo。
Follow the wizard, start your blog journey right now!
BlogNow 是一款完全免费的开源动态博客引擎。
BlogNow is a free dynamic blog engine with full backend support. Powered by Vercel & MongoDB Atlas. Built with ❤️
官方 demo:blog-now.vercel.app
特色功能
完全免费且开源
一般来说,部署一个基于 BlogNow 的博客——没错,包括后端——是完全可以做到白嫖的!
在你的博客内容数据超过 500 MB 以前,均可不花一分钱地使用。
开箱即用
BlogNow 安装向导
很多时候,个人博客只是极客们的玩具,因为个人博客的安装或者使用都有一定的技术门槛。
大部分人都望而却步了——服务器是什么?数据库又是什么?域名怎么注册?诶——怎么还要备案啊!
但是 BlogNow 的安装超级简单——呃,这算是安装吗?——你似乎只需要在网页上点击几个按钮,然后一路下一步就行了。
包括完整的后端
- 文章管理——撰写、编辑、删除 *博文,以及文章评论系统
- 用户管理——多用户、权限管理,还包括 消息通知 *
- 媒体管理——上传、浏览、管理图片,可选择 sm.ms 或 GitHub 作为图床 *
注:带有 * 标记的项目正在开发中🚧
动态博客系统,更新内容超级快
相当长一段时间里,白嫖博客的手段基本都是基于静态网站生成器和持续构建,例如经典的 Hexo + GitHub Actions 组合。
然而,BlogNow 敲开了白嫖博客新时代的大门,它是一款利用 serverless 技术与数据库托管平台构建的前后端分离的动态博客引擎。
——如果你不知道这是什么意思,你可以把它想象成传统的博客系统例如 WordPress 一样的应用程序。
这意味着你每次更新文章时不必再重新构建整个网站——现在,你只需编辑文章、点击保存、然后眨眨眼,网页便自己刷新了,你的好点子已经汇入了互联网的川流之中,就是这么迅速。
支持 markdown,在文章里加点格式吧
BlogNow 的文章编辑器
BlogNow 采用 markdown 保存文章内容,得益于 md,你可以在文章里插入各种格式(就像在掘金里写文章一样):
粗体字 斜体字 删除线 链接
- 一个
- 无序
- 列表
以及更多格式……
BlogNow 内置了非常强大的 markdown 编辑器,你可以点击按钮插入元素,然后实时预览你所写的内容。
另外,超棒的 API 接口——极客们也一定会喜欢
BlogNow 的后端路由,完全使用 TypeScript 编写
非常 RESTful 风格的 API 设计,请看《一篇文章的一生》:
- 新建一篇博客
POST /post/create - 获取博客内容
GET /post/uuid/foo-bar-baz - 修改博客内容
PATCH /post/uuid/foo-bar-baz - 最后再删掉它
DELETE /post/uuid/foo-bar-baz
——顺便一提,API 文档也很详尽!
快速上手
我们假定您拥有一定的 GitHub 的使用经验,并且有基本的英语阅读能力。
配置 MongoDB Atlas
BlogNow 使用 MongoDB Atlas 作为数据库存储,任意用户均可免费部署 500 mb 存储空间的试用数据库。
如果您知道如何部署 MongoDB Atlas,或者您已经自行部署了公网可访问的 MongoDB,您可以跳过这一步。
- 注册并登录 MongoDB Atlas
- 部署您的数据库
点击 Build a Database
- 选择 Shared (free)
- 配置防火墙
请允许任意 IP 连接数据库,否则 BlogNow 可能会无法连接到数据库。
请允许任意 IP 地址访问
- 获取数据库链接 URI
找到你的数据库,点击 Connect
点击 Connect your application,并记住这一步获取到的 URI
部署 BlogNow
点击链接,跟随安装向导。
- 克隆仓库
仓库名随意即可,例如 my-blog,是否私有均可。
- 创建团队
如果您只是想要部署个人博客,则可以跳过这一步。
Vercel 的团队功能允许多个账户访问同一个项目。
- 配置环境变量
这一步很重要,请在 MONGO_URI 一项中填写您的 MongoDB URI(包括用户名和密码)
Pro Tips: 您还可以通过配置 BLOGNOW_DB 环境变量来修改博客的数据库名称。如果您想部署多个博客,这一点将很有帮助。
- 完成
点击部署按钮,等待进度条走完。
享受博客之旅吧!
Tips: BlogNow 目前没有初始化程序,当您注册第一个用户后,需要手动进入数据库调整用户权限,一般来说将自己的 authority 设置为 4 即可。
更新 BlogNow 应用程序
开发中🚧
技术细节
前端
- JavaScript Framework: Vue3
- Bundler: Vite
后端
- API: Vercel Serverless Functions Node.js SDK
- Database: MongoDB Atlas