Python做Hexo博客编辑和发布工具

这几天发生了一些意外,我的固态硬盘奇迹般的坏了,上周四倒腾了一天最终还是丢失了很多文件和我之前写的很多工具脚步,后来又忍痛买了一个新的固态盘。这件事让我对文件备份有了新的认识,也是通过这件事我琢磨准备做一个博客自动备份、编辑和发布的工具。

这个是我做的一个雏形,基本上已经能满足我大部分需求了,但是还不足以让大家使用,我慢慢抽时间修改和迭代吧,中间还有一些技术问题现在还未解决。

第一阶段我大致想实现下面几个功能:

  1. 新建文章、草稿。
  2. 文章和草稿相互转换。
  3. 草稿删除。
  4. 调用本机截图应用。
  5. 图片压缩和放到文章对应目录。
  6. 启动和停止本地服务。
  7. 打开浏览器本地预览。
  8. 备份并发布。

这些功能中1,2,3,5,8已经在我自己的系统(deepin)上面实现了。计划第一阶段暂且先基于deepin系统来实现上面的功能。本编文章就是基于该工具来编写的,效率上有了很大提升,特别是文章图片和备份发布。

工具的代码我已提交到Github:https://github.com/lxqxsyu/hexo-tool

如果你的系统也是deepin,可以下载下来试试,配置好config.json和qshell-config就可以使用了,我文章使用了七牛图床

config.json文件是针对你自己的博客目录进行配置的,将config.json文件放在同一目录即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"title" : "博客发布系统",
"blog_dir" : "/home/shuihan/Documents/dp2px.local",
"post_dir" : "/home/shuihan/Documents/dp2px.local/source/_posts",
"drafts_dir" : "/home/shuihan/Documents/dp2px.local/source/_drafts",
"default_image_path" : "/home/shuihan/Desktop",
"img_max_width": 800,
"img_jpg_qulity" : "75%",
"copy_repository" : "/home/shuihan/Documents/dp2px.com",
"qshell_path" : "/home/shuihan/Documents/python/hexo-tool",
"qiniu_ak" : "你的七牛AccessKey",
"qiniu_sk" : "你的七牛SecretKey",
"qiniu_bucket" : "dp2px"
}

工具会将博客复制一份然后在进行特殊处理并提交,所以编辑的那一份和发布的另一份有不同,下面就用编辑和发布分别代表。

字段含义
title工具的标题
blog_dir本地博客(编辑)的根目录
post_dir本地博客(编辑)文章的目录,一般是/source/_posts目录
drafts_dir本地博客(编辑)草稿的目录,一般是/source/_drafts目录
default_image_path默认图片保存目录
img_max_width博客内图片的最大宽度,如果大于会等比缩放(不处理gif图片)
img_jpg_qulity博客内jpg和jpeg图片的质量压缩比例。
copy_repository本地博客(发布)的本目录
qshell_path七牛qshell文件目录(请将工具命名为qshell)
qiniu_ak/qiniu_sk七牛的AK/SK
qiniu_bucket七牛的对象存储名