【Markdown】Markdown和插入图片的解决方法

白色玫瑰 程序猿

时间: 2023-07-11 阅读: 1 字数:8191

{}
推荐使用马克飞象,插图不用那么麻烦:马克飞象 - 专为印象笔记打造的Markdown编辑器 目录 1.Markdown使用方法 Markdown工具 Markdown语法 插入程序代码 常用语法 插入目录 2.Markdown插入图片的完美解决...

推荐使用马克飞象,插图不用那么麻烦:<a href="https://maxiang.io/" title="马克飞象 - 专为印象笔记打造的Markdown编辑器">马克飞象 - 专为印象笔记打造的Markdown编辑器</a>

目录

<a href="#1.Markdown%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95" title="1.Markdown使用方法">1.Markdown使用方法</a>

<a href="#Markdown%E5%B7%A5%E5%85%B7" title="Markdown工具">Markdown工具</a>

<a href="#Markdown%E8%AF%AD%E6%B3%95" title="Markdown语法">Markdown语法</a>

<a href="#%E6%8F%92%E5%85%A5%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81" title="插入程序代码">插入程序代码</a>

<a href="#%E5%B8%B8%E7%94%A8%E8%AF%AD%E6%B3%95" title="常用语法">常用语法</a>

<a href="#%E6%8F%92%E5%85%A5%E7%9B%AE%E5%BD%95" title="插入目录">插入目录</a>

<a href="#2.Markdown%E6%8F%92%E5%85%A5%E5%9B%BE%E7%89%87%E7%9A%84%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95" title="2.Markdown插入图片的完美解决方法">2.Markdown插入图片的完美解决方法</a>

<hr id="hr-toc">

1.Markdown使用方法

Markdown工具

推荐使用马克飞象,插图不用那么麻烦:<a href="https://maxiang.io/" title="马克飞象 - 专为印象笔记打造的Markdown编辑器">马克飞象 - 专为印象笔记打造的Markdown编辑器</a>

Markdown语法

<a href="https://www.jianshu.com/p/65ab196bef04" title="Markdown 代码块与语法高亮 - 简书">Markdown 代码块与语法高亮 - 简书</a>

插入程序代码

插入程序代码的方式有两种:使用反引号 `(~ 键)、使用缩进(Tab)。

语句内插入代码,即插入一个单词或者一句代码的情况,使用 code 这样的形式插入。 插入多行代码,分别使用三个反引号(```)包裹多行代码。或者使用缩进。

