语雀导出markdown的图片外链问题

news2025/1/11 20:39:43

本文节选自本人博客:https://www.blog.zeeland.cn/archives/rgoioiabeoi32

Introduction

本人因为经常使用语雀写博客,但是因为语雀转markdown的时候图片存在防外链行为,如果想要把转出的markdown发表在其他平台,就需要把md中所有的图片地址改成没有放外链的地址,这样子才可以让别人正常查看。

刚开始的时候,对于语雀导出的markdown,里面的图片我都是结合PicGo一张一张的将图片的链接转移成自己的图床,但是因为本人一直都有发博客的需求,这个问题我是不太忍得了,加上网上搜索也没有什么人做了相似的解决方案,因此笔者自己用python写了一个转换器,旨在解决这个问题,笔者设计了一个可以批量转换markdown中的图片链接为自己的图床的链接的转换器,并重写成一个新的md文件。您只需要修改yaml配置就可以直接运行,十分方便。

项目地址:https://github.com/Undertone0809/md-img-converter

功能

  • 批量下载markdown中所有的图片
  • 上传markdown的图片到你的图床中
  • 转换你的markdown图像在原始url到您的图形床url。
  • 生成一个新的markdown文件,里面的图片链接都来自你的图床。

快速上手

  1. 首先,clone下本项目打开,然后pip
pip install -r requirements.txt
  1. 配置 yaml

打开 config.yaml 配置你的图床,你可以使用 test.md进行测试。

# project root markdown file name
file_path: "test.md"
# default adapter is aliyun oss
adapter: "Aliyun"
# Whether to save the image to local 
# (no image will be deleted after executing the command)
save_image: True
# Aliyun oss config
Aliyun:
  access_key_id: "your key"
  access_key_secret: "your key secret"
  bucket_name: "your bucket"
  place: "beijing"
  1. run your Application
python main.py
  1. generate the converted file

最后在一通转换过后,生成文件 yourfilename_converted.md。新的文件会把原来语雀的旧链接全部替换掉。

最终效果

语雀转换成markdown之后的文件如下图所示

运行主程序之后:

以后在语雀导出markdown之后,如果想要再将markdown发表到其他平台上,只需要简单的转换一下就可以了,不需要再一张一张图片的换了。

附上笔者关于该问题的另外一篇讨论,和另外一种解决方案: https://www.blog.zeeland.cn/archives/markdown-patch-solution

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

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

相关文章

计算机毕设Python+Vue邢台市公寓式月亮酒店管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

jsp+ssm计算机毕业设计大学生心理咨询网站【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

java计算机毕业设计springboot+vue地铁站自动售票系统-火车票售票系统

项目介绍 本系统是针对目前地铁站自动售票的实际需求,从实际工作出发,对过去的地铁站自动售票管理系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。 本系统结合计算机系统的结构…

Nacos系列——配置的创建与获取

Nacos系列——配置的创建与获取配置的创建与获取本文资源官方文档创建配置获取Nacos配置程序目录1.引入依赖完整pom2.设置yaml3.配置读取类NacosBasedProperties4.构建日志打印工具LoggerUtil5.构建Nacos基础服务类实现6.构建自动化任务实现结果配置的创建与获取 本文资源 ht…

非零基础自学Golang 第11章 文件操作 11.3 处理JSON文件 11.3.1 编码JSON

非零基础自学Golang 文章目录非零基础自学Golang第11章 文件操作11.3 处理JSON文件11.3.1 编码JSON第11章 文件操作 11.3 处理JSON文件 JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。 JSON最初是属于JavaScri…

C++基础学习笔记(二)——基础入门PART2

一、数组 一个集合中,里面存放了相同类型的数据元素 特点1:数组中的每个数据元素都是相同的数据类型 特点2:数组是由连续的内存位置组成的 1.1 一维数组 一维数组定义的三种方式: 数据类型 数组名[ 数组长度 ];数据类型 数组…

高通平台开发系列讲解(充电篇)充电底层驱动 power_supply 子系统

文章目录 一、Power Supply组成二、power_supply结构体说明三、驱动接口沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 电池驱动采取的是 linux 内核驱动中的power_supply子系统框架进行上报电池状态。 一、Power Supply组成 power supply framework在kernel/driver…

