password
summary
status
tags
category
date
slug
icon
💡
兜兜转转,我还是回到了notion,此文做用作留念

之前看到了云游君做的Hexo主题,真的太好看了,简直戳我XP,所以整一个。
云游君的Hexo主题的说明文档:https://yun.yunyoujun.cn/

使用Docker配置Hexo环境

云游君提供了很详细的部署文档,以及docker部署的方法,但是在部署过程中还是遇到了一些问题,所以记录下来~

docker挂载单个文件出错

挂载主机的_config.yml文件到容器中时会报错,docker官方不建议挂载单个文件
应该先在主机对应对目录中创建好相应的文件,然后再执行(曲线救国):

镜像中缺少hexo的git部署工具

在base镜像的run命令中补充npm install –save hexo-deployer-git

添加git用户信息

向第二阶段的镜像中添加自己的用户名和邮箱

在容器外部执行部署命令失败

进入容器内部执行 npx hexo d 命令
提示输入用户名和密码,结果又报错
github要求使用token来访问仓库,所以先生成自己的token:https://github.com/settings/tokens
点击Generate new token,Note和Expiration自定,勾选repo,最后点击Generate token即可。
之后切记复制保存自己的token(后续无法查看)
将token代替密码进行验证。

每次执行github部署命令,如果缺少git用户信息,主机中不会有相关提示让我输入(构建镜像时配置好应该可以解决,但我不会),只是报错。
我不太懂docker容器中,git的配置信息是如何记录的,进入容器中输入一次用户名和token后,下次部署就还需要进去输入。
若以,如果不会将 _config.yml 文件公开,就可以将 _config.yml 文件中修改repo字段为:
之后在主机中执行部署命令即可,不用每次进入容器内输了。。。

上面很多的坑,都是用一些妥协的办法解决的,毕竟实力不够啊 : (

换为本地Hexo环境

将Hexo博客部署到github page,每次都得生成静态页面后再发送到对应仓库,同时我还需要推送博客项目本身,好麻烦。。。
同时,把Hexo环境放在docker容器里用着很不爽,有些奇奇怪怪的问题,譬如:
  1. 使用 “docker exec hexo npx hexo s” 命令,并 CTRL+C 停止后,仍然存在4000端口被占用的问题
  1. github部署时,要么得把token附在配置文件里(我不喜欢),要没就得每次进入容器输账户和toke
  1. 我想要package.json等文件,但它们在容器内部,查看又不方便
  1. ……
因此,我想把博客部署到vercel,只需要将博客项目上传到github仓库,并导入到vercel,它就会自动部署。
问题又来了,原来的项目仓库中,并没有package.json等项目配置文件,因为它们都在dock儿容器内部,所以vercel部署时无法下载相关依赖,导致部署不成功。
最终我决定换为 本地Hexo环境+github托管+vercel部署(很顺利,没遇到什么坑,yes!)

Notion + NotionNext

使用Hexo部署静态博客,对我这种懒人来说还是太麻烦了,所以我开始考虑用notion作为CMS。
之前尝试过Nobeliumnextjs-notion-starter-kit,但在部署时都遇到了些奇奇怪怪的问题。
后来我看到了这篇文章:
然后我使用了这位大佬在Nobelium基础上开发的NotionNext,非常方便,主题也好看!
暂时不折腾了......
“解忧杂货铺”2021Autumn-SE