博客迁移说明(2023年中秋国庆)
前后两个博客间链接
新博客地址: https://www.carlzeng.top 或者 博客迁移说明(2023年中秋国庆)
旧博客园:https://www.cnblogs.com/backuper/p/17740345.html
当前所处阶段: 新旧两个系统同时并行
博客园的优点很多,比如:SEO,对长时间历史的尊重,文章列表页面有点击量统计,
可评论,对天朝敏感词汇的过滤,合规性等等。
缺点也很多,比如:无法自定义的这些hexo优点的功能,便捷度,无法导出评论。
新的hexo优点很多,具体参加/搜索博客文章(标题:Hello Hexo)
缺点也很多,比如:维护的成本相对耗时
新旧两个系统同时并行自动化方案还没有实现。希望得高人指点
目前方案(平衡效率和耐心度):滞后性地,批量地,
把hexo中编写的新的文章(.md文件)拖放到博客园中
旧博客园的文章仅提供当时拖放(导入)的一个版本,不提供文章的后续版本更新
博客心路历程
写一遍心路历程,发布在两个blog,用于关联,衔接,和背景介绍
不知不觉已经写了15年多的博客文章,养成了随时记录随笔的习惯。我自己都很惊讶!
最早的初衷来源于TotemSuite公司老总的一句倡议:
我们每个人都要养成写个人技术博客的习惯....
(然后都链接到公司的网站上)
我要感谢这位老领导,我还要感谢博客园无偿为我服务了15年多,包容我的任性和随意性
(心情好+想起来+有时间+有内容等等叠加条件之后,
我登录博客园的管理地址,新建一篇随笔文章)
最近我慢慢感觉到时间的力量了,
另外一个事件是:搭建了软路由上的NAS(黑群晖),
然后找回并且合并了我从2004年开始记录拍摄的所有照片(包括数码相机,手机,电脑,监控等等)
借助NAS的应用,在时间轴上,我看到了:变化,感悟,感恩;
下一步我会单独写一篇分享关于个人NAS的文章,跑题太远了。
我会继续写下去,分享我的心路历程,一些人生境遇。
为什么要迁移?
博客园的文章编辑门槛太高了,与个人的编写习惯相悖,而且对于它的思路是相让用户不停的产生新的文章;
而我的习惯和思路是不停完善已有的文章(除非有很大的主题切换,有必要新起一篇文章的情况下)
旧的博客园,导入工具(导入.md文章)仅适用于导入新的文章;相同的标题也会判断为新的文章,这个很不友好。
具体迁移步骤,思路
找了很长时间关于如何把博客园中的写了15年的博客文章都迁移到hexo中来(任务始于Hello-hexo),
今天终于确认了 方案:
- 在博客园后台的 》"备份/导出" 功能
把所有的博客文章都备份并下载XML(RSS),也就是说成了单个.xml的文件(我的300篇文章xml文件大小是4MB多) - 在hexo本地目录运行hexo的命令
- 安装:$ npm install hexo-migrator-rss --save
- 导入本地RSS文章:$ hexo migrate rss
获取了原博客的Meta信息:
日期
内容
格式
丢失了:
图片(链接防盗)
评论
文章点击量
hexo migrate rss 错误及解决方案
ERROR
YAMLException: bad indentation of a mapping entry (1:16)
1 | title: {today} oracle 获取当前日期 netsuite-CarlZeng
--------------------^
2 | date: 2008-10-13 14:43:00
3 | tags:
at generateError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:183:10)
at throwError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:187:9)
....
at flush (/Users/carlzeng/AppTesting/blog/node_modules/asap/raw.js:50:29)
ERROR
YAMLException: unidentified alias "年*月*日" (1:14)
1 | title: *年*月*日 下午*点*分 日期格式的js生成-CarlZeng
------------------^
2 | date: 2008-11-17 10:02:00
3 | tags:
at generateError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:183:10)
....
at /Users/carlzeng/AppTesting/blog/node_modules/bluebird/js/release/nodeback.js:42:21
at /Users/carlzeng/AppTesting/blog/node_modules/nunjucks/src/environment.js:28:5
ERROR
YAMLException: bad indentation of a mapping entry (1:12)
1 | title: [失效]如何使用youtube-dl下载Youtube上面的音视频,油管 ...
----------------^
2 | date: 2022-11-22 01:13:00
3 | tags:
at generateError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:183:10)
at throwError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:187:9)
....
at RawTask.call (/Users/carlzeng/AppTesting/blog/node_modules/asap/asap.js:40:19)
at flush (/Users/carlzeng/AppTesting/blog/node_modules/asap/raw.js:50:29)
ERROR
YAMLException: bad indentation of a mapping entry (1:19)
1 | title: [强大的ffmpeg]如何下载并转化网络M3U8文件为mp4文件-CarlZeng
-----------------------^
2 | date: 2023-01-10 03:15:00
3 | tags:
at generateError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:183:10)
....
at flush (/Users/carlzeng/AppTesting/blog/node_modules/asap/raw.js:50:29)
ERROR
YAMLException: bad indentation of a mapping entry (1:16)
1 | title: [音乐播放器] 给 Listen 1 Chrome 版添加下载功能 版本2.27 ...
--------------------^
2 | date: 2023-02-20 03:39:00
3 | tags:
at generateError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:183:10)
at throwError (/Users/carlzeng/AppTesting/blog/node_modules/js-yaml/lib/loader.js:187:9)
....
at RawTask.call (/Users/carlzeng/AppTesting/blog/node_modules/asap/asap.js:40:19)
at flush (/Users/carlzeng/AppTesting/blog/node_modules/asap/raw.js:50:29)
两个博客间因为原博客标题转文件名后,文件名中的‘非法字符’导致hexo migrate rss [source]中部分文章出错,
解决方法很简单:
- 编辑/修改一下这个.md文件名, 去除那些保留字符
- 重新运行 hexo g 即可校验新的文件名是否符合hexo的命名规则(避坑即可)
下一步计划
最新的hexo变动会统一更新在文章:Hello hexo
声明版权(加强版权保护)
- 本文章著作权归作者所有,任何形式的转载都请注明出处与原始链接。商业转载请联系作者获得授权,非商业转载请注明出处。
- 本博客所有文章除特别声明外,均遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
其他(测试进行中)
- SDN缓存方案
- 在配置文件中配置多个git源的deploy(发布)这样不同地区访问的速度能相对提升
原著笔名: Carl Zeng 《博客迁移说明(2023年中秋国庆)》
本文链接: https://chuanzhuo.github.io/blog/202310021555.html
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!