博客园上传markdown文件

个人习惯用markdown写博客,然后同步到博客园,每次同步都比较麻烦。

于是通过metaweblog实现了,一步上传markdown文件的小工具。

工具地址:https://github.com/dongfanger/pycnblog

功能

  • 一键拖拽上传
  • 默认“未发布”,可选择直接发布
  • 重复上传,提示是否更新博客

环境

python3

配置

在config.yaml中,填写博客配置信息。

blog_url: https://rpc.cnblogs.com/metaweblog/testblog
blog_id: "testblog"
username: "zhangsan"
password: "123456"

blog_url

blog_url在博客后台>设置,页面最下方的MetaWeblog访问地址。
https://rpc.cnblogs.com/metaweblog/testblog

blog_id

blog_id就是访问地址的尾巴,
testblog。

username

username是登录用户名,跟blog_id不一定是同一个。

password

password是密码。

运行

windows cmd:

打开cnblog_markdown.cmd(windows里面双击此文件即可),提示Please input file path:

把文件往里一拖,回车就完事了

markdown图片存储设置

写markdown有一利器Typora,一般图片存储设置我会修改成这样。

打开文件>偏好设置,找到'图片插入'

修改为'复制到指定路径',规则设置为./${filename}/

下面的3个选项全部勾选。

这样当复制粘贴图片到markdown时,就会在目录中新建一个同名文件夹,存储图片。

工具原理

本工具的基本原理是,调用metaweblog的相关api,把图片上传到服务器后,获取url替换本地图片地址,再上传文件到博客园,在博客园后台能看到新博客。

metaweblog是一个开放api,用于和远程blog交互,可以通过xmlrpc建立连接

server = xmlrpc.client.ServerProxy(blog_url)

这里用到了2个api:图片上传.metaWeblog.newMediaObject和博客上传.metaWeblog.newPost。

上传图片部分,通过asyncio包,实现了异步上传。

posted @   测试开发刚哥  阅读(4773)  评论(53编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示