前言
俗话说,好记性不如烂笔头,要想成为一名好的程序员,时刻记录自己遇到的问题和解决方案才能让自己不断成长,所以为了成为一名优秀
的程序员,我习惯用Markdown
这种语法来记录自己的所见所得。下面就简单介绍一下Markdown
。
Markdown
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,它的格式简单易学,可以轻易排版出一篇好的笔记。
问题的抛出
在笔记中我经常加入一些配图,用来理解一些概念很有帮助,此时问题便出现了:
- 图片存放在哪里?
- 图片的时效性问题怎么保证?
- 图片的加载速度如何保证?
因为在Markdown
笔记中引用图片是用url来进行引用的,每次所引用的图片大多数来自于互联网,源图地址大多数都有防盗链,无法永久的引用到笔记当中,时间不长,就会出现以下情景:
为了避免这种尴尬的情况,又想获得很快的加载速度,之前有一个很好地解决方案,那就是新浪图床,之前新浪大大免费给予图片的外链和永久无限空间的图床,真是优惠了一波又一波的人,可是总有那么些垃圾人去滥用,导致在去年3月份,新浪大大彻底关闭了公众免费图床,导致许多博客博主图片变成404,也包括我,我的博客当时全部把图重新换了一遍,费了老大劲,将图片转移到了自己的云服务器上,但是这样解决问题不代表长久解决问题:
- 云服务器空间有限,譬如阿里云、腾讯云学生机,40G内存,但是只能续费3年
- 国外云服务器譬如搬瓦工,20G内存,小的可怜,而且高峰时间点必炸,无法保证速度(手动狗头,懂的自然懂)
如果拥有自己的图床(无限空间、访问速度快、安全)该多好?
之前这样的想法简直就是在想pitch,哪有地方让你这么白嫖?
但是现在呢,我发现了一个一站式个人图床解决方案,那就是Github(无限空间) jsDelivr(免费CDN加持) PicGo(调用Github API),这样完美解决了当前的燃眉之急。
Github
Github作为每个程序员基本功,在这里我就不多作赘述,自从Github被微软收购之后,公众很是担心微软会把Github原有的精神给污染掉,但这样的担心却是多余的,微软接手Github之后宣布个人仓库永久无限免费空间,白嫖党们瞬间沸腾了~~(手动狗头)
jsDelivr
jsDelivr是一家打通国内与国外的cdn供应商,它向公众开放了免费的Github CDN加持,只需要将自己文件的外链前缀改成他们的服务器即可。
PicGo
之前想着自己用代码实现Github API的上传功能,但我还是想多了,逛了一圈Github果然有先辈将功能完整实现并开发出了一整套产品,那就是PicGo,一键式图床管理,项目地址:https://github.com/Molunerfinn/PicGo,这款软件可以实现下列图床的管理,并且支持网络代理、支持开启本地api server等等一系列强大的功能,有兴趣的小伙伴可以自行去项目页面进行研究,这里不多作赘述。
搭建流程
创建Github仓库
前往Github主页,登陆账户,点击新建仓库按钮:
在新建仓库页面,选择公有库public,如果选成私有库你的图片是显示不出来的,输入完库的名称和描述之后点击创建,这里请记录一下你的owner和你的Respository name,后面要用到:
新建Github token
点击Github页面右上角你的头像,选择settings
进入settings页面,选择Developer settings
进入Developer settings,选择Personal access token
然后输入Note,Note是用来标记这个token是干嘛用的,可以自己定义,再勾选token所具有的权限,就勾选图上的就可以
之后你就会获得一串token,记住:token只显示一次,显示了请务必保存下来
配置PicGo
在https://github.com/Molunerfinn/PicGo/releases页面下载最新版本的PicGo,安装到自己电脑上,然后打开:
选择Github图床,按照图里面的配置:
仓库名就是你上面在创建Github仓库时候的用户名/仓库名
分支名填master
Token填你刚才生成的token
存储路径如果没有其他需求的话可以按照我图的填
自定义域名需要填https://cdn.jsdelivr.net/gh/用户名/仓库名