白嫖个人博客的新纪元——BlogNow 引擎介绍

1,264 阅读5分钟

【注】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 设计,请看《一篇文章的一生》:

  1. 新建一篇博客
    POST /post/create
  2. 获取博客内容
    GET /post/uuid/foo-bar-baz
  3. 修改博客内容
    PATCH /post/uuid/foo-bar-baz
  4. 最后再删掉它
    DELETE /post/uuid/foo-bar-baz

——顺便一提,API 文档也很详尽!

快速上手

我们假定您拥有一定的 GitHub 的使用经验,并且有基本的英语阅读能力。

配置 MongoDB Atlas

BlogNow 使用 MongoDB Atlas 作为数据库存储,任意用户均可免费部署 500 mb 存储空间的试用数据库。

如果您知道如何部署 MongoDB Atlas,或者您已经自行部署了公网可访问的 MongoDB,您可以跳过这一步。

  1. 注册并登录 MongoDB Atlas

cloud.mongodb.com

  1. 部署您的数据库

点击 Build a Database

  1. 选择 Shared (free)

  1. 配置防火墙

请允许任意 IP 连接数据库,否则 BlogNow 可能会无法连接到数据库。

请允许任意 IP 地址访问

  1. 获取数据库链接 URI

找到你的数据库,点击 Connect

点击 Connect your application,并记住这一步获取到的 URI

部署 BlogNow

点击链接,跟随安装向导。

立即部署,开始你的博客之旅

  1. 克隆仓库

仓库名随意即可,例如 my-blog,是否私有均可。

  1. 创建团队

如果您只是想要部署个人博客,则可以跳过这一步。

Vercel 的团队功能允许多个账户访问同一个项目。

  1. 配置环境变量

这一步很重要,请在 MONGO_URI 一项中填写您的 MongoDB URI(包括用户名和密码)

Pro Tips: 您还可以通过配置 BLOGNOW_DB 环境变量来修改博客的数据库名称。如果您想部署多个博客,这一点将很有帮助。

  1. 完成

点击部署按钮,等待进度条走完。

享受博客之旅吧!

Tips: BlogNow 目前没有初始化程序,当您注册第一个用户后,需要手动进入数据库调整用户权限,一般来说将自己的 authority 设置为 4 即可。

更新 BlogNow 应用程序

开发中🚧

技术细节

前端

  • JavaScript Framework: Vue3
  • Bundler: Vite

后端

  • API: Vercel Serverless Functions Node.js SDK
  • Database: MongoDB Atlas

开源协议

MIT License