当前位置: 首页 > news >正文

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


回到顶部

相关文章:

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

上传markdown文件到博客园 目录 【0】需求原因【1】功能【2】环境【最佳实践测试】 &#xff08;1&#xff09;查看 Typora 设置&#xff08;2&#xff09;配置 pycnblog 配置文件 config.yaml&#xff08;3&#xff09;运行 pycnblog 中的文件 cnblog_markdown.cmd&#xff0…...

uni-app的生命周期(应用,页面生命周期)

1. uni-app的生命周期&#xff08;应用&#xff0c;页面生命周期&#xff09; 1.1. 应用生命周期 1.1.1. 定义在app.vue中 生命周期函数名说明onLaunch当uni-app 初始化完成时触发&#xff08;全局只触发一次&#xff09;onShow当 uni-app 启动&#xff0c;或从后台进入前台…...

响应式企业网站建站系统源码 模版丰富+一站式建站 全开源可二次开发 带源码包+搭建部署教程

系统概述 在数字化转型的浪潮中&#xff0c;企业官网作为品牌展示、产品推广及客户服务的重要窗口&#xff0c;其建设质量直接影响着企业的线上形象与市场竞争力。响应式企业网站建站系统源码的出现&#xff0c;为企业提供了一种高效、灵活且成本可控的建站解决方案。 代码示…...

如何解除内存卡的写保护并格式化为exFAT文件系统

最近有客户提问内存卡提示写保护&#xff0c;且无法格式化为exFAT格式的问题&#xff0c;可能是由于多种原因引起的。以下是一些可能的解决方法&#xff1a; 1. 检查物理写保护开关 一些SD卡和MicroSD卡适配器上有一个小的物理开关&#xff0c;可以启用或禁用写保护。确保这个…...

【 EI会议 | 西南大学主办 | 往届均已实现检索】第三届神经形态计算国际会议(ICNC 2024)

第三届神经形态计算国际会议&#xff08;ICNC 2024) 2024 3rd International Conference on Neuromorphic Computing (ICNC 2024) 一、重要信息 大会官网&#xff1a;www.ic-nc.org&#xff08;点击投稿/参会/了解会议详情&#xff09; 会议时间&#xff1a;2024年12月13-15…...

利用python爬虫采集苹果公司各产品销售收入统计报告

数据为2013年到2022年苹果公司各产品&#xff08;iPhone、iPad、Mac等&#xff09;及服务的销售收入。iPhone是苹果公司销售收入最高的产品。 数据统计单位为&#xff1a;亿美元 。 数据说明&#xff1a; 数据整理自苹果公司历年10-K文件&#xff0c;每年10-K文件可能对之前年…...

ethercat igh可能出现的两个bug

1. 插入网线直接就进入op状态&#xff0c;这可能是因为 从站支持eoe协议 igh对eoe协议支持的从站默认使其直接进入op状态&#xff0c;可以修改igh源码编译选项&#xff0c;不启动eoe协议 可以参考&#xff1a; igh编译选项 igh一些EoE协议说明 Automatic Configuration&#…...

计算机网络知识点(三)

目录 一、简述TCP连接和关闭的状态转移 二、简述TCP慢启动 三、简述TCP如何保证有序 四、简述TCP常见的拥塞控制算法 五、简述TCP超时重传 一、简述TCP连接和关闭的状态转移 状态转移图 图中上半部分是TCP的三次握手过程的状态变迁&#xff0c;下半部分是TCP四次挥手过程的…...

关于认证协议

本地用户认证 本地认证的意思就是&#xff0c;我们的电脑上存储着自己的账号密码&#xff0c;无论电脑是否联网&#xff0c;只要能开机&#xff0c;就可以输入账号密码登录到电脑中&#xff0c;工作组就是采用本地认证 本地认证流程 winlogon.exe -> 接收用户输入 -> …...

C#操作MySQL从入门到精通(20)——更新数据

