本博客的搭建与迁移
🏗️

本博客的搭建与迁移

Created
Mar 7, 2024 06:15 AM
Tags
build

为什么迁移?

之前,我以 HUGO + Github 静态托管的博客存在如下问题:
  • 每篇记录需经过:md文档 → 预览 → 调整格式 → 重新生成静态文件 → 提交发布,背离专注写作的初衷;
  • md 文档存在结构单一,需要注重语法,图片插入麻烦等问题;
  • 缺少内容管理系统(CMS),对内容的增删改查等管理操作复杂;
  • 无法被搜索引擎搜索…
偶然间我通过 FKY&JYQ 的博客了解到,用 Travis Fischer 大大的项目 nextjs-notion-starter-kit 、以 Notion + Next.js + Vercel 的形式部署可以一劳永逸的解决以上问题 👇!
nextjs-notion-starter-kit
transitive-bullshitUpdated Nov 8, 2024

步骤

1. 本地

git clonenpm installnpm run dev
访问 localhost:3000 查看默认效果,然后查看文档修改配置文件,将博客页面指定为自己新建的 Notion 页面,记得将页面公开,顺便配置一些自定义的东西

2. 部署

将本地调试好的模板同步到建好 Github 仓库,访问 Vercel,然后只管跟着引导走
只要登录后按要求一步步走即可完成部署,部署需要点时间,等部署完根据引导访问即可,可以设置域名

3. 写作

  • 打开 Notion ( 建议在你之前指定好的页面上添加 Gallery view 作为数据库管理博客
  • 博客会访问你指定的 Notion 页面,所以请随意添加 page,专注写作即可

搜索问题

一切都很正常,直到我尝试搜索功能无效👇
notion image
查看源码发现在搜索时发送的请求返回了405
一篇博客解答了问题,原因是Notion的搜索接口有更改👇
the search API params was changed by Notion
按照提供的解决方法可以在本地完美解决,但在部署时无法成功构建
查看日志,发现卡在
Invalid value type in /vercel/path0/yarn.lock
我在本地用 npm 安装,但在 vercel 是使用的是 yarn 的方式
于是按照网络方法尝试删除 yarn.lock 并重新执行 yarn add patch-package ,提交后自动部署,搜索请求可用。
最后附上成果图 🌈
notion image