hexo 文章图床图片本地化

把 markdown 文章中引用腾讯云 COS 中存储的图片改为本地存储,并使用 hexo 发布

一、起因

今天逛论坛发现有一位老哥的用的对象存储,然后被恶意刷流量了,最后也只能自己买单,毕竟流量确实被他用了,后来自己细想了下,确实有被盗刷的可能性,但是这个防盗刷,看了几种防盗刷策略,都感觉不太稳妥,进而又考虑到自己图片并不多,所以也没必要使用图床了,索性直接图片本地存储算了。

二、批量替换 markdown 文章中的图片引用

2.1 替换工具说明

在我准备自己写代码的时候,突然想看看有没有人实现过了,如果有人实现了倒是省了功夫了,结果搜索到一个仓库,已经实现了这个功能;

仓库地址:https://github.com/YellowAndGreen/Md-ImgLocalize

如果单纯替换图片的话,代码拉下来按照使用说明就是可以用的,但是后续使用 hexo 发布文章,还需要规范化生成的图片文件夹名称,以及引用使用 /来分隔,在这个仓库的基础上我修改了代码,可以搭配后续 hexo 发布文章,图片直接生成,无需折腾;

修改后的仓库地址:https://github.com/hczs/Md-ImgLocalize/tree/main

2.2 替换工具使用说明

  1. 拉取代码:git clone https://github.com/hczs/Md-ImgLocalize/tree/main

  2. 安装依赖:pip install aiohttp

  3. 执行:python main.py --md_path=[你的markdown文章所在文件夹] --modify_source

    – modify_source 指的是直接在原markdown文件中修改

操作完后可以自行查看替换效果

三、hexo 配置发布

  1. 修改 hexo_config.yml 文件中的 post_asset_folder 为 true
  2. 安装依赖:npm install hexo-asset-img --save
  3. 本地查看效果:hexo clean && hexo generate && hexo server

本地查看没有问题,就可以发布了;至此弃用图床。