看到你的想法让我想起了几年前我的想法。哈哈哈。可是也就前几天因为忍受不了一直用 leanote 云笔记,才简单搞了一下。
我说下思路。主要任务就是选择工具和插件。(不到万不得已,不要自己写!!!)
1. 首先选择本地编辑器:
看过无数的 md 编辑器,个人最后选择 vscode 作为编辑器使用。主要是方便的插件开发和已有的插件库,能够完全的让你组合你想要的功能。(基本上可玩性和实现的效果范围大增)
选择一些插件:
编写和预览:一些插件支持快速编写和预览 markdown
图片问题:一些插件自动支持复制到 md 的图片转化为 markdown 图片链接,图片自动放到设置的文件件。
git 自动化问题:一些插件支持 git 自动化,保存自动提交 push
键位问题:一些插件支持 vim 等自己的键位需求
编码模板:一些插件支持一些代码模板之类的东西,支持一些博客系统需要的文件头。
等等
到此, 完美的实现本地编写需求。图片和文档全部原始保存(满足你的需求),各种操作都打磨的非常流畅,编写,预览,图片,自动上传 github 。
2. 之后,就是 github workflow 了。
执行,移动文件夹和修改文件内容的脚本。来适配特殊的静态博客生成器的要求。
执行,压缩一下图片
执行,渲染操作,生成静态文件
执行,仅仅将静态文件推送到 github pages 。可以是本仓库 gh 分支或者另外一个仓库。(另外一个仓库,可以让 md 原始数据和静态数据隔离开,分别设置公开私有)
3. 最后,就是 git pages 自己设置一下。
4. 关于不同机器来回迁移问题
项目文件夹,包含.github .vscode docs img.直接充分的发挥了工作区的作用。任意机器,只要有 vscode,直接 clone 下来。立马所有的环境全部具备。插件环境,配置环境,都添加到工作区。主题,和各种脚本,全部管理起来。包括最终生成 pages 仓库的 CName 。等。做到一个地方,可以修改任意阶段的任何内容。
这个东西可能大多数人都会。简单参考一下吧。(给出了大多数内容,个别需要配置,一些私人配置也没贴出来)
https://github.com/fanlushuai/note-with-vscode-github-hugo