1. 程式人生 > 實用技巧 >picgo+GitHub+ jsDelivr搭建CDN加速免費圖床

picgo+GitHub+ jsDelivr搭建CDN加速免費圖床

前言

經常寫Markdown或者部落格的同學,肯定都要用到圖床。圖床是什麼呢?其實相當於一個儲存圖片的網站,類似百度雲這樣,不過上傳圖片到圖床後可以直接通過外鏈進行訪問。

比如把本地一張a.jpg上傳到圖床後,便可以拿到一個連結https://www.xxx.com/img/a.jpg,然後點選這個連結就可以訪問圖片a了。今天來聊聊怎麼搭建可靠的圖床吧~

為什麼會產生這個需求呢?因為小編經常寫博文什麼的,現在的做法是在簡書上上傳圖片,然後把生成的圖片連結放到Markdown文件上面,寫好文件以後就可以批量複製到各大部落格平臺投稿了。但是這樣有個隱患:萬一簡書哪天掛掉了,那麼我放到csdn、cnbolgs等這些平臺的文章圖片都會掛掉。即使簡書一直維持現狀,但萬一哪天它不高興了,做了個外鏈防盜(圖片外鏈只能在本站顯示),那同樣會遇到上面的問題。

比如小編之前放在簡書上的文章,複製到csdn上後。不知道怎麼回事:

說多了都是淚。因此,趁早做好準備,免得以後出現問題就麻煩了。畢竟有些部落格的圖片只是隨手一截,還真找不到備份……

前期準備

平臺選擇

現在也有蠻多的圖床平臺可以選擇,常見的有SM.MS圖床、騰訊雲COS、微博圖床、GitHub圖床、七牛圖床、Imgur圖床、阿里雲OSS、又拍雲圖床等。而這裡邊,SM.MS和Imgur有免費版也有收費版,騰訊雲、七牛、阿里雲、又拍雲都是收費的,微博圖床據說已經掛了。其他小站的就不推薦了,因為指不定哪天就掛了。

那麼,也就剩下GitHub安全、免費又可靠了(微軟爸爸護著呢!)。現在微軟接管了GitHub以後,貌似公有倉庫已經不限個數了,而且單個倉庫容量已經放寬至2GB。這絕對夠用了,不夠就再建一個共有倉唄。最重要的還是免費,配合CDN加速,訪問也不成問題。嗯,就微軟爸爸了!

工具選擇

選擇一個本地的上傳工具是為了方便我們快速上傳圖片,獲得圖片外鏈。這裡首選picgo。

介紹和下載地址:https://github.com/Molunerfinn/PicGo

這款小工具非常強大,其中最讚的就是那個剪下板圖片上傳功能,在QQ或者微信截圖截好圖片後,可以點選剪下板圖片上傳或者通過快捷鍵,它就會把當前剪下板中的圖片上傳到配置到圖床中。可以看到上傳所有圖片,點選即可複製需要的圖片外鏈格式:

配置

準備完畢就可以著手配置了。先去GitHub,沒有賬號的先註冊一個賬號。

GitHub配置

1. 建立Repository

滑鼠移動到右上角,點選"New repository"按鈕:

填寫相關資訊,建立一個儲存圖片的倉庫:

2. 配置token key
生成一個Token用於操作GitHub repository。回到主頁,點選"Settings"按鈕:

進入頁面後,點選"Developer settings"按鈕

點選"Personal access tokens"按鈕,然後點選Generate token:

填寫描述,選擇"repo"許可權,然後拉到下面點選"Generate token"按鈕


注意:建立成功後,會生成一串token,這串token之後不會再顯示,所以第一次看到的時候,可以用個小本本儲存起來哦,忘記了只有重新生成,每次都不一樣。

Picgo配置

拿到了剛剛記錄了GitHub token後,開啟picgo,按照如下設定即可:

設定倉庫名按照“賬戶名/倉庫名的格式填寫”,比如我的是:dengfaheng/image01。

分支名統一填寫“master”。

設定Token將之前的Token貼上在這裡。

指定儲存路徑留空。

自定義域名的作用是在上傳圖片後成功後,PicGo會將“自定義域名+上傳的圖片名”生成的訪問連結,放到剪下板上。預設留空也可以正常使用。這裡為了使用CDN加快圖片的訪問速度,自定義域名我們按照這樣去填寫:

https://cdn.jsdelivr.net/gh/GitHub使用者名稱/倉庫名

比如我的是:

https://cdn.jsdelivr.net/gh/dengfaheng/image01

點選確定後就配置完成了,我們截圖後點擊剪下板圖片上傳,如果上傳成功,拿到的外鏈放到Markdown中正常訪問,就OK啦。

當然快捷上傳的快捷鍵也可以到設定中進行配置。可以看到GitHub倉庫中多了很多我們上傳的圖片。

也可以在picgo中對上傳的圖片進行相關操作,不過這裡的刪除只是刪除picgo中的圖片而言,GitHub上的不會刪除哦。

至於如何刪除GitHub上的圖片,emmm……那說來就話長了。。就不說了。大家還是不要刪了,空間不夠了再開個倉庫即可。