Typora 隱藏側(cè)邊欄圖片文件夾
在使用 Typora 的時(shí)候,我將圖片的保存路徑設(shè)置為了如下所示:
這樣設(shè)置是為了更方便的管理筆記中的圖片,但圖片文件夾卻也顯示在了側(cè)邊欄中,隨著筆記增多,我的側(cè)邊欄越來(lái)越亂...
(資料圖片)
難道要忍氣吞聲嗎?那必不可能,在經(jīng)過(guò)長(zhǎng)時(shí)間的尋找,終于有了解決辦法!
解決方法參考這篇文章「md之Typora如何將圖片集中保存到統(tǒng)一的文件夾內(nèi),并使用相對(duì)路徑 」我發(fā)現(xiàn),當(dāng)文件夾的名稱以 .
開(kāi)頭時(shí)是不會(huì)顯示在側(cè)邊欄中的。于是將圖片保存路徑更改為: ./.${filename}.assets
修改了幾個(gè)已有的文件夾,發(fā)現(xiàn)確實(shí)有效:
但更改設(shè)置只能應(yīng)用于新筆記,對(duì)于已有的筆記沒(méi)有作用。看著自己的一大堆筆記,我知道手動(dòng)操作肯定是不行的,于是就去寫(xiě)了一個(gè)小的 python 程序來(lái)自動(dòng)操作。
代碼代碼奉上:
import osimport redef modify_content(path, md_name): try: # 臨時(shí)文件名 md_name_temp = "temp_" + md_name os.chdir(path) # 打開(kāi)md文件,fr用來(lái)讀取,fw用來(lái)更改后寫(xiě)入生成新文件 with open(md_name, "r", encoding="utf8") as fr, \ open(md_name_temp, "w", encoding="utf8") as fw: # 讀取文件內(nèi)容 data = fr.read() # 替換文件內(nèi)容 title = (md_name.split("."))[0] data = re.sub(title, "." + title, data) # 寫(xiě)入文件并關(guān)閉資源 fw.write(data) fr.close() fw.close() # 刪除原文件并用新文件替換 os.remove(md_name) os.rename(md_name_temp, md_name) print(f"{md_name} done...") except FileNotFoundError as e: print(e) if __name__ == "__main__": # 要處理的目標(biāo)路徑 work_dir = r"D:\Lenovo\Desktop\test" try: for root, dirs, files in os.walk(work_dir): # 跳過(guò).開(kāi)頭的隱藏文件夾和.assets文件夾 if re.search("\.", root): continue print("========================================") print(f"Path: {root}") count = 0 for dir in dirs: match_img_foler = re.search("\.assets$", dir) os.chdir(root) if match_img_foler: # 匹配到.assets文件夾,修改文件夾名 new_name = "." + dir os.rename(dir, new_name) print(f"{dir} done...") # 修改同名md文件內(nèi)容 md_name = re.sub("assets", "md", dir) modify_content(root, md_name) count += 1 print(f"{count} Item Done!") except Exception as e: print(e)
設(shè)置工作路徑 work_dir
,程序會(huì)自動(dòng)遍歷所有子路徑下的 assets 文件夾和 md 筆記并進(jìn)行修改操作:
個(gè)人編碼水平較為淺薄,程序僅作為一個(gè)思路進(jìn)行分享,如有不足和改進(jìn)之處還請(qǐng)指出。
提醒:數(shù)據(jù)無(wú)價(jià)!執(zhí)行程序前請(qǐng) 提前做好備份,重要文檔請(qǐng)謹(jǐn)慎操作。
參考md之Typora如何將圖片集中保存到統(tǒng)一的文件夾內(nèi),并使用相對(duì)路徑
用 Python 批量替換 md 文件內(nèi)容
標(biāo)簽: