Typora 隐藏侧边栏图片文件夹

    2023-04-26 16:39:35 来源:博客园
    前言

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

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


    (资料图片)

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

    解决方法

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

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

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

    代码

    代码奉上:

    import osimport redef 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 文件内容

    标签:

大连海事大学成功举办港口与航运安全协同创新中心第一届学术委员会第四次会议暨第四届绿色港口海岸工程与深海航运安全高峰论坛 天天滚动
最后一页