本文非常适合 Electron 入门选手,墙裂推荐!

本文作者:HelloGitHub-蔡文心

大家好!这里是 HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来的一款基于 Electron 和 PHP 实现的桌面脑图工具开源项目——DesktopNaotu

不知道各位小伙伴有没有发现,现在许多工作岗位与图表制作的接触越来越多,时不时你就会接到个加急制作图表任务。市面上的多数图表制作软件要么收费,要么让充 VIP。充个月卡,很有可能只用 1 次,就没用了。这两件事加在一起就像渣 * 一边 PUA 你,一边还骗你钱!

如果你身边有这样的朋友,请介绍给我,我来负责。

如果你没有,那你现在有了,因为很不幸我就是被 PUA 的一个

好产品收费当然无可厚非,不过你可是 HG 的读者,而我们 HG 的背后是开源世界!今天带来的 DesktopNaotu 是一个开源项目,一个完全免费的脑图制作工具。话不多说,让我们来看看它的使用说明和功能吧!

一、介绍

DesktopNaotu 是基于百度脑图的本地化版本,能够帮助你在没有互联网环境的情况下,依然可以使用脑图工具。

官网:https://inaotu.org/

1.1 跨平台

DesktopNaotu 目前支持 macOS、Linux 和 Windows 7/10。

1.2 功能

  • 包含百度脑图的基本功能
  • 支持本地 .km 文件的操作
  • 支持拖拽打开 .km 文件
  • 支持关联打开 .km 文件
  • 支持自动保存文件功能
  • 支持导出多种格式文件
  • 提供 百度脑图 文件的下载方式
  • 提供 ProcessOn 思维导图的下载方式

二、安装

2.1 下载安装包

2.2 解压

将 DesktopNaotu-darwin-x64 文件夹解压至应用程序目录。

2.3 启动

好了,到这一步软件已经能够启动了,但是大家可能注意到了菜单怎么是英文的呢,官网示例明明是中文的呀。没错这里的确是有个 bug,不过我已经找到了解决方案,请看下一步:

2.4 解决语言问题

目前测试了 Windows10 和 macOS 两个较为常用的平台,发现在 Windows10 下安装后能够显示中文语言。所以如果是 Windows10 用户就可以跳过这块内容了。

像我一样想要使用中文菜单的 macOS 用户请放心,我已将帮你们趟过这个坑了。

2.4.1 语言设置

在终端输入以下命令:

 cd '~/Library/Application Support/desktopnaotu'
vi naotu.config.json

接下来会看到以下信息,将其中的 locale: en 改为 locale: zh_CN

{
"locale": "en",
"defSavePath": "/Users/caim014/Library/Application Support/desktopnaotu/backup",
"isAutoSave": true,
"recentMaxNum": 5,
"recently": [{
"time": "2021-01-21 18:07:58",
"path": "/Users/caim014/Library/Application Support/desktopnaotu/backup/Main Topic1.km"
}, {
"time": "2021-01-20 15:57:05",
"path": "/Users/caim014/Library/Application Support/desktopnaotu/backup/Main Topic.km"
}],
"version": "v0.1"
}

最后 Esc 并输入 :wq 后回车。重启 Desktopnaotu 程序就能看到效果了。

好啦,到这为止你就可以正常使用 Desktopnaotu 来绘制脑图了。

三、技术栈

前端:

  • Electron:使用了 Electron 实现跨平台应用开发
  • TypeScript

后端:PHP

四、最后

在今天的文章中比较有意思的是设置语言问题,由于官方也没有针对这个问题做解释,加上之前我也没有接触过 Electron 框架,对桌面程序的配置文件也没有太多了解。为了解决语言设置问题,也是费了很大一番功夫,当然也可能是我比较菜: )

  1. 查阅项目仓库的 issue,没有找到相关提问
  2. 加入官方群询问官方。官方开发手边没有 Mac,无法直接帮忙解决,但是给了重要线索—— naotu.config.json 文件
  3. 使用 asar 工具解压 app.asar 在根目录寻找 naotu.config.json 文件。绕了很大的圈子还没解决,因为不在根目录下

最后,克隆代码到本地在编译时在控制台输出发现了 naotu.config.json 文件的路径。过程中也想放弃推荐这个开源项目,虽然我也可以只拿 Win10 平台做演示,但我认为这就等于将《开源讲解》中的讲解抛弃了。

这也算是做这个系列的乐趣之一了,之后也会给官方提交 PR 在 Readme 中补充这一点。

我是 HelloGitHub 团队的文心,如果你喜欢这篇文章,请给我点个赞吧,这将是我继续坚持下去的最大动力!


关注 HelloGitHub 公众号 收到第一时间的更新。

还有更多开源项目的介绍和宝藏项目等待你的发掘。

