前景

在GitHub上写博客,自然很早就了解到了Hexo,但它完全基于电脑的工作流程让我当时立刻放弃了它,以及当时在用的Notion的便捷发布,自然让我将Github Pages搁置了下来
而且当时还楞头地想完全自学前端,从零构建博客,导致前端学得不咋地,文章也没写多少
不过后来用上了Obsidian,完全本地加上iCloud同步,稍微折腾了一下,已经变成了完美的文本编辑器

同步

手里一堆设备,各种OS,能在所有设备中无缝同步自然是刚需
说这么多,其实就是在Windows PC上装一个iCloud那么简单罢了,不过Microsoft Store里的iCloud有十分巨大的问题,它在文本增量同步中出现问题,导致Obsidian编辑过程中一直显示文件已在外部被修改,同时产生一堆文件副本碎片
于是翻遍网络,在一个犄角旮旯网站上终于是找到了Win7的iCloud Setup,它文件同步非常完美,可惜的是Edge无法用非商店版本iCloud同步书签但是Chrome可以

连接

众所周知,Hexo将/Sources中的Markdown文件转换为/public中的HTML文件,既然知道这个原理,那我们就完全可以绕过Hexo的种种命令,只是单纯的把它当成一个转译的工具我确实就是这么希望的.
那么一切就好办了,通过软链接mklink连接/iCloud/Obsidain/Blog <==> /Sources/public <==> blog@git,于是Obsidian保存在iCloud上的文件会自动同步进Hexo,转译后再自动同步到Github仓库,想要部署就直接git同步一下就ok了
当然可以直接写个小脚本再完善一下流程,不过我还没搞

写作

在Hexo中,通过Hexo new来生成文件开始写作,或是Hexo draft来新建草稿
在现在的方案中,直接在Obsidian中新建即可开始写作,我又新建了/draft用于存放草稿,并在config.yml中忽略了当前层级所有文件夹的监控,例如添加了_posts/draft/**所以其它目录的文件并不会被转译发布,因此未写完的草稿或是不方便发布的文件也可以安全地放在这个仓库中
此外,要让Hexo能正确识别文章信息,需要给md文件添加属性,解决办法就是让Obsidian新建文件时自动套用模板,我设置的Hexo属性模板如下

1
2
3
4
5
6
7
8
9
---
title: {{title}}
date: {{date}} {{time}}
updated:
categories:
description:
cover:
tags:
---

自动填充和手动填写以上属性就能让博客文章有正确的分类和美观的图片,当然categoriestags这些要在hexo里新建相应界面.coverdescription的属性要在/theme/.../config.yml自己调整.updated用的是obsidian里插件的补充填写
btw,Notion遗留的习惯,unsplash的封面图都非常好看!

To Be Continued

感觉还有优化的空间,以后想到补充吧
笑死😆发现一个小bug,电脑上因为代码需求,所有输入法都是半角字符,其它设备中文输入法是默认的全角字符改不了,到时候一看标点符号就知道在什么设备上码的字:)以及手机上忍不住会用点emoji😇