成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

博客圖片失效?使用npm包20行代碼一次下載/替換所有失效的外鏈圖片

snowell / 3473人閱讀

摘要:前言大約一個(gè)月前,微博的圖片外鏈?zhǔn)Я?,以及掘金因?yàn)楸I鏈問題也于決定開啟防盜鏈,造成的影響是個(gè)人博客網(wǎng)站的引用了這些圖片外鏈都不能顯示。比如前段時(shí)間我的博客上引用的微博圖片都不能顯示了。用新的圖片鏈接替換文件中某個(gè)域名的圖片鏈接。

前言

大約一個(gè)月前,微博的圖片外鏈?zhǔn)Я?,以及掘金因?yàn)楸I鏈問題也于2019/06/06決定開啟防盜鏈,造成的影響是:個(gè)人博客網(wǎng)站的引用了這些圖片外鏈都不能顯示。

目前微博和掘金的屏蔽,在CSDN和segmentfault都是可以正常顯示的,只影響個(gè)人博客

比如前段時(shí)間我的博客:http://obkoro1.com上引用的微博圖片都不能顯示了。

因?yàn)槲覍懖┛捅容^頻繁,被屏蔽的圖片不在少數(shù),肯定不能一個(gè)個(gè)手動的替換,查了一番沒有找到現(xiàn)成的解決方案,做了個(gè)腳本工具,并且寫了文檔把它開源出來了。

markdown-img-down-site-change(下載/替換markdown中的圖片)
搜索目標(biāo)文件夾中的markdown文件,找到目標(biāo)圖片,提供下載圖片,替換圖片鏈接的功能-通常用于markdown 圖片失效。
簡介

這是一個(gè)極為輕量的腳本,引用包,設(shè)置好參數(shù),通過API即可輕松上手。

解決什么問題?

集中下載markdown文件中某個(gè)域名下的圖片到一個(gè)文件夾下。

用新的圖片鏈接替換markdown文件中某個(gè)域名的圖片鏈接。

// 1. 下載這兩個(gè)圖片
// ![](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

更新日志

數(shù)據(jù)安全:

剛上手可能不了解腳本的功能,需要調(diào)試一番,這時(shí)候萬一把markdown文件給改壞了,豈不是要哭死?

腳本有兩種形式來防止這種情況發(fā)生:

腳本會默認(rèn)備份你的文件。

默認(rèn)開啟測試模式,等到調(diào)試的差不多了,可以關(guān)閉測試模式。

建議:再不放心的話,可以先用一兩個(gè)文件來測試一下腳本

使用:20行代碼不到

在項(xiàng)目中有一個(gè)使用栗子,里面加了蠻多注釋和空行的,實(shí)際代碼20行都不到,可以說很簡單了,如下:

// npm i markdown-img-down-site-change -S 
const markdownImageDown = require("markdown-img-down-site-change"); // 文件模塊

// 傳參: 這也是腳本的默認(rèn)參數(shù),根據(jù)情況可以自行修改
let option = {
    replace_image_url: "https://user-gold-cdn.xitu.io/",
    read_markdown_src: "./source", // 要查找markdown文件的文件夾地址
    down_img_src: "./juejin", // 下載圖片到這個(gè)文件夾
    var_number: 3 // url前半部分的變量數(shù)量 比如上面的日期: /2019/5/20/、/2018/6/16/
}

// 初始化
const markdownImage = new markdownImageDown(option)

// 下載外鏈
markdownImage.checkDownImg();

// 上傳下載下來的圖片文件夾到云端 用戶自己操作

// 上傳圖片之后 
// 腳本會把以前的外鏈替換成云端地址+拼接一個(gè)圖片名
markdownImage.updateOption({
    new_image_url: "https://xxx.com/目錄地址/", // 圖片上傳的地址
    add_end: "?raw=true" // github圖片地址有后綴 直接進(jìn)去是倉庫
})

