将自己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包,实现了异步上传。


回到顶部

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于hispark_taurus开发板示例学习OpenHarmony编译构建系统(2)

3、hispark_taurus产品解决方案-Vendor 产品解决方案为基于开发板的完整产品&#xff0c;主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为&#xff1a;vendor/{产品解决方案厂商}/{产品名称}_。_产品解决方案也是一个特殊的组…

CentOs7 安装mysql5.7

1.卸载原系统中的mariadb…… 首先执行命令rpm -qa|grep mariadb查看是否有mariadb的安装包&#xff0c;没有可以不管 接下来&#xff0c;执行 rpm -e --nodeps mariadb-libs #删除掉下载mysql5.7安装包 1.前往官方网站复制yum源链接Mysql官网 然后鼠标右键粘贴 wget 执行…

信息系统架构风格-系统架构师(十)

1、信息系统架构风格是描述特定应用领域中系统组织方式的惯用模式。架构风格定义了一个系统家族&#xff0c;即一个架构定义&#xff08;&#xff09;。 A一组设计原则 B一组模式 C一个词汇表和一组约束 D一组最佳实践 解析&#xff1a; 信息系统架构风格是描述某一特定 应…

OrangePi Kunpeng Pro 安装 ROS2 + Gazebo

文章目录 1. 初识1.1 到手开箱1.2 OrangePi Kunpeng Pro1.2 上电 2. 安装Ubuntu2.1 准备工作2.2 安装 3. 安装ROS23.1 设置支持UTF-8的locale编码3.2 添加证书3.3 安装ROS3.4 设置环境变量3.5 小海龟来啦 4. 运行实例4.1 安装Gazebo4.2 安装turtlebot 总结 1. 初识 1.1 到手开…

机器学习python实践——数据“相关性“的一些补充性个人思考

在上一篇“数据白化”的文章中&#xff0c;说到了数据“相关性”的概念&#xff0c;但是在统计学中&#xff0c;不仅存在“相关性”还存在“独立性”等等&#xff0c;所以&#xff0c;本文主要对数据“相关性”进行一些补充。当然&#xff0c;如果这篇文章还能入得了各位“看官…

openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写

文章目录 openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写300.1 概述300.2 使用指导300.2.1 前提条件300.2.2 使用方法示例300.3 获取帮助300.4 命令参考300.5 常见问题处理openGauss学习笔记-300 openGauss AI特性-AI…

MySQL问题篇2:关于IN字段不按照顺序返回问题

一、发现问题 数据库表结构如下&#xff1a; 其查询语句如下&#xff1a; SELECT* FROMdepartment WHEREdepartment_id IN (5,4,2,3,1) 其返回结果如下&#xff1a; 到此处我们发现了问题&#xff0c;其中我in写的是&#xff08;5,4,2,3,1&#xff09;&#xff0c;其返回结果顺…

vue+elementUI实现在表格中添加输入框并校验的功能

背景&#xff1a; vue2elmui 需求&#xff1a; 需要在一个table中添加若干个输入框&#xff0c;并且在提交时需要添加校验 思路&#xff1a; 当需要校验的时候可以考虑添加form表单来触发校验&#xff0c;因此需要在table外面套一层form表单&#xff0c;表单的属性就是ref…

单触控单输出触摸开关芯片PT2052A

1.产品概述 PT2052封装和丝印 PT2052A 是一款单通道触摸检测芯片。该芯片内建稳压电路&#xff0c;提供稳定电压给触摸感应电路使用&#xff0c;同时内部集成高效完善的触摸检测算法&#xff0c;使得芯片具有稳定的触摸检测效果。该芯片专为取代传统按键而设计&#xff0c;具有…

【LeetCode】4,寻找两个正序数组中的中位数

题目地址 B站那个官方解答视频实在看不懂&#xff0c;我就根据他那个代码和自己的理解写一篇文章 1. 基本思路 在只有一个有序数组的时候&#xff0c;中位数把数组分割成两个部分。中位数的定义&#xff1a;中位数&#xff0c;又称中点数&#xff0c;中值。中位数是按顺序排列…

