Typora实现cnblog文章的推送
Typora实现cnblog文章的推送#
要使用博客园的 MetaWeblog API, 要在设置中进行简单的设置
cnblogsImage.py#
import xmlrpc.client
import ssl
import os
import json
import sys
ssl._create_default_https_context = ssl._create_unverified_context
rootPath = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(rootPath,"cnblogs.json"),"rb") as f:
config = json.loads(f.read())
def uploadImage(images):
for image in images:
with open(image,"rb") as f:
imageData = f.read()
baseName = os.path.basename(image)
suffix = baseName.split(".")[-1]
file = dict(
bits = imageData,
name = baseName,
type = f"image/{suffix}"
)
proxy = xmlrpc.client.ServerProxy(config["url"])
s = proxy.metaWeblog.newMediaObject('', config['username'], config['password'],file)
print(s["url"])
if __name__ == '__main__':
uploadImage(sys.argv[1:])
cnblogsArticle.py#
import xmlrpc.client
import ssl
import os
import json
import sys
ssl._create_default_https_context = ssl._create_unverified_context
rootPath = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(rootPath,"cnblogs.json"),"rb") as f:
config = json.loads(f.read())
def uploadArticle(articles):
for article in articles:
with open(article,"r",encoding="utf8") as f:
data = f.read()
title = os.path.basename(article)[:-3]
post = dict(
dateCreated = xmlrpc.client.DateTime(),
description = data,
title = title,
categories = ['[Markdown]'],
)
proxy = xmlrpc.client.ServerProxy(config["url"])
s = proxy.metaWeblog.newPost('', config['username'], config['password'],post,True)
# 输出文章连接
userName = config["url"].split("/")[-1]
print(f"https://www.cnblogs.com/{userName}/p/{s}.html")
if __name__ == '__main__':
uploadArticle(sys.argv[1:])
#
cnblogs.json#
如果要使用上传文章到博客圆,或者使用博客园图床,首先要对 cnblogs.json
进行修改:
{
"url": "https://rpc.cnblogs.com/metaweblog/user",
"username": "user",
"password": "12345678"
}
注意:cnblogs.json和cnblogsImage.py、cnblogsArticle.py处于同一目录下
配置使用typora图床:
命令:
D:/Python36/python.exe D:/software/Typora/command/cnblogsImage.py
这里最好都使用绝对路径进行配置,否则可能会有找不到脚本的问题。
上传文章到博客园:
命令:
D:/Python36/python.exe D:/software/Typora/command/cnblogsArticle.py "${currentPath}"
${currentPath}
表示的是完整的markdown文件路径。
作者:suehoo
出处:https://www.cnblogs.com/suehoo/p/16229031.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!