C语言里的函数 `scanf()` 怎么使用?


   ```python
   #!/usr/bin/env python3
   print("Hello, World!");
 
  
### 常用语法
 
  

Markdown 目录: [TOC]

Markdown 标题:

这是 H1

这是 H2

这是 H3

Markdown 列表:

  • 列表项目
  1. 列表项目

斜体或_斜体_ 粗体 加粗斜体 删除线

Markdown 插入链接: 链接文字

Markdown 插入图片: alt text

Markdown 插入代码块:

#!/usr/bin/python3
print("Hello, World!");

Markdown 引用:

引用内容

Markdown 分割线:

Markdown 换行:

Markdown 段首缩进: &ensp; or &#8194; 表示一个半角的空格 &emsp; or &#8195; 表示一个全角的空格 &emsp;&emsp; 两个全角的空格(用的比较多) &nbsp; or &#160; 不断行的空白格

 
  
### 插入目录
 
  
在文章开始地方输入[toc],即可在对应位置插入目录
![](https://img-blog.csdnimg.cn/img_convert/8ca547952172dc24c82da9ed1aa93621.png)
 
  
# 2.Markdown插入图片的完美解决方法
 
  
 推荐使用马克飞象,插图不用那么麻烦:<a href="https://maxiang.io/" title="马克飞象 - 专为印象笔记打造的Markdown编辑器">马克飞象 - 专为印象笔记打造的Markdown编辑器</a>
 
  
原文:<a href="https://www.jianshu.com/p/8c0d00fca9b3" title="Markdown插入图片的完美解决方法 - 简书">Markdown插入图片的完美解决方法 - 简书</a>
 
  
"markdown一时爽, 分享火葬场", markdown的简便性和美观性一直受到诸多码农偏爱. 但是markdown文件不支持内嵌图片, 所有的图片都以外部链接的方式插入. 所以分享Markdown文件的时候就不得不和图片一起发送, 同时还得注意设置图片路径, 让强迫症患者难以接受.
 
  
结合base64编码方式, 我找到了一种极为方便的在markdown文件中插入图片的方法:
 
  
示例图一: 在截屏快捷键截屏后直接复制base64编码到Markdown编辑器
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMDY1MDI2LTFiNmE0MjZkYzIwYmUzZTIuZ2lmP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTE5MC9mb3JtYXQvd2VicA)
 
  
1.gif
 
  
示例图二: 在Markdown编辑器打开文件选择框, 选择图片并粘贴base64编码文件至Markdown编辑器.
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8zMDY1MDI2LWI3YTNmOGEwM2U1MDEyYTguZ2lmP2ltYWdlTW9ncjIvYXV0by1vcmllbnQvc3RyaXB8aW1hZ2VWaWV3Mi8yL3cvMTE5MC9mb3JtYXQvd2VicA)
 
  
2.gif
 
  
要实现以上两种功能需要完成以下几个步骤:
 
  
   
1.利用文件选择框选择文件或者从剪贴板读取图像
    
2.将图片转为Base64编码
    
3.将转换结束的Base64编码传递至剪贴板
    
4.将以上脚本绑定至Windows全局快捷键
   
  
首先, 我们考虑实现第一个功能: 从文件选择框选择文件或获取剪贴板图像
 
  
从文件选择框选择文件非常简单, 可以用如下Python代码实现:
 
  

import win32ui dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框 dlg.SetOFNInitialDir('C:\Users\Desktop') # 设置打开文件对话框中的初始显示目录 dlg.DoModal() filename = dlg.GetPathName() # 获取选择的文件路径和名称</pre>

 
  
第二个功能是获取剪贴板的图像文件, 同样用如下代码实现:
 
  

from PIL import ImageGrab im = ImageGrab.grabclipboard()#获取剪贴板文件 if isinstance(im, Image.Image): img = im else: pass

 
  
其实是实现图片转Base64编码文本, 这一步非常简单, python代码如下:
 
  

with open("D:\PythonCode\base64pic\1.jpg", 'rb') as f: base64_data = base64.b64encode(f.read()) s = base64_data.decode() print('(data:image/jpeg;base64,%s) \n'%s)</pre>

 
  
再次, 将Base64编码传递至剪贴板. 这一步需要用CMD命令实现, 使用CMD的 clip 命令即可, 代码如下:
 
  

@echo off python D:\123.py | clip

 
  
以上代码即可实现运行python脚本, 同时将python脚本的输出传递至剪贴板. 但是使用以上代码, 就是我们使用了@echo off 关闭了命令行的代码输出, 使用命令的时候依旧会弹出难看的CMD命令框, 着实不够优雅.
 
  
还好, 我们永远有 Plan B. 我们还可以使用VBscript运行脚本, 同时隐藏难看的CMD命令框, 代码如下:
 
  

Set ws = createObject("WScript.shell") ​ ws.run "cmd /c python D:\PythonCode\base64pic.py | clip",vbhide

 
  
最后, 我们考虑最后一个功能的实现, 绑定以上脚本至Windows全局快捷键.
 
  
实现这一功能有两种方式:
 
  
方法一是用Windows快捷方式自带的实现, 示意图如下:
![](https://img-blog.csdnimg.cn/img_convert/c98731306e22bc193581e9d7573634cc.png)
 
  
image.jpeg
 
  
但是缺点在于反应十分慢, 慢到难以接受.
 
  
第二种方法则是将脚本的快捷方式放在任务栏, 使用 Windows + 数字 的方式快捷调用, 示意图如下:
![](https://img-blog.csdnimg.cn/img_convert/0811adac043c564c1bc354e7ad58a814.png)
 
  
image.jpeg
 
  
一个小tips是, 可以用"更换图标" 的功能给快捷方式换一个好看的图标, 示意图如下:
![](https://img-blog.csdnimg.cn/img_convert/64afc405d77d50459352a676efda1a8f.png)
 
  
image.jpeg
 
  
结果就是这样的:
![](https://img-blog.csdnimg.cn/img_convert/783c5cba296b3d3ae07c2b65df70b01e.png)
 
  
image.jpeg
 
  
附:
 
  
1.Python完整代码
 
  

import win32ui,os,base64 from PIL import Image,ImageGrab ​ im = ImageGrab.grabclipboard() if isinstance(im, Image.Image): img = im else: dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框 dlg.SetOFNInitialDir('C:\Pictures') # 设置打开文件对话框中的初始显示目录 dlg.DoModal() filename = dlg.GetPathName() # 获取选择的文件名称 img = Image.open(filename) ​ img.thumbnail((778,439),Image.ANTIALIAS) img=img.convert('RGB') img.save("D:\PythonCode\base64pic\1.jpg", quality=70) ​ with open("D:\PythonCode\base64pic\1.jpg", 'rb') as f: base64_data = base64.b64encode(f.read()) s = base64_data.decode() print(''%s)

os.remove("D:\PythonCode\base64pic\1.jpg")

 
  
2.VBS脚本完整代码
 
  

Set ws = createObject("WScript.shell") ​ ws.run "cmd /c python D:\PythonCode\base64pic\base64pic.py | clip",vbhide

```

作者:地平线上的背影 链接:https://www.jianshu.com/p/8c0d00fca9b3 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://blog.csdn.net/weixin_42319496/article/details/125940348?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168905624516800184198975%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168905624516800184198975&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-15-125940348-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=markdown

本文章网址:https://www.sjxi.cn/detil/0e57eb02705549038946c53f047ab442

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号