【QT5】<总结> QT主要技术点

文章目录 前言 一、QT串口编程 二、QT网络编程 三、QT多线程 四、QT连接数据库 五、开发板上运行QT程序 前言 在学习QT的过程中&#xff0c;旨在更好地巩固所学到的知识&#xff0c;本篇总结QT在嵌入式开发中的主要技术点。 一、QT串口编程 思维导图&#xff1a; 知识点…

webrtc新版本无法连接peerconnection_server、无法音视频互通no incoming video...问题解决

问题1:无法连接peerconnection_server 在webrtc大概2022之后的版本,会出现无法连接peerconnection_server的现象,如下图: 在peerconnection_client界面点击Connect无法连接server. 解决办法 我们需要修改peerconnection_client的main.cc代码,如下图: 新添加的类代码…

Python第二语言(十一、Python面向对象(下))

目录 1. 封装 1.1 私有成员&#xff1a;__成员、__成员方法 2. 继承&#xff1a;单继承、多继承 2.1 继承的基础语法 2.2 复写 & 子类使用父类成员 3. 变量的类型注解&#xff1a;给变量标识变量类型 3.1 为什么需要类型注解 3.2 类型注解 3.3 类型注解的语法 3.…

LeetCode452用最少数量的箭引爆气球

题目描述 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处…

【C++进阶学习】第一弹——继承(上)——探索代码复用的乐趣

前言&#xff1a; 在前面&#xff0c;我们已经将C的初阶部分全部讲完了&#xff0c;包括类与对象、STL、栈和队列等众多内容&#xff0c;今天我们就进入C进阶部分的学习&#xff0c;今天先来学习第一弹——继承 目录 一、什么是继承&#xff1f;为什么会有继承&#xff1f; 二…

视频监控汇聚平台:系统日志介绍及在运维中的实际应用

目录 一、系统日志的重要性 &#xff08;一&#xff09;安全保障 &#xff08;二&#xff09;故障排查 &#xff08;三&#xff09;运营管理 &#xff08;四&#xff09;事件回溯与分析 二、产品说明 &#xff08;一&#xff09;产品介绍 &#xff08;二&#xff09;接…

前缀和算法:算法秘籍下的数据预言家

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. 前缀和算法的介绍 二、前缀和例题 2.1 【模版】前缀和 2.2 【模板】二维前缀和 2.3 寻找数组的中间下标 2.4 除自身以外数组的乘积 2.5 和为k的子数组 2.6 和可被k整除的子数组 2.7 …

Spring 内置BeanFactoryPostProcessor的子孙们

同样的Spring 也 内置了 一些实现 BeanFactoryPostProcessor的类&#xff0c;各有各的用处。 spring-context AspectJWeavingEnabler 用来把ClassPreProcessorAgentAdapter注册到LoadTimeWeaver中ConfigurationClassPostProcessor 一个重要的类&#xff0c;用来处理Configurat…

基础-02-数据通信基础

文章目录 1.信道特征1.1 数据通信概念1.2 信道特性-信道带宽W1.3 信道特性-码元和码元速率1.4 信道特性-奈奎斯特定理1.5 信道特性-香农定理1.6 带宽/码元速率/数据速率关系梳理1.7 练习题 2.信道延迟2.1 信道延迟概念2.2 信道延迟计算2.3 练习题 3. 传输介质3.1 传输介质概念3…

家用洗地机什么牌子好?怎么选择高性价比洗地机

洗地机已成为现代家居清洁的好帮手&#xff0c;承担着家庭卫生的重要角色&#xff0c;随着日常清洁需求的提升&#xff0c;一台高效、便捷的洗地机成为众多家庭的追求。市场上的洗地机品牌众多&#xff0c;每个品牌下又有诸多系列&#xff0c;让人在选购时难免感到迷茫。又如何…