免费云笔记哪个好用(手机上做笔记的app推荐)

有道云笔记有脑图功能,我平时经常用到,之所以很少用到其他脑图工具,是因为我一直用有道云笔记写笔记。因此编辑脑图和查看脑图比较方便,但是需要将脑图导出的时候目前只支持图片和xmind,但是需要开会员,由于囊中羞涩,所以我想了别的方案。

无需会员将有道云笔记脑图转换xmind,满满的干货

解决方案

我找到xmind的官方GitHub:
https://github.com/xmindltd,找到了python的SDK,看了下有python和java以及js这三个sdk,但是Java和python的sdk已经不维护了,不过还是可以用的,就是新功能可能用不了。

无需会员将有道云笔记脑图转换xmind,满满的干货

找到了生成xmind的方法,但是如何将有道云笔记脑图的源文件拿到呢?还得分析一下源文件格式,写写算法去进行转换。之前导出过有道云笔记,知道好多文件都是明文保存,没有加密啥的,因此我用everything搜索了我的文件名,还真找到了办法。如下图所示,就是我找到的文件名,然后通过文件搜索工具搜到了源文件位置。

无需会员将有道云笔记脑图转换xmind,满满的干货

下面是我的思维导图的源文件,用文本方式打开,发现就是一个简单的json格式。

无需会员将有道云笔记脑图转换xmind,满满的干货

下面就是json内容,实际就是每个节点都有父节点id,根节点没有父节点,每个节点组成一个数组,这种格式处理最好用的就是递归的方法。

{
    "nodes": [
        {
            "id": "root",
            "isroot": true,
            "topic": "测试脑图",
            "customStyle": {
                "fontFamily": [
                    "Microsoft YaHei",
                    "STXihei"
                ]
            },
            "link": null,
            "expanded": true,
            "parentid": null,
            "style": {}
        },
        {
            "id": "a231f89912e42e5b",
            "topic": "分支主题1",
            "customStyle": {
                "fontFamily": [
                    "Microsoft YaHei",
                    "STXihei"
                ],
                "borderColor": "#4D94FF"
            },
            "expanded": true,
            "parentid": "root",
            "style": {}
        }
    ],
    "readOnly": false,
    "toolbar": {
        "lineType": "default",
        "strategy": "logic_right",
        "zoom": 1,
        "loading": true,
        "borderColor": "#4D94FF"
    },
    "remarks": {},
    "version": "2.0",
    "resourceList": ""
}

动手操作

我的所有代码都放到GitHub:
https://github.com/jan-bar/mindmap_to_xmind,如果有兴趣,可以去看看,核心代码如下,没有太复杂的东东。

import json
import xmind
import sys
import os

def convert_mindmap_xmind(input_file, save_file):
    data_dict = {}  # 将节点保存到字典中
    with open(input_file, 'r', encoding='utf-8') as f:
        json_data = json.load(f)
        for node in json_data['nodes']:
            data_dict[node['id']] = {
                'id': node['id'],
                'parentid': node['parentid'],
                'topic': node['topic'],
                'sub_topic': {},
            }

    data_root = None
    for val in data_dict.values():
        if val['id'] == 'root':
            data_root = val  # 保存根节点
        elif n := data_dict.get(val['parentid']):
            # 当前节点挂到父节点下
            n['sub_topic'][val['id']] = val
    if data_root is None:
        print('数据有误,没有找到根节点')
        return
    # print(json.dumps(data_root))  # 可以打印看看结果

    if os.path.exists(save_file):
        os.remove(save_file)  # 目标文件存在则删除

    mind = xmind.load(save_file)
    sheet1 = mind.getPrimarySheet()
    # 获取sheet并设置名称为输入文件名
    sheet1.setTitle(os.path.basename(input_file))
    root1 = sheet1.getRootTopic()
    # 设置属性为: 逻辑图(向右), 和有道云笔记保持一致
    root1.setAttribute('structure-class', 'org.xmind.ui.logic.right')

    def set_topic(root, val_data):
        root.setTitle(val_data['topic'])
        for sub_val in val_data['sub_topic'].values():
            set_topic(root.addSubTopic(), sub_val)
    set_topic(root1, data_root)  # 递归设置子节点

    xmind.save(mind, save_file)


if __name__ == '__main__':
    if len(sys.argv) != 3:
        print(f'usage: {sys.argv[0]} input.mindmap save.xmind')
        exit(0)
    convert_mindmap_xmind(sys.argv[1], sys.argv[2])

