网站搭建历程
ChenGou
实现功能
半自动化使用脚本一键发布, 同时隔离内容与网站区. 具体功能细节:
- 自动读取笔记头文件参数
- 自动读取内容区笔记组织结构并且在网站区设定相应结构
- 自动同步 github 仓库并触发工作流同步更新网页
时间投入
较高, 花费约 7 小时, 主要在解决各种莫名其妙的 bug, 包括但不限于:
- Obsidian的头文件格式混合了yaml和toml, hugo无法识别(让我的文章404not found)
- 一些头文件字段不可用, 尤其是"auto headings", hugo不能接受空格
- ananke切换尝试book时主题没有安全干净的删除, 于是使用脚本重置git环境
- github workflow里的分支改为gh_pages, 而且修改输出的工作目录
- py脚本逻辑错误, 清空132份笔记文件尝试恢复(还好使用obsidian的git插件)
- Obsidian创建笔记文件时设定的时间格式不统一, 秒采取百进制 以上的大多数问题对于 Obsidian 而言是可行的且不可见的, 给问题的定位造成了很大的麻烦, 这种简单细致的设定问题 AI 也无法给出解决方案只会重复通用的解决思路. 所以建议在打通工作流的开发阶段避免完全使用 Obsidian 进行文本编辑, 正确做法是使用 VSCode 仔细检查文本内容—-开发工作就是要细致准确呀.
感受
有点像大玩具, 但是目前看下来还是有意思的, 如果能做的更高效就好了. 指的是目前的自动化脚本过多, 功能过于分散, 下一步行动:
- 合并python脚本功能, 加入触发逻辑实现真正自动化
- 更新网站页面, 增加屏幕自适应特性以适配移动端阅读体液
- 更加合理的组织网站内容
技术栈
Hugo + GithubPages + obsidian + (半自动化py脚本) 就算是新手没遇见无趣无聊的 bug, 2 小时也可以搭建好的, 具体教程可询问 AI.
主要过程:
- 创建个人网站的github仓库, settings里面打开github pages
- 本地安装 hugo 并创建网站, 选择主题, 配置内容
- 使用github action构建网页自动部署工作流
- 根据个人需求使用python完成自动化同步等功能. (本人觉得根据源文件夹内容同步到目标文件夹然后再执行同步流程是更好地实践.)
python + yml 文件均可见于个人网站对应的github仓库 如果不理解脚本的作用, 为什么不问问 AI 呢? : )