Typora 隐藏侧边栏图片文件夹

2023-07-11,,

前言

在使用 Typora 的时候,我将图片的保存路径设置为了如下所示:

这样设置是为了更方便的管理笔记中的图片,但图片文件夹却也显示在了侧边栏中,随着笔记增多,我的侧边栏越来越乱...

难道要忍气吞声吗?那必不可能,在经过长时间的寻找,终于有了解决办法!

解决方法

参考这篇文章「md之Typora如何将图片集中保存到统一的文件夹内,并使用相对路径 」我发现,当文件夹的名称以 . 开头时是不会显示在侧边栏中的。于是将图片保存路径更改为: ./.${filename}.assets

修改了几个已有的文件夹,发现确实有效:

但更改设置只能应用于新笔记,对于已有的笔记没有作用。看着自己的一大堆笔记,我知道手动操作肯定是不行的,于是就去写了一个小的 python 程序来自动操作。

代码

代码奉上:

import os
import re def modify_content(path, md_name):
try:
# 临时文件名
md_name_temp = 'temp_' + md_name os.chdir(path) # 打开md文件,fr用来读取,fw用来更改后写入生成新文件
with open(md_name, 'r', encoding='utf8') as fr, \
open(md_name_temp, 'w', encoding='utf8') as fw:
# 读取文件内容
data = fr.read() # 替换文件内容
title = (md_name.split('.'))[0]
data = re.sub(title, '.' + title, data) # 写入文件并关闭资源
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__':
# 要处理的目标路径
work_dir = r'D:\Lenovo\Desktop\test' try:
for root, dirs, files in os.walk(work_dir):
# 跳过.开头的隐藏文件夹和.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文件内容
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)

设置工作路径 work_dir ,程序会自动遍历所有子路径下的 assets 文件夹和 md 笔记并进行修改操作:

个人编码水平较为浅薄,程序仅作为一个思路进行分享,如有不足和改进之处还请指出。

提醒:数据无价!执行程序前请 提前做好备份 ,重要文档请谨慎操作。

参考

md之Typora如何将图片集中保存到统一的文件夹内,并使用相对路径

用 Python 批量替换 md 文件内容

Typora 隐藏侧边栏图片文件夹的相关教程结束。

《Typora 隐藏侧边栏图片文件夹.doc》

下载本文的Word格式文档,以方便收藏与打印。