// 替換外鏈 
// 把replace_image_url的字符串換成new_image_url字符串
markdownImage.replaceMarkdown();
運(yùn)行:

仔細(xì)閱讀文本,配置好參數(shù)之后

在項(xiàng)目根節(jié)點(diǎn)新建一個(gè)handleImg.js文件,安裝一下腳本,然后用node運(yùn)行該文件:

npm i markdown-img-down-site-change -S
node handleImg.js
功能/參數(shù)簡介:

checkDownImg(): 下載查找到的圖片

replaceMarkdown(): 替換圖片鏈接為新的圖片鏈接

replace_image_url:要替換的圖片地址

new_image_url:圖片的新地址

test: 測試模式。

var_number: 匹配圖片鏈接的圖片名之前的url,值為變量數(shù)量

is_link: 匹配鏈接。

write_file_time: 間隔多久修改markdown圖片鏈接

read_markdown_src:要查找markdown文件的文件夾地址

down_img_src:下載圖片到這個(gè)地址下

copy_item_data: 備份項(xiàng)目

filter_item: 過濾某些文件夾,不查找markdown。

add_end:在圖片鏈接后面添加后綴添加后綴

歡迎試用

有需要的小伙伴,趕緊來試試吧!文檔寫的很全,上手非常輕松,項(xiàng)目將會持續(xù)維護(hù),有什么問題,歡迎給我提issue~

如果覺得這個(gè)腳本還不錯(cuò)的話,就給項(xiàng)目點(diǎn)個(gè)Star吧!

博客、前端積累文檔、公眾號、wx:OBkoro1、郵箱:[email protected]

以上2019.06.04

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104415.html

相關(guān)文章

  • 解決博客圖片存儲——阿里云的OSS運(yùn)用

    摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因?yàn)槲覀€(gè)人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關(guān)個(gè)人博客SEO優(yōu)化的體驗(yàn)和一些自身體會,但是發(fā)現(xiàn)自己還沒完全...

    Lowky 評論0 收藏0
  • 解決博客圖片存儲——阿里云的OSS運(yùn)用

    摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因?yàn)槲覀€(gè)人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關(guān)個(gè)人博客SEO優(yōu)化的體驗(yàn)和一些自身體會,但是發(fā)現(xiàn)自己還沒完全...

    incredible 評論0 收藏0
  • 圖床失效了?也許你應(yīng)該試試這個(gè)工具

    摘要:但線程過多也許會觸發(fā)圖床的保護(hù)機(jī)制,同時(shí)也和自己電腦配置有關(guān),這個(gè)得結(jié)合實(shí)際情況考慮了。圖床限制這個(gè)是圖片過多一定是大概率出現(xiàn)的,上傳請求的頻次過高很容易被限流封。 showImg(https://segmentfault.com/img/remote/1460000019118030?w=1920&h=1016); 前言 經(jīng)過幾個(gè)小伙伴的提醒,發(fā)現(xiàn)個(gè)人博客中的許多圖片都裂了無法訪問;...

    aristark 評論0 收藏0
  • 輸入U(xiǎn)RL到瀏覽器顯示頁面的過程,搜集各方面資料總結(jié)一下

    摘要:通用頭部這也是開發(fā)人員見過的最多的信息,包括如下請求的服務(wù)器地址請求方式請求的返回狀態(tài)碼,如代表成功請求的遠(yuǎn)程服務(wù)器地址會轉(zhuǎn)為譬如,在跨域拒絕時(shí),可能是為,狀態(tài)碼為等當(dāng)然,實(shí)際上可能的組合有很多。 面試中經(jīng)常會被問到這個(gè)問題吧,唉,我最開始被問到的時(shí)候也就能大概說一些流程。被問得多了,自己就想去找找這個(gè)問題的全面回答,于是乎搜了很多資料和網(wǎng)上的文章,根據(jù)那些文章寫一個(gè)總結(jié)。 寫得不好...

    adie 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<