本日志后台基于两个开源系统:Sculpin和Typora, 服务基于github、vps和cloudflare
输出: Sculpin
静态日志系统Sculpin
在Sculpin、spress和jigsaw之间,之所以选择Sculpin,是因为Sculpin面向的内容创作着,而后者、尤其是jigswa更多的是面向开发者。而且Themes也不如Sculpin的招我喜欢,所以就Sculpin了。
Theme使用了https://github.com/naxoc/sculpin-blog的风格,原版demo,外加自定义的颜色。因为此风格使用了npm与gulp,这个组合在特定组合下,可能出现问题,解决思路可以参考这里,重点在于删除pure/node_modules这个npm的目录,然后增加一个npm-shrinkwrap.json,再重新npm install既可。
更多的Sculpin使用,参考 moreAboutSculpin
评论系统使用: 基于Python和SQLite的 Isso。
Isso可以异站部署,是Disqus的完美替代。
撰写: Typora
和极佳的markdown撰写系统Typora
系统搭配linxu和windows一起工作,所以sculpin后台运行于linux中,并使用sambar与windows共享HOME,windows上运行的typora便可以直接使用sculpin中的文件,然后利用sculpin生成静态文章。
md文件sculpin要求放在source目录中,而Typora对图片的处理可以单独指定到 ../img/, 请留意"..",这样就单独存放中某个目录了。
而静态文件的输出目录,更加运行环境,output_${env},默认有两个一个是output_dev和output_prod。在这两个静态文件输出目录中,sculpin不会自动将 source/img/ 同步过去,所以直接以连接的形式处理就行。
img目录中的图片文件,如果希望支持CDN的话,还需要单独指定URL,这个可以利用typora的上传功能,做一个伪URL。
typora支持的自定义上传图片程序,简单的一个cmd或者shell就可以支持好从本地的
..\img\image-20210510095914050.png
转换成网址
//s.zysr.me/img/image-20210510095914050.png
前面没有加https或者http,这留给浏览器根据是否是https自动选择。
~~网络发布基于github的page系统完成。因为众所周知的原因,page系统已经不适合了~~
由于cloudflare在中国的边缘节点访问github page依然有困难,一半的边缘节点不可用,git只做版本管理,
版本管理和Page托管
文章中的图片托管使用linode提供的空间。cloudflare后面全都在VPS。
CDN加速
CDN加速使用cloudflare,后端全都在VPS。
发布时,
- 用rsync与ssh同步到linode的VPS中,
- 同时提交git push到github,之所以除了github之外,
- 清理CloudFlare cache
还是要vps,是因为众所周知的原因github的访问未必如愿,而且git管理二进制文件导致git仓库极其臃肿,故使用vps一来解决访问不稳的问题,二来跳过图片文件导致的臃肿不堪的git仓库,git仓库就只负责管理文字文件,轻装上阵,一个commit也不用那么耗时。