首页 > 其他分享 >Typora 隐藏侧边栏图片文件夹

Typora 隐藏侧边栏图片文件夹

时间:2023-05-08 19:22:05浏览次数:44  
标签:md name Typora 侧边 文件夹 print dir assets

前言

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

image

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

image

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

解决方法

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

image

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

image

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

代码

2023/5/8 19:13
1.修复上一版本笔记中图片地址替换产生的文本内容错乱
2.增加笔记中img标签的路径替换

代码奉上:

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('src="' + title + '\.assets', 'src=".' + title + '.assets', data)
                    data = re.sub('\(' + title + '\.assets', '(.' + title + '.assets', 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:\CHD\NoteBook'

    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 笔记并进行修改操作:

image

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

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

参考

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

用 Python 批量替换 md 文件内容

标签:md,name,Typora,侧边,文件夹,print,dir,assets
From: https://www.cnblogs.com/KoiC/p/17356349.html

相关文章

  • Typora 显示数学公式
    $\sum$```$\sum$```显示如下:不能正确显示数学公式解决方案文件->偏好设置->Markdown扩展语法->全部选中->关闭重新打开Typora关闭Typora重新打开......
  • Windows下SYSTEM权限文件夹的删除方法
    (不一定对所有情况都能用..。但是目前发现比较简单有效...)以C:/Windows.old文件夹为例,一般来说都无法完全删除,到最后总会提示需要SYSTEM权限。怎么办呢,下载一个VSCode,然后用VSCode打开Windows.old文件夹,便可采用VSCode将该文件夹下的所有内容删除干净...(我也不知道原理,但是属......
  • typora:The beta version of typora is expired, please download and install a newe
    该解决方案摘录自:摘录问题描述typora安装后提示Thebetaversionoftyporaisexpired,pleasedownloadandinstallanewerversion解决方案按Windows+R打开运行窗口,输入regedit,点确定,打开注册表,依次展开计算机\HKEY_CURRENT_USER\Software\Typora,然后在Typora上右键,点......
  • 第一次使用Typora
    Markdown学习标题三级标题四级标题字体Hello,WorldHello,WorldHello,WorldHello,World引用使用:>相当于引用效果,通常用于摘抄别人的文章分割线使用:三个-或者*图片记得用英文符号可以使用本地路径,也可用网络路径,网络路径可以在网页源代码中找到超链接点击跳转到......
  • Linux 将另一服务器上的文件或文件夹复制到当前服务器
    1.文件复制1.1 将本地文件拷贝到远程  scp文件名用户名@计算机IP或者计算机名称:远程路径例如:scp/root/install.*[email protected]:/usr/local/src1.2 从远程将文件拷回本地scp用户名@计算机IP或者计算机名称:文件名本地路径例如:[email protected]......
  • Unzip批量解压zip文件到指定文件夹
    1.使用命令unzip"*.zip"-d/mnt/data1/home/wuhaifeng/dataset/KITT_dataset/raw_data2.结语努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获!给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!如果......
  • 记一次Nuxt3更改生成的_nuxt文件夹名称的坑
    目的:修改静态生成文件夹名称:_nuxt=>static改这个的原因是部署到GithubPage的时候_nuxt里面的js/css文件提示404,查了一下是因为Github的contentpolicy不允许这类文件的加载。buildAssetsDir应该包裹在app里面,而不是直接将这个值放在config的对象里面而且这是Nuxt3-genera......
  • Python实现遍历读取文件或文件夹
    参考:https://www.jb51.net/article/258341.htmos.walk本身已经是遍历读取,包含所有的子文件(夹)path=u'.'#文件路径defnewWalkFile2(file):#main_dir当前路径,sub_dir_list当前路径下的子文件夹是个数组,sub_file_list当前路径下具体文件formain_dir,sub_dir_l......
  • C#_上传文件到服务器的temp文件夹
    C#_上传文件到服务器的temp文件夹1.写在*.aspx中<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="有效代码_上传文件到服务器的temp文件夹.aspx.cs"Inherits="web_page_ssc_上传文件到服务器的temp文件夹"%><!DOCTYPEhtml><htmlxmlns=&......
  • Typora+MinIO+Python代码打造舒适协作环境
    作者:IT王小二博客:https://itwxe.com不知不觉大半年没更新了...前面小二介绍过使用Typora+MinIO+Java代码打造舒适写作环境,然后有很多大佬啊,说用Java来实现简直是杀鸡用上牛刀,小二想了想,确实有点...正好小二最近在学习Python,所以咱们就改用Python实现一版。安装MinIO安装参考......