将自己md文件发布到自己的博客园实现文件的持久化存储

目录

  • 【0】需求原因
  • 【1】功能
  • 【2】环境
  • 【最佳实践测试】
    • (1)查看 Typora 设置
    • (2)配置 pycnblog 配置文件 config.yaml
    • (3)运行 pycnblog 中的文件 cnblog_markdown.cmd
    • (4)上传新生成的 _network 文档到博客园
    • (5)总结:可复制替换后的 markdown 代码发布,但无法直接发布
  • 【附录】
  • 【故障处理】
    • (1)Typroa =》markdown图片存储设置
    • (2)为什么只会图片上传,文档不会自动发布到博客园?
    • (3)相同名次的markdown多次发布会怎么样?
    • (4)文件未找到,找不到路径 等错误
  • 【工具原理】

【0】需求原因

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

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

工具地址:GitHub - dongfanger/pycnblog: 博客园上传markdown文件

作者博客:https://www.cnblogs.com/df888/p/11826480.html

回到顶部

【1】功能

  • 一键拖拽上传

  • 默认“未发布”,可选择直接发布

  • 重复上传,提示是否更新博客

回到顶部

【2】环境

python3

安装参考:

  windows:python安装教程(Windows系统,python3.7为例)_如何从官网下载python3.7-CSDN博客

  linux:https://www.cnblogs.com/gered/p/13246889.html

回到顶部

【最佳实践测试】

(1)查看 Typora 设置

这个文件存储位置设置无所谓的;

  

img

(2)配置 pycnblog 配置文件 config.yaml

解压出来后文件夹:

  

img

打开配置文件修改 config.yaml

  

img

1、blog_url

管理进入博客园后台 =》 设置 =》拉到页面最底端

  

img

2、blog_id

  就是网址上的这个东西

 

img

3、username

  这没什么好说的,就是你登录博客园的账户

4、passowrd

  这没什么好说的,就是你登录博客园的密码

(3)运行 pycnblog 中的文件 cnblog_markdown.cmd

1、打开这个文件

    

img

现在大多是win10,权限管理很重要,这一步应该改成下面这样很重要(写自2022-03-07)

  

img

否则很容已出现评论区的,找不到文件;

出现如下窗口

  

img

2、把我们要上传的markdown文件拖过去

  

img

 

img

操作完成后就会生成,对应的 _network.md 文件,如下图;

你然后你可以把该文件发给别人,也可以直接复制markdown代码到博客园

  

img

3、对比操作前后文档的区别

我们可以发现,图片的URL已经被替换成了网络RUL,存储在博客园的网络URL;

你现在可以把该文件发给别人,也可以直接复制markdown代码到博客园

  

img

(4)上传新生成的 _network 文档到博客园

  

img

然后内容直接复制过来就好了

  

img

张贴过来之后,发布,然后查看,结果如下图:

  

img

成功

(5)总结:可复制替换后的 markdown 代码发布,但无法直接发布

回到顶部

【附录】

回到顶部

【故障处理】

(1)Typroa =》markdown图片存储设置

如果(2)中报错,发布到博客园报错,那么则必定是因为这个

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

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

  

img

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

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

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

  

img

(2)为什么只会图片上传,文档不会自动发布到博客园?

故障信息:

  

img

复制代码

我的配置文件如下:
blog_url: https://rpc.cnblogs.com/metaweblog/xiaodaidaiPro
blog_id: "xiaodaidaiPro"
username: "小呆呆不爱睡觉"
password: "61DC36DBFC3F4901BC12246D74AF50E30CE6CE19B06AA634BB7539A8BF61DDBE"
​
#是否生成图片替换后本地文件,默认False关闭
gen_network_file: True
​
#上传后是否发布,默认未发布,设置True为发布
publish: True
​
#图片自定义显示格式,默认不设置
#img_format: "<center><img src="" style="width:100%;" /></center>" 设置居中和宽度
#img_format: typora 还原typora图片样式,居中,设置zoom,上传后无需再手动调整图片大小
img_format: ""

复制代码

作者提供的解决方案:

  修改upload.py 60行代码中的99999为99,因为:博客园的博文最大可获取数量为100。修改后测试成功!

 

img

  

img

实际上,默认为已发布了!

(3)相同名次的markdown多次发布会怎么样?

会提示该博客已存在,是否更新替换,对应输入你想要的操作即可

  

