本文已参与「新人创作礼」活动,一起开启掘金创作之路。
引子
做赏金程序员已经有一年时间了,在一个个赏金任务的督促下,对大学所学的信号与系统、数字信号处理、电路分析等学科有了更深的理解,对图像处理的水平也得到了进一步的磨砺。
回顾这一年,我逐渐发现了知识整理的重要性,常见的Matlab函数,重要的图像处理方法,退火、蚁群、遗传算法,这些都是在赏金任务中高频出现的热点。由于刚入行时不熟悉知识点的积累,往往面对相同的问题,需要反复查找相同的资料,浪费了许多时间。半年前接触的Markdown。这才发现之前没有养成开发记笔记的习惯,主要是因为使用Word时,往往注意力都放在了文档的格式上面,反而忽视了写作与记录本身。
方案选择
Markdown最大的不足就是无法内嵌图片,常见的解决方案是Github+jsDelivr CDN加速访问。试用了一段时间后发现了一下问题:
- 上传图片后的短暂时间(1小时-2天)内,jsDelivr不缓存图片,在无法打开Github网站的环境会导致图片失效。
- 每次上传图片都会产生提交记录,且删除上传的图片不方便,故对强迫症不友好。
- 使用该方法违背了Github和jsDelivr的初衷,最终有重蹈Gitee覆辙的可能。
不使用Github的解决方案有两个:
- 阿里云对象存储oss 存储成本9元(40G空间1年)流量费用另计
- 群晖自建图床
最终还是决定使用群晖,理由是
- 已有公网IP和DDNS服务,上行速率30M,搭建图床的同时也可以当私有云使用,给客户分享文件更方便,可以释放笔记本存储空间。
- 数据存储在本地,且可以与百度网盘定期同步,费用可控。
- 固态硬盘读取损耗几乎可以忽略。
搭建过程
- 创建文件夹 /www/pictureBed
-
安装并配置web station
在网络服务门户新增一个虚拟主机。
虚拟主机的配置如下,端口自行拟定,这里写5541,只开发https访问。
-
配置FTP服务,图片上传需要用到。
建议使用默认的FTP服务端口21,否则局域网内可能触发被动FTP端口访问,导致无法链接服务器,同时建议如果启动SFTP一定要更改默认的端口号,否则会有安全问题。
同样的,为了避免安全问题,可以在高级设置中修改根目录至www文件夹,并创建权限受限的用户,同时配置强密码。
-
现在,尝试使用用户wwwUser和FTP服务,上传一张me.png图片至/www/pictureBed/me.png,如果配置正确,访问以下链接即可看到这张图片。
https://******.***:5541/me.png
“******.***”为你的域名
-
配置Picgo和Typora。
- 下载Picgo和ftp-uploader插件。
- 下载Picgo和ftp-uploader插件。
-
编写配置文件config.json,放到你认为合适的目录,推荐 ~/.picgo/config.json。
{ "pictureBed": { "url": "https://******.***:5541/", "path": "/{year}/{month}/{day}_{fullName}", "uploadPath": "/pictureBed/{year}/{month}/{day}_{fullName}", "host": "******.***", "port": 21, "username": "wwwUser", "password": "@@@@@@@@@@@" } }******.***为你的域名 @@@@@@@@@@@为你的wwwUser用户的密码 -
填写FTP上传设置,配置文件路径推荐 /Users/######/.picgo/config.json,######为你的用户名。
-
配置Typora。
-
完成,通过点击验证图片上传选项测试上传。
经测试,掘金/CSDN对直接复制Markdown源码转码正常。