我的第一篇博客
这是我在这个平台上的第一篇文章
前两天看到 涛叔大佬的博客,才感到以前在wordpress玩的费劲。于是决定寻找一种能够在本地写作,推送发布的方案。经过询问Gemini,给出了**Hugo + Vercel 部署方案:
第一步:本地创建 Hugo 项目
如果你本地还没有 Hugo 环境,建议先安装 Hugo 扩展版(Extended version,支持处理 Sass/SCSS)。
1 | # 1. 创建新站点 |
第二步:写下第一篇文章
1 | hugo new posts/hello-world.md |
打开该文件,把 draft: true 改为 draft: false,否则部署后看不到文章。
第三步:关键配置(解决 Vercel 兼容性)
为了避免 Vercel 使用过旧的 Hugo 版本导致构建失败,在项目根目录新建一个 vercel.json 文件:
1 | { |
提示:
0.140.0是 2024 年末比较稳定的版本,你可以根据 Hugo 官网最新版本进行调整。
第四步:推送到 GitHub
在 GitHub 上新建一个仓库,然后执行:
1 | git add . |
第五步:在 Vercel 中部署
登录 Vercel,点击 Add New -> Project。
导入刚才创建的 GitHub 仓库。
重要设置: Vercel 会自动识别出是 Hugo 项目,请确保 Framework Preset 显示为 Hugo。
点击 Deploy。
当部署完成后,只需要在本地项目文件中运行:
1 | hugo new /posts/我的博客.md |
然后使用markdown编辑器编辑我的博客.md 编辑完成后,在本地运行:
1 | hugo server -D |
在http://localhost:1313/预览无误后。修改文章头部 draft = false
推送到github仓库即可:
1 | git add . |
推送后,vercel端会进行自动编译部署。访问vercel上的域名就可以访问啦!
修改后直接push 发布若有有问题。解决方法:
1. 先把远程的代码“拉”下来合并
在你的终端执行:
Bash
1 | git pull origin main --rebase |
--rebase的作用: 它会把你本地还没提交上去的修改“暂存”起来,先把远程的文件拉下来,再把你本地的修改接在后面。这样提交历史会非常干净。
2. 再次推送
如果上面的命令执行成功了,直接执行:
Bash
1 | git push origin main |
💡 如果执行 git pull 报错:refusing to merge unrelated histories
如果你本地的项目和 GitHub 上的项目是完全独立创建的,可能会报这个错。这时需要执行这个“强制合并”命令:
Bash
1 | git pull origin main --allow-unrelated-histories |
执行完后,可能会弹出一个黑色的命令行编辑器(Vim)让你输入合并说明:
按键盘上的
i键进入输入模式。输入一行字,比如
merge。按
Esc键,然后输入:wq并回车。
完成后,再次执行 git push origin main 即可成功。