百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

PyPoster, 轻量级的博客发布小工具

moboyou 2025-07-24 23:04 4 浏览

引言

PyPoster是一个采用 Python 3.5 编写的博客离线发布小工具,GUI 采用tkinter框架构建。理论上,可以在安装了 Python 运行环境的多种平台下使用它。PyPoster目前还只是一个简单的原型,暂时只支持 Wordpress 博客的 XML-RPC 接口。项目地址:
https://github.com/chrisleegit/pyposter。

为什么会有 PyPoster

以前在 Windows 平台下,会经常使用 WizNote 写东西,然后使用 WizNote 的博客发布功能进行发布。但是切换到 Ubuntu 或者 Mac OS 后,就只能使用 WizNote 的开源版本了,可惜那个版本没有 Windows 平台那么强大,所以也没有博客发布工具。所以就一直希望能有这么一款小工具,可以协助发布离线编写的文章。一开始是想找找有没有别人写的类似的小工具,但是并没有发现。由于平时主要使用 Ubuntu 系统,所以想找到一款可以在这个平台上运行又符合需求的小工具着实不易。于是 PyPoster就诞生了。

已实现的功能

Note: 由于目前只是 Prototype,所以暂时只支持少量用到的功能。

  • 提供命令行交互模式和 GUI 模式(当然推荐后者啦);
  • 服务器信息自动保存,密码采用 PyCrypto模块中提供的加密算法进行加密后再存储;
  • 博客发布功能(没有像 WizNote 那样可将 Markdown 文档选渲染后再发布的功能,主要是想用网站自定义的 Markdown 主题):新建博客或自动编辑博客;
  • 可以自动上传博客中引用的本地图片文件(需要位于博客文档的目录下的子目录 images中);
  • 博客发布成功后,会保存必要的信息,为后期编辑或防止重复上传图片等提供判断依据(目前功能还比较简单)。

简要工作流程

安装 & 运行

Note:待功能稳定后,可能会发布打包好的版本,这样使用会更加方便。以下是在 Ubuntu 16.04 下测试安装的步骤,其他系统类似。

  • 请 下载最新的 pyposter 项目代码;
  • 确保系统安装好 Python 3 运行环境;
  • 解压 pyposter 源码包,并安装其中的 requirements.txt中列出的依赖库:pip3 install -r requirements.txt
  • 进入 src目录,运行 PyPoster:
    • python3 pyposter.py:进入 PyPoster 命令行交互模式;
    • python3 pyposter_gui.py:打开带有图形界面的 PyPoster。

使用流程

创建一个目录,专门用于放置离线博客文档(Markdown 格式)和相应的图片文件(images目录)。 使用你喜欢的编辑器创建并编辑你的博客文档(我喜欢使用 gedit 写 Markdown 博客);如果期间需要插入图片,只需要将图片存放在与博客文档同目录下的images子目录,并在博客中引用图片即可(博客发布后会自动将图片地址替换成实际的 URL)。

当你完成博客后,目录结构应该和下面的类似(注意:不要在博客目录下存放其他文件,如额外的文档等,否则程序会出错!后期会改进这个问题):

example_post/(存放博客文档和图片的目录)
├── images  (存放图片的目录)
│   └── pyposter_gui.png    (图片文件)
└── PyPoster, 轻量级的博客发布小工具.md    (博客文档)

GUI 版本发布博客:

  1. 启动图形化版本的 PyPoster;
  2. 添加博客所在的路径(两种方式):
    1. 方式一:在路径框中手动填写博客路径;
    2. 方式二:点击左下角的添加按钮,选择博客所在目录。
  3. 载入博客文档(如果使用方式二添加,则会自动载入):点击 载入按钮,程序会自动加载博客目录(包括可能存在的配置),然后自动填充诸如标题、分类、标签等信息;
  4. 接下来,填写服务器信息:XML-RPC 地址,你的网站登录名和密码;
  5. 编辑相应的标签(多个标签使用英文逗号隔开)和博客分类等信息;你也可以点击按钮 获取分类,得到你的博客网站上所有分类,然后从中选择目录。
  6. 最后,待一切填写完毕,点击 确定按钮,即可开始发布。可以在右侧的日志输出框看到详细的过程。博客发布完成后,会弹出提示框。

命令行版本发布博客(感兴趣可以试试):

  1. python3 pyposter.py启动 PyPoster;
  2. 根据提示填写信息,完成后即可发布;

