如何使用 nobelium 1 小时快速搭建你的私人博客
背景
最近发现 twitter 是一个技术氛围和浓度比较高的地方,于是每天花不少时间刷推。
这个 blog 的搭建就始于刷到的一篇推文
看起来简单又好用,并且还是免费的,于是乎,就手痒动起来了。
搭建完成后你将拥有一个看起来还算炫酷的私人博客 黑微狗的技术blog
动手
既然作者没给教程,那我们就自己动手,反正看起来也足够简单。于是先找到了 nobelium 的 github repo
https://github.com/craigary/nobelium
找到了组织就好办了,readme 里已经包含了大量有用的信息,堪称教程
跟着官方指导部署 Nobelium
重点都在上面截图用红框标注出来了,这里再总结一下步骤
注册个 notion 账号,这个不需要教程吧
复制(duplicate)nobelium 为 notion 制作的模板
点击 https://craigary.notion.site/866916e3b939468b9b6f1d47dce99f9c 右上角的 duplicate 按钮即可
进入新复制的页面,把页面设置为公共访问
找到下图的 Page ID,后面 Deploy 到 Vercel 上的时候需要填写这个作为环境变量
Fork nobelium(就是 copy 一份到你自己的仓库,便于你二次开发)
Github 账号授权 Vercel 登录,下面开始把项目部署到 Vercel 上
添加项目
从刚刚 Fork 的 Repo 导入
设置环境变量 NOTION_PAGE_ID,别忘了最后点一下 Add
点击 Deploy,静静等待编译和发布结束,出现 Congratulations 页面就可以了!
进阶部署
到这里,其实你已经可以使用 vercel 提供的域名访问你的 blog 了。但是我们需要再做几步,让你的 blog 变得更好。当然,如果你没有下面这些诉求,也可以直接跳过。
想通过自定义的域名访问 blog
想要接入一个评论系统
自定义网站介绍、风格等信息
想要显示自定义的头像
对了,在这里访问 blog 你应该会看到 template 里很多篇预设好的文章,没事,统统删掉即可,然后写一篇你的 blog,然后 published,看看效果?
自定义域名
关于自定义域名,我单独起了一篇新文章,因为我理解它可能是一个“公共的”知识点。所以劳烦需要的同学移步
接入评论系统 + 自定义网站介绍
这里接入的是 cusdis
注册 cusdis 账号
单击 Dashboard 页面的 Embed Code 按钮,找到 data-app-id
修改 blog.config.js 文件,跟评论系统相关的主要是下面标红的 2 项
上图里的 diff 就是我自己的网站的一些自定义修改,你可以试着参考一下,应该都很容易理解,这里就不再解释了。有疑问的话可以通过 cusdis 评论系统提问哦
当用户发了评论之后,是需要你审核的,审核通过之后才能显示在评论栏里,如果你想及时收到,可以在 cusdis 上配置一个接收提醒的邮箱哦
你还自定义 blog 的 favicon 哦,只需要替换/public 目录下的 favicon.ico 即可
显示自定义头像
如你所见,每一篇 POST 都会有这样一个位置显示作者具体信息及头像,头像链接过去就是在 blog.config.js
所配置的 social link,即个人的 Twitter 社交链接。可是问题是填入自己的社交链接之后却又只是左边的图像,并没有发生什么变化。
关于头像显示,nobelium 使用的是 gravatar,所以你需要先注册 gravatar 账号。注册完上传自己头像即可,然后保持你的邮箱地址和注册 gravatar 账号的邮箱一样就可以了哦。
简单来说当你访问支持 Gravatar 头像的网站时,只要输入你注册的邮箱账号,即会自动调用 Gravatar 的 api,转换成保存的头像。
实际上,在项目中是根据我们所填写的邮箱生成一个哈希值,而这个哈希值唯一的对应我的头像
关于“关于”页面
当你把 template 里的所有预设的文章删掉之后,你会发现“关于”(英文叫 about)页面 404 了。因为“关于”页面其实是链接到了一篇 slug 为 about 的 Page(设置成 POST 就会展示到首页哦),所以我们只需要添加进去即可。类似下面这样
更多的定制
可以参考下面这篇文章,包括自定义新的导航连接、修改左上角图标颜色以及调整导航透明背景的模糊程度。
使用 nobelium + Notion 制作博客的一些 Tips:如何自定义新的导航连接
大致原理猜测
这里我结合整个搭建过程简单猜测一下大致的原理(没看过源代码)
有没有发现 nobelium notion template 页面有点像一个数据库表,并且设置成了公开访问。所以我猜测应该是 nobelium server(也就是 vercel 上跑的那个应用)会定时拉取你的 notion 页面,然后从里面解析出对应的文章生成 blog 页面。
参考
https://tanxynotion.vercel.app/taste-nobelium
评论