大约一个月前,微博的图片外链失效了,以及掘金由于盗链问题也于2019/06/06
决定开启防盗链,形成的影响是:我的博客网站的引用了这些图片外链都不能显示。前端
目前微博和掘金的屏蔽,在CSDN和segmentfault都是能够正常显示的,只影响我的博客。node
好比前段时间个人博客:obkoro1.com上引用的微博图片都不能显示了。git
由于我写博客比较频繁,被屏蔽的图片不在少数,确定不能一个个手动的替换,查了一番没有找到现成的解决方案,作了个脚本工具,而且写了文档把它开源出来了。github
搜索目标文件夹中的markdown文件,找到目标图片,提供下载图片,替换图片连接的功能-一般用于markdown 图片失效。web
这是一个极为轻量的脚本,引用包,设置好参数,经过API便可轻松上手。npm
// 1. 下载这两个图片
// 
// 
// 2. 替换成:github的连接


复制代码
npm i markdown-img-down-site-change -S
复制代码
Githubsegmentfault
API安全
更新日志markdown
刚上手可能不了解脚本的功能,须要调试一番,这时候万一把markdown
文件给改坏了,岂不是要哭死?工具
脚本有两种形式来防止这种状况发生:
在项目中有一个使用栗子,里面加了蛮多注释和空行的,实际代码20行都不到,能够说很简单了,以下:
// npm i markdown-img-down-site-change -S
const markdownImageDown = require('markdown-img-down-site-change'); // 文件模块
// 传参: 这也是脚本的默认参数,根据状况能够自行修改
let option = {
replace_image_url: 'https://user-gold-cdn.xitu.io/',
read_markdown_src: './source', // 要查找markdown文件的文件夹地址
down_img_src: './juejin', // 下载图片到这个文件夹
var_number: 3 // url前半部分的变量数量 好比上面的日期: /2019/5/20/、/2018/6/16/
}
// 初始化
const markdownImage = new markdownImageDown(option)
// 下载外链
markdownImage.checkDownImg();
// 上传下载下来的图片文件夹到云端 用户本身操做
// 上传图片以后
// 脚本会把之前的外链替换成云端地址+拼接一个图片名
markdownImage.updateOption({
new_image_url: 'https://xxx.com/目录地址/', // 图片上传的地址
add_end: '?raw=true' // github图片地址有后缀 直接进去是仓库
})
// 替换外链
// 把replace_image_url的字符串换成new_image_url字符串
markdownImage.replaceMarkdown();
复制代码
仔细阅读文本,配置好参数以后
在项目根节点新建一个handleImg.js
文件,安装一下脚本,而后用node
运行该文件:
npm i markdown-img-down-site-change -S
node handleImg.js
复制代码
有须要的小伙伴,赶忙来试试吧!文档写的很全,上手很是轻松,项目将会持续维护,有什么问题,欢迎给我提issue~
若是以为这个脚本还不错的话,就给项目点个Star吧!
前端进阶积累、公众号、wx:OBkoro一、邮箱:obkoro1@foxmail.com
以上2019.06.04