博客图片失效?运用npm包20行代码一次下载/替代一切失效的外链图片

《博客图片失效?运用npm包20行代码一次下载/替代一切失效的外链图片》

媒介

约莫一个月前,微博的图片外链失效了,以及掘金由于盗链题目也于2019/06/06决议开启防盗链,形成的影响是:个人博客网站的援用了这些图片外链都不能显现

现在微博和掘金的屏障,在CSDN和segmentfault都是能够一般显现的,只影响个人博客

比方前段时间我的博客:http://obkoro1.com上援用的微博图片都不能显现了。

由于我写博客比较频仍,被屏障的图片不在少数,一定不能一个个手动的替代,查了一番没有找到现成的处理方案,做了个剧本东西,而且写了文档把它开源出来了。

markdown-img-down-site-change(下载/替代markdown中的图片)

搜刮目的文件夹中的markdown文件,找到目的图片,供应下载图片,替代图片链接的功用-一般用于markdown 图片失效。

简介

这是一个极为轻量的剧本,援用包,设置好参数,经由过程API即可轻松上手。

处理什么题目?

  1. 集合下载markdown文件中某个域名下的图片到一个文件夹下。
  2. 用新的图片链接替代markdown文件中某个域名的图片链接。
// 1. 下载这两个图片
// ![](https://user-gold-cdn.xitu.io/2019/5/20/图片名字?w=2024&h=1240&f=png&s=339262)
// ![](https://user-gold-cdn.xitu.io/2018/6/16/图片名字)
// 2. 替代成:github的链接
![](https://raw.githubusercontent.com/OBKoro1/articleImg_src/master/juejin/图片名字?w=2024&h=1240&f=png&s=339262)
![](https://raw.githubusercontent.com/OBKoro1/articleImg_src/master/juejin/图片名字)

装置:

npm i markdown-img-down-site-change -S

文档:

Github

API

更新日记

数据平安:

刚上手可能不相识剧本的功用,须要调试一番,这时候万一把markdown文件给改坏了,岂不是要哭死?

剧本有两种情势来防备这类状况发作:

  1. 剧本会默许备份你的文件。
  2. 默许开启测试形式,比及调试的差不多了,能够封闭测试形式。
  3. 发起:再不宁神的话,能够先用一两个文件来测试一下剧本

运用:20行代码不到

在项目中有一个运用栗子,内里加了蛮多解释和空行的,现实代码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

功用/参数简介:

  • checkDownImg(): 下载查找到的图片
  • replaceMarkdown(): 替代图片链接为新的图片链接
  • replace_image_url:要替代的图片地点
  • new_image_url:图片的新地点
  • test: 测试形式。
  • var_number: 婚配图片链接的图片名之前的url,值为变量数目
  • is_link: 婚配链接。
  • write_file_time: 距离多久修正markdown图片链接
  • read_markdown_src:要查找markdown文件的文件夹地点
  • down_img_src:下载图片到这个地点下
  • copy_item_data: 备份项目
  • filter_item: 过滤某些文件夹,不查找markdown。
  • add_end:在图片链接背面增加后缀增加后缀

迎接试用

有须要的小伙伴,赶忙来尝尝吧!文档写的很全,上手异常轻松,项目将会延续保护,有什么题目,迎接给我提issue~

假如以为这个剧本还不错的话,就给项目点个Star吧!

博客前端积聚文档民众号、wx:OBkoro1、邮箱:obkoro1@foxmail.com

以上2019.06.04

    原文作者:OBKoro1
    原文地址: https://segmentfault.com/a/1190000019393701
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