Github-action-Integrate-External-chain-conversion

本文最后更新于:2023年6月19日 晚上

这是一次耗时 6 个小时,尝试了 99+次的成果。

外链转换

对于防盗链功能开启的图片链接,在非可信域下是无法加载的。
一个简单的临时解决方案是在 post.pug 模板文件中添加 no-referrence 标签,但这会导致文章阅读量出现显示问题。

我不知道为啥会出现这种 bug

作为一个完美主义者我怎么能忍呢是不是。我在项目作者的 issue 下留了言,他说暂时没有考虑,可以我们在 adapter 层做拓展。我看了一下 js 代码,发现我并不会写啊啊啊啊。然后就萌生了用 python 作为外链转换脚本语言,并放弃了向原作者 pull 的想法。
我原先在本地已经写好了一个外链转换的脚本,是对于特定文件夹和其他外链转换成我个人又拍云的外链的脚本。我一开始心想这还不简单,直接把脚本中的保存路径改一下,然后改一下正则匹配不就 ok 了吗。但事实狠狠的打脸。

踩坑

  1. python2 不支持 urllib?雾
    1. 替换成 urllib3 并使用 urllib3.PoolManager 创建连接池,进行外链下载
  2. python3.7 不支持 upyun?雾
    1. 真的坑,由于不能选择 python 版本,导致很多奇奇怪怪的 bug
  3. linux 下中文是乱码的(或者是 ascii 编码,无法用 os.open 中的 encoding 转换成 utf8,而且无法读取中文文件名)

    可能是我姿势不对?

a. 解决方法
使用英文命名该文件,并使用英文作为文章题目。
内部读取文件使用 io.open 并进行编码转换

  1. 去除外链锚点#符号