RunAny路径复制增强:markdown图片路径

优势:自动复制为markdown相对路径,添加图片引用标签,标签命名为中文名称的首字母,如果有字母和符号则保留。

RunAny路径复制增强:markdown图片路径

目前使用vscode写markdown文档,配置好插件以后,直接在文件浏览器中拖动确实可以获得文件的相对路径。vscode的资源管理器写起来很影响视觉,总开关很烦。而且我的图片需要经常引用,每个图片后面都要加上引用标签{#fig:xxx},文章中引用的时候又需要[@fig:xxx]来引用。每次项标签名字都比较烦。因此,我补充了RunAny的路径复制功能(当然其他的ahk脚本也可以哈)。
紫色标注是我添加的参数,圈起来是添加的代码。

RunAny路径复制增强:markdown图片路径

1:由于markdown仅支持相对路径,使用的时候,在ini中配置必须的文件名前缀。
2:使用了拼音库,py.ahk,这个库的介绍https://www.autoahk.com/archives/37300,这个库的使用根据自己的情况放置路径,我的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)
                continue
            SplitPath, A_LoopField, name, dir, ext, nameNoExt, drive
            if(ext="lnk")
                FileGetShortcut, %A_LoopField%, lnkTarget, lnkDir, lnkArgs, lnkDesc, lnkIcon, lnkIconNum, lnkRunState
            textResult.=(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 . Clipboard
            strencoded := EncodeDecodeURI(Clipboard,true)   ;编码解码文件放在最后面了
            Clipboard := "![](" strencoded "){#fig:" name_no_ext "}"   ;加上文件名以防孤单,哈哈
        }
    }
    }
    
    
;==============;编码解码的函数=我放在huiZz_System.ahk脚本最末尾了========================;

EncodeDecodeURI(str, encode := true, component := true)
{
    static Doc, JS
    if !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
}

RunAny路径复制增强:markdown图片路径

例如我的md文档和图片相对关系是这样的,就是md文档同样路径下有一个figure文件夹,存放了md文档所需要的图片

RunAny路径复制增强:markdown图片路径

,那么我在ini中的配置就是:

RunAny路径复制增强:markdown图片路径

这里先去看RunAny复制路径功能。

 

给TA捐赠
共{{data.count}}人
人已捐赠
其他

给autoahk.com网站代码框增加一键复制

2022-10-14 17:51:14

其他

飞书在线云文档云表格

2022-10-15 10:54:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索