背景与需求分析
感觉博客文章发在github的话,可以减少维护成本,有天然的评论与账号系统,而且图片与代码也可以很方便的托管,本来写的blog大部分也就是自己的总结和思考,写在哪都是一样的。
所以才有了现在想要迁移到github的想法,但是一个一个迁移就有点太不hack了…基本思路:
- 扫描本地的文章目录,人工过一遍筛选一些不想要搬运的文章
- 对这些文章进行遍历操作
- 读取markdown内容
- 解析是否有本地的图片链接
- 如果有,读取本地图片上传到Github获取图片链接并做替换处理
- 将当前的文章调用
创建issues
接口完成创建 - 把返回的的issues序号拼接成链接,写在 README 里做目录导航
本地文章目录扫描
直接用 glob 对目录下的 ‘.md’ 文件进行扫描,扫描之后用 front-matter 分别对每个文件进行解析,获取文件的标题、分类、时间等信息。
后续也会用到这个工具来解析 tag(label) 等信息。
然后利用 categories 进行过滤,只筛选出 technology 这一类,再对文章时间降序排序,最后人工筛一遍一些不想要搬运的文章。
markdown 内容解析
需要处理的操作包括:
- 解析文档的tag,进行归类,后面方便issues打 label
- 解析文中的图片路径
- 如果是本地路径则需要获取改图片进行上传操作,上传到repo对应的地址
- 上传返回的路径进行文中图片路劲替换
- 将文章内容及 label 等组合再对调用创建issues的接口