前言
大約一個月前,微博的圖片外鏈失效了,以及掘金因爲盜鏈問題也於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
文檔:
數據安全:
剛上手可能不瞭解腳本的功能,需要調試一番,這時候萬一把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、郵箱:[email protected]
以上2019.06.04