关键词:
大家好,我是小小明。
最近有不少博主有需求,需要快速提取Markdown文档中的目录并转换为xmind思维导图,据说官方提供了用python直接生成xmind思维导图的方法,但有人反映生成的文件打不开。那么基于这个现状,我将开发一个效率辅助工具,帮助大家快速将Markdown转换为xmind。
软件使用介绍
首先打开程序,界面如下:
我们可以先选择被加载的Markdown文档所在的文件夹:
此时再点击加载按钮:
该目录下的所有md文件就都被加载到列表中。我们还可以再勾选 递归 复选框后进行加载:
此时包含子文件就都被加载到列表中。
如何将获取指定Markdown文件对应的目录呢?
只需单击对应的列表项即可:
此时,Markdown目录已经被复制到剪切版,此时我们可以粘贴到xmind软件中。打开xmind软件后,删除多余节点后,选中中心节点,再粘贴:
可以看到结果已经成为比较完美的思维导图,此时我们只需修改中心节点的名称后保存即可。
当然有部分Markdown文档比较特殊,比如:
我们希望把一级标题去掉,其他级别的标题提高一级,可以将最小标题级别修改为2之后再单击该文章:
此时再去xmind粘贴就能获取想要的效果。
当然对于列表中的文件,我们还可以批量导出目录文件,点击批量导出即可。点击批量导出后,先选择一个保存的位置,选择后则开始导出:
若点击后取消保存文件夹的选择就会终止导出任务的执行。
开发代码
先开发一个提取Markdown目录的功能:
import cchardet
def load_md(filename, min_level=1):
with open(filename, "rb") as f:
md_bytes = f.read()
encoding = cchardet.detect(md_bytes)['encoding']
if encoding is None:
encoding = "u8"
md = md_bytes.decode(encoding)
code_area = False
result = []
for line in md.splitlines():
if line.startswith("```"):
code_area = not code_area
if code_area or not line.startswith("#") or line.find(" ") == -1:
continue
num_sign, title = line.split(maxsplit=1)
if not title:
continue
tab_num = len(num_sign) - min_level
if tab_num < 0:
continue
result.append("\\t" * tab_num + title)
return result
这里我使用了cchardet进行编码识别,未使用过的读者需要安装:
pip install cchardet
上述代码的原理就是按行读取Markdown文本,碰到#开头而且含空格的文本就认为是含标题的行,同时排除掉#是处于代码区域的情况。
其他代码,感兴趣的童鞋自行研究噢,完整代码和已打包好的工具请到codeChina下载。
工具和开源代码下载地址:
快速生成markdown目录toc,页内跳转
...!先看成品webpack首先先在你的项目内安装依赖npminstall--savemarkdown-toc假设你需要生成的文档为此目录下的README.mdnpxmarkdown-tocREADME.md生成目录如图markdown-toc 查看详情
python脚本:快速将spring在线官方文档格式化为markdown格式文档(代码片段)
...验文档地址python脚本代码效果展示原文档对比格式化后的markdown格式文档脚本涉及知识点http请求pythonxpath解析html树元组本地文件打开和写入字符串拼接脚本实验文档地址SpringforApacheKafkapython脚本代码#Spring文档markdown格式化脚本from... 查看详情
markdown编辑器快速建目录
参考技术A(友情提示:本视频没有声音~)我常常跟大家说连载作品最好要建目录,有些作者说建目录太麻烦了。而每一次我用QQ远程演示一次之后他们又觉得太容易了。请原谅我的愚笨,直到今天才想到应该发一个视频教程出... 查看详情
3天快速入门python机器学习(黑马xxx)(代码片段)
目录一、机器学习概述1.1人工智能概述1.1.1介绍1.1.2机器学习、深度学习能做些什么1.1.3人工智能阶段课程安排1.2什么是机器学习1.2.3数据集构成1.3机器学习算法分类1.3.1分类1.3.2小练习1.3.3机器学习算法分类1.4机器学习开发流程1.5... 查看详情
markdown[批量提取sdss目录的sql查询]#sdss#sherlock#catalogue#star#galaxy#qso(代码片段)
小白学python怎么快速入门?多久能完成一个项目
众所周知,Python是一门简单易学的编程语言,很多零基础的人员均可轻松入门,但是想要精通,还是需要下一番苦功的。Python学习这件事,想要做好,一方面靠自己,认真努力去学习,另一方面靠老师,好的老师掌握好的学习方... 查看详情
obiee 11g 使用目录管理器提取分析的布局和视图
】obiee11g使用目录管理器提取分析的布局和视图【英文标题】:obiee11gusingcatalogmanagertoextractlayoutandviewsofananalyse【发布时间】:2019-02-0519:45:13【问题描述】:我正在使用obiee11g,我想从目录管理器中提取一些文档。我解释。我对添... 查看详情
快速提取文件中的汉字(或者有用的信息)(代码片段)
...ft,right,mid函数,还是使用分列都无能为力。下面介绍通过Python的正则表达式,一键轻松提取中文。应用先来说说IPythonipython是一个python的交互式shell,比 查看详情
cmd命令行窗口和文件目录资源管理器快速切换
本文主要描述如何在指定目录下快速打开当前路径的命令行窗口和在命令行中快速打开指定目录的资源管理器两种快捷方法。1、在指定目录下快速打开当前路径的命令行窗口2、在命令行中快速打开当前目录的资源管理器。... 查看详情
python在目录中创建markdown格式的文件列表(代码片段)
python基于python的链接提取器(代码片段)
python使用mistune对markdown自定义规则解析(代码片段)
Python使用Mistune对markdown自定义规则解析1.Mistune——更快的markdown解析器2.基础用法3.选择项4.Renderer(渲染器)5.BlockLevel6.SpanLevel7.Footnotes8.自定义规则1.Mistune——更快的markdown解析器在Python中有很多markdown解析器,以前我一直... 查看详情
程序员的文档方式:markdown快速上手(代码片段)
1.前言没使用markdown之前,开发文档都是使用doc文档。然而doc文档不利于上传到gitHub或者gitee等代码托管平台,不易查看修改记录。而markdown她简单易上手,没有繁琐的格式和排版,且很方便查看修改记录。因此ÿ... 查看详情
盘点三款高可用的机器学习模型web页面化的工具
...ask几款的对比1streamlit笔者之前写过该专题:python︱写markdown一样写网页,代码快速生成web工具:streamlit介绍(一)python︱写markdown一样写网页,代码快速生成web工具:streamlit重要组件介绍(二)p... 查看详情
hexo快速搭建博客
...入目录npminstall—>安装项目依赖项5.编辑博客把写好的markdown文件放到source/_posts目录下hexogenerate—>用markdown生成博客页面6.将博客托管到githubgithub提供了pages服务专门用来托管个人网站注册github账号并登陆,创建一个托管网站... 查看详情
快速上手virtualenv
五分钟轻松学会管理项目开发环境。 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.x。所有第三方的包都会被pip安装到Python3的site-packages目录下。 pycharm安装可以在设置里进行管理。 如果我... 查看详情
python快速搭建开发环境(代码片段)
目录1解释器的作用2下载Python解释器3安装Python解释器4PyCharm的作⽤用5下载和安装5.1下载5.2安装6PyCharm基本使用6.1新建项目6.2新建文件并书写代码6.3运行文件1解释器的作用Python解释器作⽤:运⾏⽂件Python解释器种类CPython,C... 查看详情