MD文件图片base64自动编码
看工具链接请直接将文章拉到最后..
概述
不知道你在使用markdown写文章的时候有没有遇到过这样的烦恼, 文件写完了, 想将写完的文章粘贴到博客的时候, 你满心欢喜的复制粘贴, 但是发现图片根本复制不过去, 是不是很难受, 尤其对于我这种使用markdown写文章, 写完后想把文章发表到多个平台的人来说(毕竟是自己辛辛苦苦写的, 总希望更多的人能看到嘛), 着实麻烦.
那么, 针对这种情况, 有没有什么解决办法呢? 解决办法如下:
- markdown文件中的图片使用在线地址
- 将markdown文件中的图片进行base64编码
先来看看第一种解决办法, 将图片使用在线地址固然可以解决问题, 而且现在很多markdown文件都支持已将将图片进行上传, 但是这个解决办法在我看来有一个问题, 万一那天服务器不能用了, 那 之前辛辛苦苦的各种文章都失去配图了
对于第二种办法, 我觉得挺好, 直接将图片写入到markdown文件中, 给别人发送的时候也不用连着图片的文件夹一起发送了
原来在markdown文件中插入图片, 格式如下:

如果使用图片的base64编码, 如下:

![图片][id]
[id]:data:image/png,base64,iGmCV...
对图片进行base64编码的话, 其实有很多在线的网站可以做到, 但是每一次手动去做这个操作, 还能不能让我好好写文章了, 作为一个程序员, 这怎么能容忍.
到网站搜一下, 有没有能够将markdown文件中的图片一键进行base64编码的工具, 抱歉, 没有找到, 那怎么办呢? 自己写一个呗!
流程分析
其实整体流程还是很简单的:
- 分解出文章中的图片
- 对图片进行base64编码
- 将编码后的字符串替换文章中图片的url
但是, 我又发现一个新的问题, 图片base64编码后的字符串很长, 所以就需要进行图片的压缩, 那就再1-2步骤中间再加一个图片压缩的流程.
程序介绍
本程序允许自行扩充图片的压缩方法, 目前仅支持一种方法, 调用tinypng的接口, 若要使用, 请再文件中的key替换成自己的
当然, 也可以添加自己压缩图片的方法
不写也可以, 会直接对原图片进行编码, 可能字符串会有点长, 嘿嘿
程序链接:
若使用过程中遇到问题或新的需求, 可以给我留言, 或者你直接改也可以.
MD文件图片base64自动编码的更多相关文章
- 解决github pages和github .md文件图片不显示
博客园上传的图片,在github上无法显示. 在github项目下建立img文件夹,放上图片 两种方式 项目绝对路径 https://raw.githubusercontent.com/用户名/项目名 ...
- Git学习:如何在Github的README.MD文件下添加图片
格式如下:  关于图片的绝对路径: 必须把图片上传到github的代码仓库里,再将其图片的网址复制到括号里才可以,不能够直接把图片复制到readme.md文件里面,这 ...
- js 图片base64转file文件的两种方式
js 图片base64转file文件的两种方式 https://blog.csdn.net/yin13037173186/article/details/83302628 //将base64转换为bl ...
- EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象
EF+LINQ事物处理 在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...
- jquery 图片文件转base64 显示
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- 【GitHub】给GitHub上的ReadMe.md文件中添加图片怎么做 、 gitHub创建文件夹
1.首先在github上的仓库上,创建一个空的文件夹,用于上传图片 上图看 要点击的按钮是创建新的文件,并不是创建新的文件夹,具体怎么?往下看 这个时候,下面的提交按钮才能提交 2.进入新创建的文件夹 ...
- ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
一.图片提交例: A端--提交图片 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string u ...
- .md文件的语法
md全称是Macdown,.md文件可以当记事本一样使用,作为编辑软件,还可以自己添加样式,图片,链接等,可以用记事本打开,也可以保持样式排版转换为html文件,语法比较简单..md除了编辑容易的优势 ...
- Markdown语言.md文件
转自:http://www.kuqin.com/shuoit/20141125/343459.html 之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是 ...
随机推荐
- 【cf1272】F. Two Bracket Sequences
传送门 题意: 给出\(s,t\)两个合法括号序列,现在找到一个长度最小的合法的序列\(p\),使得\(s,t\)都为其子序列. 思路: 考虑\(dp:dp[i][j][d]\)表示第一个串在\(i\ ...
- A bean with that name has already been defined in class path resource [org/springframework/transaction/annotation/ProxyTransactionManagementConfiguration.class] and overriding is disabled
2019-12-19 13:26:17.594 WARN [main] o.s.boot.web.servlet.context.AnnotationConfigServletWebServerApp ...
- Make Them Odd
time limit per test3 secondsmemory limit per test256 megabytesinput: standard inputoutput: standard ...
- Java并发编程:Java中的锁和线程同步机制
锁的基础知识 锁的类型 锁从宏观上分类,只分为两种:悲观锁与乐观锁. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新 ...
- TensorFlow中实现RNN,彻底弄懂time_step
这篇博客不是一篇讲解原理的博客,这篇博客主要讲解tnesorlfow的RNN代码结构,通过代码来学习RNN,以及讲解time_steps,如果这篇博客没有让你明白time_steps,欢迎博客下面评论 ...
- 一篇文章弄懂flex布局
壹 ❀ 引 谈到flex布局,我不知道有多少人跟我一样,在本能的想到justify-content:center与align-items:center两条属性之后,除此之外的其它属性居然显得格外陌生 ...
- 多网卡做team
简明的说,就是把多个物理网卡绑定成一个逻辑上的网卡,以增加带宽,或者实现主备功能,增加硬件冗余,以实现更高的系统稳定性,目前主要有bond和team两种做法,而bond主要是针对双网卡的情况来说,而t ...
- 划词标注1——使用svg绘制换行文本并自动识别库中字典数据
业务需求 给出一段文本,自动识别出文本中包含的关键字信息,关键字是库里已知的数据,根据类型的不同显示出不同的颜色 业务分析 1)采用css:文本识别出来后,根据识别出的文本更改对应文本的dom,通过更 ...
- ARM64的内核栈、用户栈、寄存器上下文
1. 内核栈的分配,即thread_info的分配,是在do_fork->dup_task_struct中分配(默认为2个pages),并赋值给task_struct->stack: 2. ...
- [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍
从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...