摘要:前言大約一個月前,微博的圖片外鏈失效了,以及掘金因為盜鏈問題也于決定開啟防盜鏈,造成的影響是個人博客網站的引用了這些圖片外鏈都不能顯示。比如前段時間我的博客上引用的微博圖片都不能顯示了。用新的圖片鏈接替換文件中某個域名的圖片鏈接。
前言
大約一個月前,微博的圖片外鏈失效了,以及掘金因為盜鏈問題也于2019/06/06決定開啟防盜鏈,造成的影響是:個人博客網站的引用了這些圖片外鏈都不能顯示。
目前微博和掘金的屏蔽,在CSDN和segmentfault都是可以正常顯示的,只影響個人博客。
比如前段時間我的博客:http://obkoro1.com上引用的微博圖片都不能顯示了。
因為我寫博客比較頻繁,被屏蔽的圖片不在少數,肯定不能一個個手動的替換,查了一番沒有找到現成的解決方案,做了個腳本工具,并且寫了文檔把它開源出來了。
markdown-img-down-site-change(下載/替換markdown中的圖片)搜索目標文件夾中的markdown文件,找到目標圖片,提供下載圖片,替換圖片鏈接的功能-通常用于markdown 圖片失效。簡介
這是一個極為輕量的腳本,引用包,設置好參數,通過API即可輕松上手。
解決什么問題?集中下載markdown文件中某個域名下的圖片到一個文件夾下。
用新的圖片鏈接替換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文件給改壞了,豈不是要哭死?
腳本有兩種形式來防止這種情況發生:
腳本會默認備份你的文件。
默認開啟測試模式,等到調試的差不多了,可以關閉測試模式。
建議:再不放心的話,可以先用一兩個文件來測試一下腳本
使用: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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104415.html
摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因為我個人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關個人博客SEO優化的體驗和一些自身體會,但是發現自己還沒完全...
摘要:接下來講解一下博客中用的圖床阿里云對象存儲,簡稱,雖然目前大家用的比較多的是七牛云之類的,但是因為我個人原因我還是選擇了阿里云,后面我會簡單說明下原因。 showImg(https://segmentfault.com/img/remote/1460000008838754?w=960&h=300); 前言 之前打算寫一篇有關個人博客SEO優化的體驗和一些自身體會,但是發現自己還沒完全...
摘要:但線程過多也許會觸發圖床的保護機制,同時也和自己電腦配置有關,這個得結合實際情況考慮了。圖床限制這個是圖片過多一定是大概率出現的,上傳請求的頻次過高很容易被限流封。 showImg(https://segmentfault.com/img/remote/1460000019118030?w=1920&h=1016); 前言 經過幾個小伙伴的提醒,發現個人博客中的許多圖片都裂了無法訪問;...
摘要:通用頭部這也是開發人員見過的最多的信息,包括如下請求的服務器地址請求方式請求的返回狀態碼,如代表成功請求的遠程服務器地址會轉為譬如,在跨域拒絕時,可能是為,狀態碼為等當然,實際上可能的組合有很多。 面試中經常會被問到這個問題吧,唉,我最開始被問到的時候也就能大概說一些流程。被問得多了,自己就想去找找這個問題的全面回答,于是乎搜了很多資料和網上的文章,根據那些文章寫一個總結。 寫得不好...
閱讀 2742·2021-11-24 10:23
閱讀 1153·2021-11-17 09:33
閱讀 2503·2021-09-28 09:41
閱讀 1409·2021-09-22 15:55
閱讀 3641·2019-08-29 16:32
閱讀 1903·2019-08-29 16:25
閱讀 1056·2019-08-29 11:06
閱讀 3421·2019-08-29 10:55