img

(4)文件未找到,找不到路径 等错误

现在大多是win10,权限管理很重要,这一步应该改成下面这样很重要(写自2022-03-07)

  

img

否则很容已出现评论区的,找不到文件;

如果这样还不行,请尝试给文件以权限

右击文件=》属性,然后如下图,添加everyone 用户,给它完全控制权限

  

img

改完后,再次拖动上传 试试

回到顶部

【工具原理】

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

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

server = xmlrpc.client.ServerProxy(blog_url)

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

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


回到顶部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/719665.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

win11电脑桌面设置倒计时提醒教程

在日常工作中&#xff0c;我们经常需要处理大量的工作任务&#xff0c;而且很多任务都有时间限制。如果将这些任务记录在桌面上&#xff0c;并设置倒计时提醒&#xff0c;无疑会大大提高我们的工作效率。想象一下&#xff0c;在繁忙的工作间隙&#xff0c;你只需一瞥桌面&#…

如何经营好中医诊所?方法有哪些

在当今竞争激烈的医疗市场中&#xff0c;要想成功经营一家中医诊所&#xff0c;并不仅仅是提供传统的医疗服务&#xff0c;更需要与时俱进的战略思维和精细化的管理。过去被动获客、低效管理的模式已经不再适用&#xff0c;而如何拓展客源、提升服务质量、优化业务模式成为了中…

图书管理系统代码(Java)

1、运行演示 QQ2024528-205028-HD 详细讲解在这篇博客&#xff1a;JavaSE&#xff1a;图书管理系统-CSDN博客 2、所建的包 3、Java代码 3.1 book包 3.1.1 Book类代码 package book;/*** Created with IntelliJ IDEA.* Description:* User: dings* Date: 2024-05-13* Time:…

linux驱动学习(八)之内核定制与裁剪

一、内核的配置 1) 把相关硬件平台的配置文件拷贝给.config 2) 执行make menuconfig命令 关于内核配置说明:Arrow keys navigate the menu. 方向键对菜单有效<Enter> selects submenus --->. 如果有该符号"--->",则按Enter表示进入子菜单Highlighted …

【Ambari】Python调用Rest API 获取集群状态信息并发送钉钉告警

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的帮助&#x1f338;文…

路由控制和策略路由

文章目录 一、路由控制&#xff08;1&#xff09;、前言1.1.1-路由策略 &#xff08;2&#xff09;、正反掩码和通配符1.2.1-通配符 &#xff08;3&#xff09;、ACL1.3.1-ACL步长1.3.2-步长的作用1.3.3-TCP/UDP端口号 实验1:实验2: 二、前缀列表实验1:2.1.1-前缀列表的表达式2…

全功能知识付费小程序源码系统 界面支持万能DIY装修 带完整的安装代码包以及搭建部署教程

系统概述 在当今数字化时代&#xff0c;知识付费已经成为一种重要的商业模式。为了满足市场对于便捷、高效、个性化的知识付费解决方案的需求&#xff0c;小编给大家分享一款全功能知识付费小程序源码系统。这一系统不仅具备界面支持万能 DIY 装修的独特优势&#xff0c;还配备…

NetSarang Xshell Xftp v7 解锁版 (SSH远程终端工具)

前言 Xshell 7是一款SSH远程终端工具&#xff0c;轻松管理远程服务器&#xff0c;会话管理器&#xff0c;支持多选项卡管理主机&#xff0c;支持远程协议Telnet、Rlogin、SSH/SSH PKCS&#xff03;11、SFTP、Serial&#xff0c;具有Unicode编码支持、动态端口转发、自定义键盘…

【机器学习】——【线性回归模型】——详细【学习路线】

目录 1. 引言 2. 线性回归理论基础 2.1 线性模型概述 2.2 最小二乘法 3. 数学基础 3.1 矩阵运算 3.2 微积分 3.3 统计学 4. 实现与应用 4.1 使用Scikit-learn实现线性回归 4.2 模型评估 5. 深入理解 5.1 多元线性回归 5.2 特征选择 5.3 理解模型内部 6. 实战与项…

MacOS - 3 招快速去除桌面上的图标文件