被收费绘图工具 PUA 了怎么办?来看看这个老实工具吧的更多相关文章

  1. 4款BI工具功能大对比,这款BI工具你不能错过!

    在这个信息爆炸式增长的时代,挖掘数据的潜在价值显得尤为重要.越来越多的人将目光聚集于商业智能领域--BI(Business Intelligence),通过数据分析软件对来自不同的数据源进行统一的处理 ...

  2. arcengine中自定义工具和自带工具条(ICommand)点击后和其他工具使用的冲突

    自己系统中本身对于放大缩小等功能直接是单独重写的,但是如果在加一个工具条具有相同功能的话两者之间会有一些冲突,为解决该冲突可以重写工具条的OnItemClick事件 该工具条命名为axTool 我本身 ...

  3. Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector

    那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简 ...

  4. Linux工具XFTP、Xshell(centos配置java环境 工具篇 总结一)

    ♣Xmanager5是什么? ♣安装XFTP ♣安装Xshell 1.Xmanager5(官网:https://www.netsarang.com/download/software.html)是全新 ...

  5. c#中@标志的作用 C#通过序列化实现深表复制 细说并发编程-TPL 大数据量下DataTable To List效率对比 【转载】C#工具类:实现文件操作File的工具类 异步多线程 Async .net 多线程 Thread ThreadPool Task .Net 反射学习

    c#中@标志的作用   参考微软官方文档-特殊字符@,地址 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/toke ...

  6. 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具

    用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具 前言 上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件.对呀,平时工作时,想要创建 ...

  7. win7自带录像工具怎么打开?win7自带录像工具的使用方法

    http://www.xitongcheng.com/jiaocheng/win7_article_28327.html 制作教程的好帮手 win7自带录像工具怎么打开?win7自带录像工具的使用方法 ...

  8. 性能分析之工具使用——cpu、io 、mem【工具分析】

    nmon nmon 是一种在aix 与各种 Linux 操作系统上广泛使 用的监控与与分析工具,他主要记录以下内容: • cpu 占用率 • 内存使用情况 • 磁盘I/O 速度.传输和读写比率 • 文 ...

  9. 8个实用的SVG工具,20 个有用的 SVG 工具,五款超实用的开源SVG工具

    8个实用的SVG工具 [导读] 你还在为没有好用的SVG工具而发愁吗?开发人员的福音来啦!小编为大家收集罗列了8款实用的SVG工具,让我们一起来看看吧! SVG可缩放矢量图形(Scalable Vec ...

随机推荐

  1. 【Linux】history用法

    通过history命令可以查看我们在系统中输入过的命令 history命令的一些常用参数 -c  清空内存中命令历史 -d #  删除指定的历史命令,比如 history -d 100 ,就是删除第1 ...

  2. ctfhub技能树—信息泄露—hg泄露

    打开靶机 查看页面信息 使用dvcs-ripper工具进行处理 ./rip-hg.pl -v -u http://challenge-cf630b528f6f25e2.sandbox.ctfhub.c ...

  3. SAP 摘录数据集

    要在报表中创建并填充摘录数据集,需要执行三步骤:1.将要在摘录数据集中使用的记录类型定义为字段组FIELD-GROUPS该语句定义了字段组,字段组可以将几个字段组合到一个名称下,字段组不为字段保留存储 ...

  4. SAPLink 非常好用的工具

    对于SAP LINK,如果你想将一个程序完整的保存到本地,包括程序的自定义屏幕.菜单等等,那么请使用这个工具,它能够将一个程序完整的保存下来,并且移植到另一个SAP系统中,用来左程序的迁移和本地保存备 ...

  5. Linux学习安装

    Linux学习安装 服务器指的是网络中能对其他机器提供某些服务的计算机系统,相对普通PC, 服务器指的是高性能计算机,稳定性.安全性要求更高 linux安装学习 1.虚拟机 一台硬件的机器 安装vmw ...

  6. C#高级编程第11版 - 第二章 索引

    [1]2.1.1 Hello,World! 1. using static System.Console; // ... WriteLine("Hello World!"); 提前 ...

  7. Redis二进制安全

    为了便于理解,举一个例子: 在很多编辑器中,都会默认/n是换行字符,也就意味着一串字符存进去,涉及/n都会做一个默认的转义处理,这在编辑语言中,C也有这个特性,例如字符串Hello,\0 World! ...

  8. Lucene 查询原理 传统二级索引方案 倒排链合并 倒排索引 跳表 位图

    提问: 1.倒排索引与传统数据库的索引相比优势? 2.在lucene中如果想做范围查找,根据上面的FST模型可以看出来,需要遍历FST找到包含这个range的一个点然后进入对应的倒排链,然后进行求并集 ...

  9. 初识JavaScript和jQuery

    JavaScript 1.特性 ①脚本语言.JavaScript是一种解释型的脚本语言,C.C++.Java等语言先编译后执行, 而JavaScript是在程序的运行过程中逐行进行解释. ②基于对象. ...

  10. python 9学习 高级特性

    高级特性 掌握了Python的数据类型.  语句      和函数,基本上就可以编写出很多有用的程序了. 比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: L = [] n ...