首页 > 作文

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

更新时间:2023-04-05 05:51:46 阅读: 评论:0

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

解决方案

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

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

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

下面就是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": fal,    "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 jsonimport xmindimport s欢送会发言ysimport osdef 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.ttitle(os.path.baname(input_file))    root1 = sheet1.getroottopic()    # 设置属性为: 逻辑图(向右), 和有道云笔记保持一致    root1.tattribute('structure-class', 'org.xmind.ui.logic.right')    def t_topic(root, val_data):        root.ttitle(val_data['topic'])        for sub_val in val_data['sub_topic'].values():            t_topic(root.addsubtopic(), sub_val)    t_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导出成各种格式文件。

本文发布于:2023-04-05 05:51:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/95571383d69d7efd7bdf9f96aeb4e8b9.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:免费云笔记哪个好用(手机上做笔记的app推荐).doc

本文 PDF 下载地址:免费云笔记哪个好用(手机上做笔记的app推荐).pdf

标签:节点   笔记   源文件   递归
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图