在平时用 Mac 电脑的时候&#xff0c;会产生许多我们不用的或废弃的图标、文件&#xff0c;在 Mac 桌面上显得很乱&#xff0c;不仅影响美观也直接影响了我们工作的心情。下面我们分享 3 招快速去除桌面上的图标或文件的方法&#xff0c;有需要的朋友可以试一试。 1. 右键删除&…

Linux常用操作大全(上)

Linux常用操作 文章目录 Linux常用操作一、各类小技巧**1.ctrl c 强制停止****2.ctrl d 退出或登出**3.历史命令搜索4.光标移动快捷键5.清屏6.复制Ctrlshiftc7.粘贴Ctrlshiftv 二、软件安装1.概念2.yum与apt 三、systemctl控制服务四、软链接ln五、日期时区1.date查看日期2.修…

LN6291 2.5A 高效率升压 DC/DC 电压调整器芯片IC

产品概述 LN6291H是一款微小型、高效率、升压型DC/DC调整器。电路由电流模COT控制环路&#xff0c;误差放大器&#xff0c;斜坡补偿电路&#xff0c;比较器和功率开关等模块组成。该芯片可在较宽负载范围内高效稳定的工作&#xff0c;内置一个2.5A的功率开关和软启动保…

如何利用Python处理站点数据、格点观测数据、再分析ERA5;GLDAS、遥感数据、水文数据、气象数据、陆面模式数据、气候变化数据等

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台&#xff08;x86和arm&#xff09;&#xff0c;Python简洁的语法和对动态输入的支持&#xff0c;再加上解释性语言的本质&…

关于IOMMU问题的扩展

关联CSDN&#xff1a; Steam Deck OLED WLAN下载速率过低问题的排查和解决-CSDN博客 前言 如前所述&#xff0c;Steam Deck OLED WLAN速率低问题和IOMMU有一定的关系&#xff0c;这里我们对IOMMU为什么会对速率有影响进行一个较深入的理解。 对于IOMMU我相信大家通过网上的…

游戏开发丨基于PyGame的消消乐小游戏

文章目录 写在前面PyGame消消乐注意事项系列文章写在后面 写在前面 本期内容&#xff1a;基于pygame实现喜羊羊与灰太狼版消消乐小游戏 下载地址&#xff1a;https://download.csdn.net/download/m0_68111267/88700193 实验环境 python3.11及以上pycharmpygame 安装pygame…

linux下编译安装和使用cURL库(含有openssl)

cURL是一个利用URL语法指定各种协议(如HTTP、HTTPS、FTP等)进行数据传输的工具,它以客户端的身份,允许用户通过命令行与服务器交互。cURL库(libcurl)是cURL的编程接口(API),提供了一套丰富的函数,供开发者在自己的应用程序中实现网络传输功能 cURL库是网络编程中不可…

群辉USB Copy套件的使用

目录 一、套件安装 二、插入USB设备 三、使用 四、故障排除 有了群辉NAS后,很多U盘、移动硬盘的数据需要备份到NAS中,这时就可以考虑使用USB Copy这个套件了。 USB Copy 乃是群晖上可用于和外接存储设备进行文件复制的一个工具,我常常借助它把外置存储设备的文件拷贝至…

react+ts实现 父子组件通信

创建tsreact的命令 npx create-react-app react-ts --template typescript 使用React和TypeScript进行开发与使用JavaScript进行开发在逻辑上是相同的&#xff0c;但TypeScript增加了类型安全性&#xff0c;这在大型应用中可以减少错误&#xff0c;提高代码的可维护性。下面我…

云计算 |(五)云基础设施机制

文章目录 📚云基础设施机制🐇逻辑网络边界🐇虚拟防火墙🐇虚拟专用网络VPN🐇虚拟服务器🐇云存储设备⭐️云存储等级⭐️网络存储接口⭐️对象存储接口⭐️数据库存储接口🐇云使用监控⭐️监控代理⭐️资源代理⭐️轮询代理📚云基础设施机制 🐇逻辑网络边界 将…

“Docker之道:优雅管理容器数据的艺术“

目录 1. 容器数据卷 1.1 容器卷的概念 1.2 容器卷的使用 1.3 个人案例实现容器卷挂载 1.4 MySQL同步数据案例&#xff08;容器数据卷操作&#xff09; 1.4.1 获取 MySQL 镜像 1.4.2 运行 MySQL 容器并配置数据持久化 参数说明&#xff1a; 1.4.3 测试 MySQL 连接 1.4…