最终效果,上面那个有道云笔记的结构完美转换为下面的xmind,然后就可以通过xmind导出成各种格式,满足大家的所有需求了。

无需会员将有道云笔记脑图转换xmind,满满的干货

总结

生活中有很多技巧都需要我们去发现,并找到解决方案。想一想自己的需求是不是大家的需求,如果是那就有解决的价值。反正我有了这个方案就可以放心地在有道云笔记上写脑图了。如果需要发布给其他人看,就通过我的这个项目导出成xmind,然后通过xmind导出成各种格式文件。

版权声明:本文图片和内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送联系客服 举报,一经查实,本站将立刻删除,请注明出处:https://www.4kpp.com/7218.html

(0)
漫空客漫空客
上一篇 2023年4月23日
下一篇 2023年4月23日

相关推荐

  • 腹肌撕裂(腹肌撕裂者16分钟)

    今天给大家分享一下腹肌撕裂的知识,我也会讲解16分钟的腹肌撕裂。如果你碰巧解决了你现在面临的问题,别忘了关注这个网站,现在就开始! 腹部开膛手到底是什么? 腹肌开膛手:一般指超高强…

    投稿 2023年4月23日
    1020
  • 马头琴是我国哪个民族的乐器(马头琴是什么乐器)

    今天,我将与你分享马头琴是什么样的民族乐器的知识,并解释马头琴是什么样的乐器。如果你碰巧解决了你现在面临的问题,别忘了关注这个网站,现在就开始! 马头琴是中国哪个民族的传统乐器? …

    投稿 2023年4月23日
    1050
  • 速读法(速读法是什么意思)

    今天给大家介绍速读法以及相应的知识点。希望对你有帮助,也别忘了收藏这个网站。 * * *和快速阅读的技巧 速读* * *包括:发展默读,扩大注视点范围,减少回看。技能包括:浏览、扫…

    投稿 2023年4月23日
    1080
  • 沁人心脾的音乐(沁人心脾的纯音乐)

    今天和大家分享一下清爽音乐的知识,也讲解一下清爽纯音乐。如果你碰巧解决了你现在面临的问题,别忘了关注这个网站,现在就开始! 青藏高原原创歌曲 青藏高原的原唱是李娜。 《青藏高原》是…

    投稿 2023年4月23日
    2270
  • 污染地下水(污染地下水的行为)

    今天给大家分享一下地下水污染的问题。以下是这个问题的总结。让我们来看看。 什么是被污染的地下水? 地下水是地下的水源,由河流、湖泊和雨水形成,一直储存在地下。然而,随着城市的发展和…

    投稿 2023年4月23日
    830
  • 京东无货源店群(京东无货源店群模式)

    其实京东无货源开店模式是指利用京东平台买卖双方的信息差,做一件代发,从中赚取差价,即相当于做中间商。 而想要在京东做无货源开店,首先得开店,然后选品、找代发平台/店铺,最后做好店铺…

    投稿 2023年4月23日
    1910
  • 蓝色妖姬产地(蓝色妖姬产地和季节)

    今天给大家分享一下蓝女巫的来历知识,也给大家讲解一下蓝女巫的来历和季节。如果你碰巧解决了你现在面临的问题,别忘了关注这个网站,现在就开始! 蓝女巫的家在哪里? 蓝色妖姬的家在亚洲东…

    投稿 2023年4月23日
    2430
  • 北京自助游(北京自助游攻略)

    今天小编给各位分享北京自助游(北京自助游攻略),如果能碰巧解决你现在面临的问题,别忘了关注小站,我们一起开始吧! 现在北京有哪些公园不需要预约? 北京未保留的公园景点如下: 1.未…

    投稿 2023年4月23日
    1020
  • 房产证满两年过户费多少(房产证不满2年怎样过户)

    买房总有一天要卖房,房产过户也不仅仅是买卖这么简单,房产过户种类不同,过户的手续和费用也不同。房产过户方式通常有三种,“房产赠与”、“房产继承”和“房产买卖”,房产过户需要什么手续…

    2023年4月23日
    960
  • 兴高采烈是什么意思(得意忘形是什么意思)

    今天小编给各位分享兴高采烈是什么意思(得意忘形是什么意思),如果能碰巧解决你现在面临的问题,别忘了关注小站,我们一起开始吧! 充满活力是在特定情况下表达的。 1.我开心的走在路上,…

    投稿 2023年4月23日
    920

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注