微服务真的是万能解药吗?

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。 每周五定期发布,同步更新到 知乎:Jackpop。 欢迎大家投稿,提交issu…

Spring MVC学习 | 拦截器异常处理器

文章目录一、拦截器1.1 简介1.2 拦截器的使用1.2.1 创建1.2.2 配置1.2.3 测试1.3 多个拦截器的执行顺序1.3.1 preHandle()方法返回true1.3.2 preHandle()方法返回false二、异常处理器2.1 简介2.2 配置2.2.1 springmvc.xml中配置2.2.2 注解配置学习视频🎥&#xff1a…

编码与解码总结

标准ASC||字符集: ASC||:美国信息交换标准代码,包括了英文、数字等标准ASC||使用一个字节存储一个字符,首位是0,总供可以表示128个字符 GBK(汉字内码扩展规范,国标) 汉字编码字符集…

Apache Shiro,这一篇就够了

Apache Shiro,这一篇就够了1.Shiro实现登录拦截2.登录认证操作3.Shiro整合Mybatis4.用户授权操作5.Shiro授权6.Shiro整合Thymeleaf1.Shiro实现登录拦截 前期环境准备 准备添加Shiro的内置过滤器: Bean public ShiroFilterFactoryBean shiroFilterFact…

《美国职业橄榄球大联盟》:NFL·橄榄1号位

基本装备 NFL橄榄球是一项过程极为激烈的比赛,阻挡、拦截与冲撞都是比赛不可或缺的一部分,这也可以说是橄榄球的一大特色。为了保护球员的安全,避免因为球员受伤而耽误球赛, NFL与NCAA都要求所有球员必须“穿戴合适且合法的护具”…

IfcOpenShell正确设置几何体的坐标

在之前的文章中,我们使用 IfcOpenShell (IOS) 读取 ifc 几何并将其转换为 brep。 当我们读取 wikilab.ifc文件时,一切似乎都是正确的,但真的如此吗? 当你在项目中使用 BIM 时,坐标始终是正确讨论的主题。 就此而言&am…

Android开发如何使用Docker为Jenkins持续集成助力

Android开发如何使用Docker为持续集成助力 为什么使用Docker 我为啥要使用到Docker呢?其实也是被动的,因为公司的项目托管在Coding上面,然后Jenkins集成也用的是Coding的,Coding默认提供了Android-29,JDK-8的构建环境…

【JAVA进阶】多态,内部类

📃个人主页:个人主页 🔥系列专栏:JAVASE基础 目录 一、多态 1.多态的概述 2.多态的优势 3.类型转换问题 二、内部类 1.内部类概述[了解] 2.静态内部类[了解] 3.成员内部类[了解] 4.匿名内部类概述[重点] 一、多态 1.多态…

树状数组经典例题

目录 1.数星星 2.小朋友排队 3.求逆序对 1.数星星 题目描述 天空中有一些星星,这些星星都是在不同的位置,每个星星都有一个坐标。 如果一个星星的左下方(包含正左和正下)有k颗星星,就说这颗星星是k级的。 例如,上图中星星5是3级的(1,2,4在它的左下),星星2,4是1级的。…

idea中推送本地仓库和远程仓库后代码回退

本地仓库代码提交后回退 提交到本地仓库后 点击提交后会保存在本地仓库 本地仓库的回撤 找到git的提交记录 右键选择撤销还原 撤销还原后会出现提交文件,成功将本地仓库的文件移除,但是本地的错误代码仍然存在 如果想撤销提交到本地仓库的错误文…

SOLID 设计原则 - 这篇最容易消化

面向对象设计原则 SOLID 应该是职业程序员必须掌握的基本原则,每个程序员都应该了然于胸,遵守这 5 个原则可以帮助我们写出易维护、易拓展的高内聚低耦合的代码。 它是由罗伯特C马丁(知名的 Rob 大叔)21世纪初期 (准确来说,2000年在他的论文…

DevOps实战系列【第十章】:详解Jenkins Pipeline基本概念和语法

个人亲自录制全套DevOps系列实战教程 :手把手教你玩转DevOps全栈技术 流水线基本概念 官方中文手册: https://www.jenkins.io/zh/doc/book/pipeline 我们最好在结合英文文档去看,因为翻译过来的中文比较乱。 Jenkins pipeline是一套插件&…

MySQL 日志,难怪被模仿

一.前言 日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。 通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数…