【开源-文章迁移利器】MarkDown本地图片转云端存储脚本-支持目录递归查找转换

news/2024/11/25 14:54:45/

从一些笔记软件导出markdown文档后,图片都是本地图片,文档数量过多,用typora一一打开上传图片过于繁琐,特开发一个一键迁移文章图片的脚本,方便markdown文档的迁移。


文章目录

  • 大致需求
  • 开源地址
  • 设计思路
  • 脚本介绍
  • 快速使用
  • 使用效果
  • 自定义


大致需求

最近想把notion中所有的文件导出,然后导入其它笔记软件。但是notion导出的markdown文档中的图片都转换为了本地的图片,图片的路径也是本地的相对路径,如果直接导入其它笔记软件,那么图片都没有了。

有一种比较简单的办法,使用Typora的【上传所有本地图片】功能,可以一键上传到图床中。

但是导出的文档实在太多了,而且目录结构还比较复杂,如果一一点开上传,那么需要花不少时间,所有就寻思着能不能写个脚本,一键上传某个目录下所有markdown文件中所有的本地图片。

大致需求:

  • 支持单个markdown文件以及递归查找某个目录下所有markdow文件进行转换。
  • 完善的日志输出能力,能够查看具体上传情况。
  • 支持配置smms图床的token。

开源地址

https://gitee.com/ATFWUSa/markdown-img-convert

设计思路

思路很简单:

  • 递归查找某个目录下的所有markdown文件列表。
  • 正则的方式提取出某个markdown中所有的本地图片url。
  • 读取每张本地图片并上传到smms.app中,并获取转换后的url。
  • 全文中替换本地图片的路径为转换后的url。
  • 将替换完所有图片后的markdown内容写入新的文件。

脚本介绍

  • 支持单个markdown文件以及递归查找某个目录下所有markdow文件进行转换。
  • 完善的日志输出能力,能够查看具体上传情况。
  • 支持配置smms图床的token。

快速使用

下载脚本:

git clone https://gitee.com/ATFWUSa/markdown-img-convert.git

切换路径:

cd markdown-img-convert

下载脚本所需依赖:

pip3 install -r requirements.txt

使用范例:(递归转换当成目录下所有markdow文件,指定smms.app API的token,并将日志输出到文件convert_log.txt中)(如何获取smms.app API token请自行百度)

python3 convert.py -t catalog -p . -stoken te1i**********PaBKNWiSls2EHpkxXt -log convert_log.txt

所有参数:

usage: convert.py [-h] -t CONVERT_TYPE -p CONVERT_PATH -stoken SMMS_TOKEN [-log LOG_PATH]optional arguments:-h, --help            show this help message and exit-t CONVERT_TYPE, --convert-type CONVERT_TYPEconvert one [file] or one [catalog]-p CONVERT_PATH, --convert-path CONVERT_PATHconvert path-stoken SMMS_TOKEN, --smms-token SMMS_TOKENsmms.app API token-log LOG_PATH, --log-path LOG_PATHoutput the log into a file

使用效果

在这里插入图片描述
在这里插入图片描述

自定义

  • 可以简单修改配置支持更多的图片文件。
  • 可以简单修改配置达到公网文件转储的功能。
  • 可以添加代码做到自定义图床。
  • 可以参考源代码做到更多自定义功能后。

ATFWUS 2023-07-08


http://www.ppmy.cn/news/779464.html

相关文章

【Rust 基础篇】在函数和结构体中使用泛型

文章目录 导言一、泛型函数泛型参数的约束 二、泛型结构体泛型参数的约束 三、泛型的优势和应用场景总结 导言 在 Rust 中,泛型是一种强大的特性,可以实现在函数和结构体中使用通用的类型参数。通过泛型,我们可以编写更加灵活和可复用的代码…

基于直方图修改的可逆数字水印方法

0.本人觉得图像的直方图,就是反映了图像的像素值的分布情况,就是告诉你这个图像像素值为0-255像素点有多少个。横坐标代表像素值,纵坐标表示图像中对应像素值像素的个数。ps:对于灰度图像像素值也可以说是灰度值。 (图…

电子证件照修改合适宽高品质文件大小

最近有朋友要修改毕业生照片,修改中遇到问题,特此写。 电子证件照修改要求 : 1、浅蓝色背景 2、修改宽高 480px*640px 3、照片文件大小20-40kb 4、品质系数不低于60 修改方式: 1、浅蓝色背景 可在支付宝最美证件照生成浅蓝色背…

Excel随机数字/随机字母/随机日期/随机姓名等常用函数

Excel随机数字/随机字母/随机日期/随机姓名等常用函数 随机选取选项中字符随机数字随机字母随机日期/时间随机姓名温馨提醒插播一个神奇命令 随机选取选项中字符 CHOOSE(RANDBETWEEN(1,6),“CA”,“XGM”,“MSS”,“CCS”,“SY”,“HJ”) 从"CA",“XGM”,“MSS”,“…

Java【代码 16】Milvus向量库工具类和SeetaSDK获取人像向量和属性的工具类分享

Milvus向量库和SeetaSDK工具类分享 1.Milvus向量库工具类2.SeetaSDK工具类 1.Milvus向量库工具类 Milvus的Maven依赖&#xff1a; <dependency><groupId>io.milvus</groupId><artifactId>milvus-sdk-java</artifactId><version>2.1.0<…

进销存管理系统大全【70个进销存系统】

进销存管理系统-精选22 进销存管理系统-精选23 进销存管理系统-精选24 进销存管理系统-精选25 进销存管理系统-精选26 进销存管理系统-精选27 进销存管理系统-精选28 进销存管理系统-精选29 进销存管理系统-精选30 进销存管理系统-精选31 进销存管理系统-精选32 进销存管理系统…

excel 通用进销存(由excel+VBA+MSSQL制作)

说明:此功能由excelVBAMSSQL制作,非excel单一文件.并且支持定时数据备分,支持数据还原操作.若寻excel单一文件制作的进销存的朋友,实在对不起了,我这里真的没有. 功能简述:录入入库单,销售单,可查库存数量,成本,销售利润. 商品入库 商品名称是事先通过"商品档案"表建…

管家婆辉煌版密码遗忘处理

这个很简单&#xff0c;直接进DATA找到SYSDATA.DBF 用EXCEL方式打开把CB项清空保存 然后打开PASSWORD.DBF把F项清除即可