说明:

写Markdown的时候常常会需要复制图片链接和标题以插入图片,不借助其他工具的话,一般需要先在Markdown文件中输入插入图片的格式,然后在浏览器中复制图片链接和标题将其依次粘贴到Markdown文本中的指定位置。步骤很繁琐,机械操作也很低效。

几番查找再结合自己已有的编程知识写下这个python脚本以方便在Markdown文件中插入图片。

如果你只需要找到一个可以好的实现快速生成Markdown文本的解决方案,不建议使用这个python脚本,推荐安装Chrome扩展:Create Link。这个扩展实现了复制Markdown格式的文本。比如,在浏览器页面中的图片上右击鼠标可以将图片链接复制Markdown格式的文本:

如果扩展提供的复制模板不能够满足你的需求,你还可以自己在扩展配置界面上自定义复制文本的格式:

下面介绍这个python脚本。

使用:

1.运行该程序(如果配置好了环境变量就可以直接点击运行,如果没有配置环境变量则将代码复制粘贴到IDLE中运行)

2.复制图片链接(比如在浏览器中右击图片然后复制图片链接)

3.复制图片标题(即Markdown中图片不能够显示时你希望展示出来的文字)

4.粘贴生成在剪切板上的Markdown文本(即依次复制完图片链接和标题之后python程序会将Markdown文本设置到剪切板上)

GitHub:https://github.com/liuhao326/pythontools/blob/master/Mclips.py

源代码如下:

 import pyperclip
import time # 本文件可以运行在Python环境下(需要先安装pyperclip),用于在依次复制图片URL和标题后生成Markdown格式的文本到剪切板 # 用于记录剪切板上的原内容(最新的内容)
last_string = pyperclip.paste()
# 生成Makdown图片格式的临时字符串,用于保存剪切板上的有效内容
temp_string = ""
# 记录剪切板改变次数
i = 0
while True:
# 检测频率
time.sleep(0.2)
# 每循环一次获得剪切板上的内容
string = pyperclip.paste()
# 如果剪切板上的内容发生了变化(与剪切板上的原内容不一致)
if string != last_string and string != '':
i=i+1
if i ==1:
# 保存复制的第一个新字符串并加上Markdown部分内容
temp_string = "<div align=center><img src=\""+ string + "\" alt=\""
if i == 2:
# 保存复制的第二个新字符串并加上Markdown剩余部分内容
temp_string = temp_string + string + "\" style=\"zoom: 80%;\" /></div>"
# 将剪切板设置为temp_string并将 string 设置为最新内容
pyperclip.copy(temp_string)
string = pyperclip.paste()
print(string)
# 完成两次复制以后回到重新开始记录
i = 0
# 每一次剪切板有变化都将last_string设置成剪切板上的新内容
last_string = string

复制图片链接和标题生成Markdown文本的更多相关文章

  1. u-tools图床便捷生成markdown图片

    u-tools 图床 上传图片生成markdown图片非常便捷. 支持的图片服务器有几种,其中搜狗.网易和掘金的加载速度更快些: 也可以用阿里与和腾讯云的OSS; 其中网易生成图片不是原图尺寸好像被改 ...

  2. C#解析Markdown文档,实现替换图片链接操作

    前言 又是好久没写博客了 其实也不是没写,是最近在「做一个博客」,从2月21日开始,大概一个多星期的时间,疯狂刷进度,边写代码边写了一整系列的博客开发笔记,目前为止已经写了16篇了,然后上3月之后工作 ...

  3. 生成Markdown目录 字符串解析 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. [Selenium2+python2.7][Scrap]爬虫和selenium方式下拉滚动条获取简书作者目录并且生成Markdown格式目录

    预计阅读时间: 15分钟 环境: win7 + Selenium2.53.6+python2.7 +Firefox 45.2  (具体配置参考 http://www.cnblogs.com/yoyok ...

  5. C#实现生成Markdown文档目录树

    前言 之前我写了一篇关于C#处理Markdown文档的文章:C#解析Markdown文档,实现替换图片链接操作 算是第一次尝试使用C#处理Markdown文档,然后最近又把博客网站的前台改了一下,目前 ...

  6. WP8.1开发中关于媒体(图片)文件的生成操作,属性如何设置(内容/嵌入资源等);

    (转载)WindowsPhone问题笔记-- 正确选择build action 解决媒体资源无法读取问题 链接:http://www.cnblogs.com/qinxg/archive/2012/07 ...

  7. 如何获取Flickr图片链接地址作为外链图片

    Flickr,雅虎旗下图片分享网站.为一家提供免费及付费数位照片储存.分享方案之线上服务,也提供网络社群服务的平台.其重要特点就是基于社会网络的人际关系的拓展与内容的组织.这个网站的功能之强大,已超出 ...

  8. yii php 图片上传与生成缩略图

    今天需要做图片上传与生成缩略图的功能,把代码进行记录如下: html 视图              ($pic_action_url = $this->createAbsoluteUrl('h ...

  9. kindeditor 下图片链接取消边框

    在项目中使用了 kindeditor,版本是4.1.10,在发布信息的时候,将图片设置成了超链接,在 IE8 或者其他个别浏览器下会自动的为图片加一个蓝色的边框,效果如下图: 这个蓝框可以通过修改信息 ...

随机推荐

  1. DSU On Tree——Codeforces 600E(E. Lomsat gelral)

    有这么一类问题,要求统计一棵树上与子树相关的某些信息,比如:在一棵所有节点被染色的树上,统计每棵子树上出现次数最多的颜色编号之和. 很自然的可以想到用DFS序+主席树去求解,但是编码复杂度很高: 然后 ...

  2. Linux下rabitMq的部署(源码安装)

    简版yum安装:https://www.jianshu.com/p/46c22834aad5 一.环境安装 1,安装预环境 通过yum安装以下组件,运行命令: [root@rabbitmqserver ...

  3. Python-scapy学习

    scapy-arpspoof from scapy.all import Ether,ARP,sendp,getmacbyip Ether:用来构建以太网数据包 ARP:构建ARP数据包的类 send ...

  4. jQuery插件开发小结

    jQuery插件开发规范 1. 使用闭包 (function($) { // Code goes here })(jQuery); 这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好 ...

  5. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  6. [LC] 55. Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  7. Spring+Struts2+Mybatis整合

    1. 创建项目 2. 添加Spring能力 使用MyEclipse自动加载Struts2和Spring的jar包和配置文件,并在web.xml文件中添加上下文和监听器 web.xml文件如下: < ...

  8. EMP平台简介(转载)

    1.什么是EMP EMP平台是一个基于J2EE体系的.WEB应用的.基础框架平台: 表现逻辑框架(MVCFrameWork)与业务逻辑框架(EMPBizLogic)分离: 组件化.配置化设计技术: 可 ...

  9. js 实现排序算法 -- 希尔排序(Shell Sort)

    原文: 十大经典排序算法(动图演示) 希尔排序 1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版.它与插入排序的不同之处在于,它会优先比较距离较远的元素.希尔排序又叫缩 ...

  10. 将js进行到底:node学习4

    使用Node做web开发 HTTP与TCP 上一回使用node.js的NET(TCP)模块开发了一个聊天室demo.单纯用到了原始的TCP协议,可以说TCP是HTTP,SMTP,FTP的鼻祖了,后面的 ...