背景:借助 hexo 和 github 搭建了一个自己的博客网站,如何把已有CSDN的博客快速迁移到hexo上,成为了要解决的问题。经过一番资料搜索,github上找到了 这个工具:https://github.com/flytam/blog-sync-tool
下面对过程进行记录:
1、首先创建一个文件夹,名称随意,在文件夹的根目录下创建config.json
- "userId": "xxx", csdn的用户名
- "type": "csdn", 也可以是 juejin、bokeyuan、segmentfault、github 等
"output": "./blog", 输出目录
"cookie": "xxx" csdn的cookie 值很长,通常是uuid开头
userId 用户名:博客的浏览器url中就包含用户名
cookie:打开csdn,在控制台中查看网络请求,请求表头中cookie值
config.json 配置文件搞好后,只需要在根目录打开cmd终端,输入以下命令:
npx csdnsynchexo@latest --config ./config.json
根据readme文档这样操作,遇到报错了: Error: invalid type: csdn, Please check
换了一个版本号试了一下:
npx csdnsynchexo@3.0.4 --config ./config.json
显示如何界面:表示正在把csdn博客转存为md文件
拉取结束之后,可以在本地文件夹根目录看到一个blog文件夹,里面存着所有的csdn的博客,大功告成。
是不是以为真的大功告成了?然后你就会发现, hexo的博客中所有图片都不显示,like this:
在找了一圈之后,没有找到合适的解决方案,于是我决定干苦力,把博客里的图片保存到了本地,然后再hexo的项目中,然后用相对路径的方式引入。也就吐血干了三四个晚上吧…
直到我都干完之后,无意中了解到了这行代码,于是到我的项目中试了一下,别说,还真行
<meta name="referrer" content="no-referrer" />
是csdn的链接地址,但是图片可以显示:
本来一行代码可以搞定的事,哎,再想想我干的蠢事,吃了没有文化的亏啊。反思反思反思,扶我起来继续学
完结