动手实践
[心路历程] NotionNext和Hugo_Bear的组合
00 min
May 18, 2024
Jun 10, 2024
type
status
date
slug
summary
tags
category
icon
password

前言


Hugo的主题从meme,到virgo,最后到hugo-bear,一步步走向极简。我使用Hugo的目的是为了弥补NotionNext在block上的短板,但是今天的部署却没有那么顺利,甚至还有点坎坷,因为之前没做好功课。

正文


这部分记录我踩坑的经历。

vscode的玩笑


不知道为啥,win上的vscode在用git的时候各种不顺,各种ssl失败无法提交的问题,还是偶发性的发生。遂换到了mac系统,但不曾想,代码改着改着,黑屏了,这可给我吓了一条,我想我毕设还没演示呢,这电脑可别出点啥问题啊。不过好在Mac还是顺利重启了,查看了日志才知道问题如下:
从您提供的内核恐慌报告来看,问题似乎与您的Mac的Intel图形处理单元(GPU)驱动有关。错误信息 [IGPU] ERROR: SafeForceWake acknowledgement never received on MEDIA domain 指出在尝试唤醒GPU的媒体域时,系统没有收到预期的响应。 以下是一些可能的解决步骤:
  1. 安全模式启动: 重启您的Mac,并在启动时按住Shift键以进入安全模式。这会加载最少的必需内核扩展和登录项,如果问题不再出现,那可能是某个第三方软件或驱动引起的。
  1. 更新或重新安装显卡驱动: 确保您的系统和所有驱动程序都是最新的。访问苹果的官方网站或使用系统偏好设置中的软件更新功能来检查更新。
  1. 检查第三方内核扩展: 从报告中可以看到,有一些第三方内核扩展被加载了(如VoodooI2CAirportItlwm等)。这些可能与问题有关。您可以尝试卸载这些扩展来看是否解决问题。
  1. 重置NVRAM和SMC: 重置NVRAM(非易失性随机存取内存)和SMC(系统管理控制器)可能有助于解决与硬件相关的问题。苹果官方支持网站提供了如何进行这些操作的指南。
  1. 检查硬件问题: 如果上述软件方法都不能解决问题,可能是您的Mac存在硬件问题。您可以尝试联系苹果的客户服务或预约到最近的苹果零售店或授权服务提供商进行检查。
  1. 备份和重新安装macOS: 如果问题依旧存在,您可以考虑备份您的数据,然后重新安装macOS。 在进行任何操作之前,请确保您的重要数据已经备份,以避免数据丢失。 这个问题应该是英伟达的显卡没办法被mac驱动,而vscode有可能调用了GPU加速处理,才导致了这个吓人的问题。解决方法如下: 编辑 VSCode 配置文件,在某些情况下,您可能希望 VSCode 永久禁用 GPU。这可以通过编辑 VSCode 的配置文件来实现,但需要注意,这种方法并不总是官方支持的,可能会在未来的更新中改变。
  • 在 VSCode 中,打开命令面板(Cmd + Shift + P 在 macOS 上,Ctrl + Shift + P 在 Windows 上)。
  • 输入 Open Settings (JSON) 并选择它来编辑 settings.json 文件。
  • 添加或修改以下设置: "disable-hardware-acceleration": true
  • 保存文件并重启 VSCode。 虽然禁用 GPU 可能会导致性能下降,但是mac是真用不了。

Hugo的部署


之前Hugo一直用的virgo主题,后来把hugo迁移到软云上,但是软云小主机还在维护中,又迁回了vercel,部署在独立服务器上,有如下问题,如何结合github自动脚本进行重新编译上线,第二点,速度和性能如何,这些问题都需要思考,后来还是觉得vercel真的很棒。
然后开始了今晚的折腾之旅,因为目前hugo是采用目标文件托管的方式,这就导致github触发更新后,hugo不会自动更新,还需要手动编译,为此,肯定最好是采用源码托管的方式。
这里有几个坑很深。感谢科技小飞哥的提示,源码托管主要有三个主意的点,第一个是要在环境变量中指定hugo的版本,因为自带的版本很老会报错。第二点,是要检查theme是不是软链接,这也会导致报错。然后需要指定编译命令和输出文件,最后将public添加到gitignore里去。
我踩中的软链接和环境变量的坑,导致我花了很多的时间。小飞哥还出了视频,非常棒了。另外,还遇到了WARN 2021/11/29 14:03:51 found no layout file for "HTML" for kind "page": You should create a template file which matches Hugo Layouts Lookup Rules for this combination.的问题,这就是软链接的提示信息。然后需要设置Hugo版本,当时我把项目删了重新部署,我记得虽然一开始制定了环境变量,但是结果网页变成了xml,后来去环境变量里一看,版本还是没指定,指定完重新编译就正常了。

使用Vercel进行301重定向


要在 Vercel 上设置 301 重定向,您可以通过 Vercel 的配置文件 vercel.json 来实现。
  1. 在您的项目根目录下创建 vercel.json 文件,如果已经存在,请跳过这一步。
  1. 在 vercel.json 文件中添加重定向规则,例如:
    1. 这个配置将把 /old-url 重定向到 /new-url,并返回 301 状态码。注意前面的oldurl输入路径即可。
  1. 将 vercel.json 文件部署到 Vercel

总结


已经很晚了,最后还有一点是关于如何兼容Hugo和NotionNext,我觉得markdown语法还是要学的,因为有些block使用elog转换为md之后还是不完美,不如就在一开始写的时候就用md省心。
 

Comments