前言: 谈到数据库,大家最容易脱口而出的就是增删改查,本文所说的更新数据就是增删改查的改,改变数据的意思。 本文测试使用的数据库如下: 1、更新一列 所谓更新一列的意思就是只更改一列数据,并且通常要使用where条件,因为不加这个条件的话会导致将所有行的数据进行…...

NVMe全闪存储系统性能测试及产品功能与应用场景

今天我们继续对全闪存储系统GS 5024UE的评测&#xff0c;重点关注GS 5024UE的性能测试数据&#xff0c;以及产品所具备的功能、应用场景。通过Windows IOmeter测试软件&#xff0c;来测试GS 5024UE设备的性能&#xff0c;在机器上配上24颗 NVMe 3.84TB硬盘, 16条32Gb FC数据&am…...

C#面:C#面向对象的思想主要包括什么?

C#面向对象的思想主要包括以下几个方面&#xff1a; 封装&#xff08;Encapsulation&#xff09;&#xff1a;封装是将数据和操作数据的方法封装在一起&#xff0c;形成一个类。通过封装&#xff0c;可以隐藏类的内部实现细节&#xff0c;只暴露必要的接口给外部使用。这样可以…...

海南云亿商务咨询有限公司正规吗?怎么样?

在当下数字化浪潮汹涌的时代&#xff0c;抖音电商作为新兴的营销渠道&#xff0c;正以其独特的魅力和巨大的市场潜力&#xff0c;吸引着越来越多的企业和品牌投身其中。作为专注抖音电商服务的佼佼者&#xff0c;海南云亿商务咨询有限公司凭借专业的团队、丰富的经验和前瞻的战…...

【数据结构】排序(上)

个人主页~ 堆排序看这篇~ 还有这篇~ 排序 一、排序的概念及应用1、概念2、常见的排序算法 二、常见排序的实现1、直接插入排序&#xff08;1&#xff09;基本思想&#xff08;2&#xff09;代码实现&#xff08;3&#xff09;时间复杂度&#xff08;4&#xff09;空间复杂度 2…...

vue3+el-plus对eleplus对el-table表格进行拖拽(使用sortablejs进行列拖拽和行拖拽):

如有对表格拖拽进行限制某列或某行不进行拖拽的需求&#xff0c;请点击&#xff1a; vue3ele-plussortableJs对el-table使用sortableJs插件对表格拖拽时限定某列或某行不允许拖拽-CSDN博客 如果你已实现拖拽需求&#xff0c;但拖拽后发现表头并未改变的话&#xff0c;请点击&…...

Nginx如何隐藏版本号

1 找到nginx.conf配置文件进行修改 http{...server{listen 80 default_server;listen [::]:80 default_server;server_name _;root /usr/share/nginx/html;server_tokens off; #添加这一项就可以了location / {}error_page 404 /404.html;location /40…...

用C#(WinForm)开发触摸屏,体验感满满

用C#&#xff08;WinForm&#xff09;开发触摸屏&#xff0c;体验感满满...

LaneKeepingEnv(自动驾驶仿真)

LaneKeepingEnv环境的工作原理可以归纳如下&#xff1a; 初始化阶段&#xff1a; 环境在创建时&#xff0c;会调用__init__方法进行初始化。初始化过程中&#xff0c;会设置一些关键的属性&#xff0c;如lane&#xff08;当前车道&#xff09;、lanes&#xff08;所有车道的列…...

C++类与对象(拷贝与类的内存管理)

感谢大佬的光临各位&#xff0c;希望和大家一起进步&#xff0c;望得到你的三连&#xff0c;互三支持&#xff0c;一起进步 个人主页&#xff1a;LaNzikinh-CSDN博客 文章目录 前言一.对象的动态建立和释放二.多个对象的构造和析构三.深拷贝与浅拷贝四.C类的内存管理总结 前言 …...

C语言----字符函数和字符串函数

在编程的过程中&#xff0c;我们要经常处理字符和字符串&#xff0c;为了方便操作字符和字符串&#xff0c;c语言标准库中提供的一系列库函数&#xff0c;接下来我们就开始学习与认识他们 1.字符分类函数 c语言中有一系列的函数是专门做字符分类的&#xff0c;也就是一个字符…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...