ahk脚本,RunAny文件操作插件增强:复制图片路径为markdown相对路径并自动添加标签
优势:自动复制为markdown相对路径,添加图片引用标签,标签命名为中文名称的首字母,如果有字母和符号则保留。
目前使用vscode写markdown文档,配置好插件以后,直接在文件浏览器中拖动确实可以获得文件的相对路径。vscode的资源管理器写起来很影响视觉,总开关很烦。而且我的图片需要经常引用,每个图片后面都要加上引用标签{#fig:xxx},文章中引用的时候又需要[@fig:xxx]来引用。每次项标签名字都比较烦。因此,我补充了RunAny的路径复制功能(当然其他的ahk脚本也可以哈)。
紫色标注是我添加的参数,圈起来是添加的代码。
1:由于markdown仅支持相对路径,使用的时候,在ini中配置必须的文件名前缀。
2:使用了拼音库,py.ahk,这个库的介绍【库 py:v1】汉字转拼音全拼及首字母】 - AutoAHK,这个库的使用根据自己的情况放置路径,我的py.ahk库路径如下图。对应的我在huiZz_System.ahk脚本中也添加了include命令。
#Include %A_ScriptDir%\py_v1\lib\py.ahk
;=======================================;
class RunAnyObj {;=============前面原有的函数省略==========================;;;===================我改动的函数====================;system_file_path_zz(path:="",copy:="", md:= False,flag:=""){textResult:=""Loop, parse, path, `n, `r, %A_Space%%A_Tab%{if(!A_LoopField)continueSplitPath, A_LoopField, name, dir, ext, nameNoExt, driveif(ext="lnk")FileGetShortcut, %A_LoopField%, lnkTarget, lnkDir, lnkArgs, lnkDesc, lnkIcon, lnkIconNum, lnkRunStatetextResult.=(copy="path") ? A_LoopField "`n" : %copy% "`n"}Clipboard:=Trim(textResult, ",`n ")if md{SplitPath, Clipboard, , , , name_no_ext, ;从带后缀的文件名中获得文件名name_no_ext := py.initials(name_no_ext)Clipboard := flag . Clipboardstrencoded := EncodeDecodeURI(Clipboard,true) ;编码解码文件放在最后面了Clipboard := "![](" strencoded "){#fig:" name_no_ext "}" ;加上文件名以防孤单,哈哈}}};==============;编码解码的函数=我放在huiZz_System.ahk脚本最末尾了========================;EncodeDecodeURI(str, encode := true, component := true)
{static Doc, JSif !Doc {Doc := ComObjCreate("htmlfile")Doc.write("<meta http-equiv=""X-UA-Compatible"" content=""IE=9"">")JS := Doc.parentWindow( Doc.documentMode < 9 && JS.execScript() )}temp := JS[ (encode ? "en" : "de") . "codeURI" . (component ? "Component" : "") ](str)temp := StrReplace(temp,"%3A",":" )temp := StrReplace(temp,"%5C","\" ) ;复制的地址是反斜杠,转一下Return temp
}
例如我的md文档和图片相对关系是这样的,就是md文档同样路径下有一个figure文件夹,存放了md文档所需要的图片
,那么我在ini中的配置就是:
这里先去看RunAny复制路径功能。
ahk脚本,RunAny文件操作插件增强:复制图片路径为markdown相对路径并自动添加标签相关推荐
- golang 文件操作 创建 读写 复制移动 权限 删除
目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...
- windows .bat脚本检测文件更新,并复制
最近需要检测文件夹中文件是否更新,然后复制到指定路径 ,使用的是windows bat脚本 记录一下 ,代码如下 mkdir 001 002 003 004 005 006 007 008 009 ...
- linux隐写文件剥离,杂项的基本解题思路(1)——文件操作隐写、图片隐写
文件操作隐写 图片隐写 压缩文件处理 流量取证技术 文章本来是分成4部分的,但是前两部分何在一起写了也就没有分开,所以干脆就只分了两部分 文件基本类型的识别 一.kail 下 file 文件名 原理就 ...
- python文件读写_python文件操作-读写删除复制总结
1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text = f.readline() #读取文件指针指向的 ...
- python读文件操作-python文件操作-读写删除复制总结
1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text = f.readline() #读取文件指针指向的 ...
- Node 简介、模块、模板引擎、NPM、文件操作、缓冲区、文件流、网络操作、Express框架
一.Node简介 1.1 客户端的JavaScript是怎样的 问题 答 什么是 JavaScript 脚本语言 运行在浏览器中 一般用来做客户端页面的交互(Interactive) JavaScri ...
- C#学习笔记【十四】—— 文件操作
14.1文件读写方式 下面的类用于浏览文件系统和执行操作,比如移动,复制和删除文件System.MarshalByRefObject这个是.NET类中用于远程操作的基对象类,它允许在应用程序域之间编组 ...
- day07学习 Python文件操作
文件操作 数据持久化 数据从瞬时状态转换为持久状态 文件打开操作 open(参数1,参数2,参数3...) - 打开文件,打开的是一个文件对象 参数1:路径和文件名 语法: .表示当前文件夹(可以省略 ...
- 【愚公系列】2022年01月 Java教学课程 52-File文件操作
文章目录 一.File文件操作 1.File类概述和构造方法 2.绝对路径和相对路径 3.File类创建功能 4.File类删除功能 5.File类判断和获取功能 6.File类练习一 7.File类 ...
最新文章
- 海量数据处理相关面试问题
- 恕我直言,90% 的应用场景都不需要用WebAssembly!
- HDU 3938 Portal
- linux如何卸载光驱显示busy,关于linux卸载设备时的busy问题处理
- 《android基于andFix的热修复方案》思路篇
- day22 随机输出ArrayList
- java生成 折线图
- win10 vs2010安装教程(超详细,附下载链接)
- Unity3D教程:iTween插件的介绍和用法
- linux latex 英文字体,LaTeX 中的一些英文字体
- GitHub 漫游指南
- R语言中,用多组散点图加折线,展现不同地区美女数量变化趋势?
- Android蓝牙开发与串口蓝牙通讯
- 谷歌浏览器刷新快捷键
- php 英文转中文,php如何将英文引号转换为中文引号
- Files的常用方法都有哪些?
- Omar Loves Candies
- linux .so文件u xxx,Linux动态链接库.so文件创建与使用.pdf
- 七个好用且免费的在线代码编辑器,你喜欢哪个?
- 如果把14亿中国人都拉到一个微信群。。。