Bug (各种问题与解决方案)
在搭建个人网站的时候使用了如下技术:
-
Git (版本控制)
-
Github (代码托管)
-
Hugo (个人网站框架)
-
Vercel (个人网站托管)
同时也遇到了一系列的问题,这里统一记录一下这些坑方便以后快速检索。
Problems
-
在本机运行hugo server生成的网页一切正常,但是vercel部署的网页会出现资源(图片,代码)无法加载的问题,进而无法正常显示网页。
可能的解决方案:将themes文件夹直接提交到GitHub而不是仅仅提交一个链接。
最终解决:设置hugo.toml的baseURL为vercel分配的域名。
问题原因:baseURL未正确设置导致public里的资源路径无法加载,从而导致资源丢失,网页无法正常显示。
-
hugo.toml里的favicon与avatar只能使用相对路径不能直接引用互联网上的图片。
问题:怎样优雅地将avatar与favicon改为自己设置的图片?
解决方案:在hugo.toml同级目录下创建static/images文件夹,里面可以存放需要的图片。注意:使用的时候,图片的路径需要写成/images/图片名。
-
使用git submodule add下载仓库后,应该将仓库中的.git文件删除来忽视新下载仓库的内容变化。
Tips
- 修改主题avatar时添加新图片时请避免命名冲突,因为static/images不会直接覆盖主题文件夹里的static/images,相反后者的优先级更高。所以:我们应该命名新图片一个全新的名字。
Git
在中国🇨🇳使用Github会面临中国特色互联网墙的问题,无法正常使用Clone、Push、Pull、Submodule等功能。
这时我们可以购买一个VPN然后修改git配置来解决这些问题。
开启git代理执行以下命令:
# 设置http代理为本机7890端口
git config --global http.proxy 127.0.0.1:7890
# 设置https代理为本机7890端口
git config --global https.proxy 127.0.0.1:7890
取消git代理执行以下命令:
# 取消http代理
git config --global --unset http.proxy
# 取消https代理
git config --global --unset https.proxy
macOS
对于Mac用户在中国🇨🇳使用homebrew等包管理器同样会面临中国特色互联网墙的问题,无法以正常速度下载或更新包,甚至经常在下载过程中与包管理器断开连接。
这时我们可以购买一个VPN然后设置环境变量来解决这些问题。
# 设置ALL_PROXY环境变量
export ALL_PROXY=127.0.0.1:7890
注意:export设置的环境变量只在当前终端会话临时存在。