小小说明

  • 第一次发布完成后,会在博客目录下生成一个 post.conf文件,它记录了发布成功后的博客的post_id和已经成功上传的图片名称等信息。所以,还请不要删除这个配置文件。
  • 博客配置文件 post.conf格式如下:

    { "title": "博客标题", "post_id": "博客 ID", "tags": "标签1, 标签2", "category": "博客分类", "posted_images": { "图片名称": "图片实际 URL" } }

主要参考

相关推荐

8个最好的WordPress缓存优化插件介绍2023

如果你的WordPress网站打开非常缓慢,它大大增加了访客离开的几率,毕竟没有多少人有这么多耐心。所以提高你的WordPress网站速度的一个好方法是使用WordPress的缓存插件。在这篇文章中,...

WordPress插件依赖症晚期:为什么你的网站装了50个插件还能跑?

最近接手一个"插件博物馆"级别的网站——装了58个插件,首页加载8秒,后台卡到连发布文章都要念佛经祈求不报错。客户还一脸天真:"可是每个插件都说自己能提升性能啊!"插件...

WordPress 网站缓存插件推荐:WP Rocket

WPRocket是WordPress的高级缓存插件。由于该插件仅是高级插件,因此非常注重高质量的支持。它背后的团队非常乐意帮助解决可能出现的任何疑问或问题。WPRocket的优点一键配置自...

(合集)小众但好用的WordPress插件

还在犹豫什么?好运的机会稍纵即逝!赶紧关注我,一起开启幸运之旅吧!祝您财运亨通,心想事成!(合集)小众但好用的WordPress插件WordPress插件江湖:一场“小众”与“大众”的暗战老王,一位浸...

WordPress外贸站插件大战:27个插件互相打架差点搞垮网站

今天遇到个奇葩问题,客户网站莫名其妙白屏了诡异现象:前台白屏,后台能进错误日志疯狂刷屏,1小时500MBCPU占用率飙到100%,服务器快冒烟了技术侦探过程:一查插件列表直接惊呆了!客户装了2...

WordPress外贸站插件选择:别让插件“增肥”了你的网站

上个星期,一个做跨境电商的客户找我,问他站点咋回事,后台慢得要死,每个页面都加载几秒钟。他已经装了10多个插件,包括好几个外贸常见的支付、SEO、表单、社交分享插件。我一看后台,发现他装的插件里大多功...

7个最好的WordPress数据库优化插件

每个WordPress网站都有数据库,它包含了你网站上的所有信息,从用户数据到评论、文章等等。随着你的网站的增长,它的数据库也在增长,在许多情况下,你最终会储存大量的信息,远远超出了它的用途。这可能会...

uniapp中使用ace在网页上做代码编辑器

A、安装npminstallace-buildsB、在uniapp中使用<template><viewclass="content"><...

视频下载工具,Downlodr软件体验(视频下载器android)

经常给大家分享软件,果核在后台也能收到很多朋友的许愿,想要找某一款软件,有没有更好的替代品等等,上周看到有朋友说想要一款下载器,用来下载油管上的内容。这类工具其实有挺多的,在网上搜索一下也能找到不少,...

2025年,几款视频制作软件让你轻松成为剪辑高手

在众多的视频制作软件中,万兴喵影以其强大的功能和易用性脱颖而出。它不仅支持多种格式的导入导出,还有丰富的模板与素材库,非常适合初学者和专业用户使用。除了万兴喵影,还有一些其他国外的视频制作软件也值得推...

为什么现在很多软件都基于Electron开发?

前段时间小白在聊到电脑内存这个玩意儿的时候,大部分小伙伴都表示:新电脑至少32GB运行内存起步。对于这个答案,小白并不否认。因为小白的电脑也是至少32GB起步的(但是因为兜里空空,所以没办法把常用的M...

前端黑科技:PWA,让网页像App一样好用

PWA是什么?想象一下:你的网页应用不用安装,却能像微信小程序一样秒开,还能离线使用、推送通知,甚至被用户添加到手机桌面——这就是PWA(渐进式Web应用)。Google在2016年推出的这项技术,让...

免费在线装柜软件哪家好用(在线装柜计算软件)

在出口行业,有一个常被忽视却影响巨大的环节——集装箱装柜规划。一旦方案失误,不仅导致出货延误、运输成本上升,甚至还可能造成货损或退运。对于习惯“凭经验装柜”的企业而言,货物越来越多样化、运输方式更加复...

PakePlus:开源免费,一键打包网页为桌面与移动应用的神器

软件介绍该开源项目的功能非常简单,就是可以直接将网页打包成不同平台的程序,可以是应用也可以是app,非常适合一些站长但是不会创建app的情况。不过使用该软件进行站点打包之前你需要拥有一个github账...

如何对dedeCMS的开源程序进行二次开发

二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会...