mindmaster支持多终端同步,10M免费云空间对于免费用户来说够用了,又给我的IPad增加了生产力,赞!

每次在写文章之前我都会先用mindmaster的思维导图把结构写好,然后根据结构大纲写文章,昨天在写大纲的时候,一不小心把大纲的细节写的过于完善,感觉可以直接将思维导图生成一篇文章了(懒得再拷贝粘贴了)。看了下官方并没有这个功能,能不能自己实现一下?

思维导图本身是有层级结构的,如果能将思维导图的层级结构映射到markdown的分级标题那不就能够自动生成文章了,如:导图的中心思想对应markdown的一级标题,导图的第二层节点对应markdown二级标题,以此类推子层节点依次在父节点下列出来。

转换效果图:

实现方式(Python版):

1.下载mindmaster电脑版,将思维导图导出成html文件格式。

2.分析html文件中的dom结构:每个思维导图中的节点都有id和parentId属性(中心节点没有父节点)。

3.用python html解析框架实现节点的id提取和文字提取方法,推荐BeautifulSoup+lxml。

4.采用递归的方法,从中心节点出发依次找到下一层子节点,并根据递归层级打印markdown标签("#"*n)和节点文字。

5.拷贝输出结果到md文件,或在步骤4将内容直接输出到md文件。

对于有动手能力,或有爬虫经验的小伙伴肯定应该已经知道怎么实现了,本文也是抛转引玉,感兴趣的童鞋可以动手做做实验...

当然也希望官方早日出【导出到markdown】的功能啦

mindmaster导出markdown文档的更多相关文章

  1. Markdown 文档生成工具

    之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协 ...

  2. NET 5.0 Swagger API 自动生成MarkDown文档

    目录 1.SwaggerDoc引用 主要接口 接口实现 2.Startup配置 注册SwaggerDoc服务 注册Swagger服务 引用Swagger中间件 3.生成MarkDown 4.生成示例 ...

  3. python实现解析markdown文档中的图片,并且保存到本地~

    背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...

  4. 使用Python从Markdown文档中自动生成标题导航

    概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...

  5. struts2中利用POI导出Excel文档并下载

    1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情.其他不说,先上代码: package com.tydic.eshop.action.feedback; impor ...

  6. .NET通过调用Office组件导出Word文档

    .NET通过调用Office组件导出Word文档 最近做项目需要实现一个客户端下载word表格的功能,该功能是用户点击"下载表格",服务端将该用户的数据查询出来并生成数据到Word ...

  7. 使用PHP导出Word文档的原理和实例

    PHP操作Word文档的方法有很多,这里再为大家提供一种方法. 原理   一般,有2种方法可以导出doc文档,一种是使用com,并且作为php的一个扩展库安装到服务器上,然后创建一个com,调用它的方 ...

  8. C# 导出word文档及批量导出word文档(1)

         这里用到了两个dll,一个是aspose.word.dll,另外一个是ICSharpCode.SharpZipLib.dll,ICSharpCode.SharpZipLib.dll是用于批量 ...

  9. C# 导出word文档及批量导出word文档(4)

          接下来是批量导出word文档和批量打印word文件,批量导出word文档和批量打印word文件的思路差不多,只是批量打印不用打包压缩文件,而是把所有文件合成一个word,然后通过js来调用 ...

随机推荐

  1. [leetcode] 212. 单词搜索 II(Java)

    212. 单词搜索 II 这leetcode的评判机绝对有问题!!同样的代码提交,有时却超时!害得我至少浪费两个小时来寻找更优的答案= =,其实第一次写完的代码就可以过了,靠!!!第207位做出来的 ...

  2. 常用的HTTP服务压测工具介绍

    常用的HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量.排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资 ...

  3. redis主从架构宕机问题手动解决

    1    主机宕机 1.  设置端口6379是主机,端口6380是从机,全部都正常启动 2.  验证在6379写入数据,在6380也能得到数据 3.  现在将6379主机停掉,模拟主机宕机 4.  由 ...

  4. JAVA并发(5)-并发队列LinkedBlockingQueue的分析

    本文介绍LinkedBlockingQueue,这个队列在线程池中常用到.(请结合源码,看本文) 1. 介绍 LinkedBlockingQueue, 不支持null,基于单向链表的可选有界阻塞队列. ...

  5. 用Auto-TensorCore代码生成优化matmul

    用Auto-TensorCore代码生成优化matmul 将演示如何使用TVM Auto TensorCore CodeGen在Volta/Turing GPU上编写高性能matmul调度.这是一个透 ...

  6. 孟老板 BaseAdapter封装(五) ListAdapter

    BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...

  7. python+selenium基础篇,键盘操作

    1.任务要求:打开百度,在百度搜索里面输入python,通过键盘复制python到搜狗搜索,粘贴到搜狗搜索框中 实现代码如下: from selenium import webdriver from ...

  8. 编译原理-DFA的化简(最小化)

    对于给定的DFA    M,寻找一个状态数比M小的DFA    M'使得L(M)=L(M') 1.状态的等价性: 假设s和t为M的两个状态 ①若分别从状态s和状态t出发都能读出某个字α而停止于终态,则 ...

  9. 【NX二次开发】Block UI 线条颜色/线型/宽度

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  10. 【SQLite】教程08-SQLite可视化工具

    推荐使用"SQLiteStudio" 下载地址:http://www.downza.cn/soft/208363.html 设为中文的方法: 最后重启软件即可!