前言

最近在探索各种现代化的笔记工具时,刚好用上了Joplin这款应用,尽管界面没那么好看,但开源、支持markdown、功能完善,而且还支持很多导入方法(事实上很多开源笔记都支持)。

其中的导入功能里面就有印象笔记,于是我想起来尘封多年的印象笔记账号。

事实上我已经很多年没用印象笔记了,上次使用似乎还是很多年前大学时,当时还开了好几年会员,用来收藏网页、微信公众号文章,挺好用的。

可惜印象笔记(evernote)从某一年开始搞了中国特供版和国际版彻底切割,吃相越来越难看,而且导出格式也改成了专有格式,越来越封闭,这不是一个好兆头,我最怕被绑定在某个平台或者生态里。

而且数据总是掌握在自己手里最安全,于是我开始了本文的笔记迁移折腾。

折腾过程

evernote-backup

https://github.com/vzhd1701/evernote-backup

一开始我使用了 evernote-backup ,但一直报错。

evernote.edam.error.ttypes.EDAMUserException: EDAMUserException(errorCode=8, parameter='consumerKey')

我猜测是印象笔记中国版改了新的token。

因为网上很多博客文章都是可以用这个工具正常导出的,不过这些文章都是在2-3年前。

也有issue提到这个问题,参考: https://github.com/vzhd1701/evernote-backup/issues/113

evernote2

https://github.com/JackonYang/evernote2

后面在issus里看到有网友 fork 了 evernote-sdk 改了个新的版本,时间还挺新的。

我打算试一试,但还是报错,不过这个报错似乎跟接口没有关系,我通过修改这个工具的代码解决了这个报错。

详情见我提交的这个 issue: https://github.com/JackonYang/evernote2/issues/8

不过使用这个方法导出之后,joplin还是不能导入,我观察了导出的文件,虽然也是enex后缀,但里面是xml格式的,还带着resources目录,这似乎和joplin需要的格式不太一样

回到evernote-backup

第二天我又继续用回了evernote-backup项目,阅读代码尝试解决这个问题,不过在代码里似乎没找到问题所在(而且有些python的代码是真的难读懂)

于是只能继续去翻issues,果然有人提到这个问题,报错的解决方式是直接使用token,而不是用户名密码登录。

首先去中国版印象笔记的官网创建tken: https://app.yinxiang.com/api/DeveloperToken.action

然后使用以下命令来创建备份

evernote-backup init-db --backend china -t token

这个工具的速度还挺快的,几千条笔记,没多久就下载好了。

导出的文件形式是一个笔记本一个enex文件。

导入Joplin

这时候就可以到Joplin这边导入了。

在 Joplin 里选择导入,选择enex目录形式,我之前在印象笔记里面主要是保存网页和公众号文章,所以这里选HTML格式,这样对原有的样式还原比较好,但同时也牺牲了可编辑性(网页在Joplin里编辑支持不佳)。

如果想要编辑可以选markdown,但格式可能会有点奇怪,这个就只能自行取舍了…

导入过程会显示进度,整个过程体验还是不错的。

每个enex文件会自动创建对应的笔记本,并且标签也能正确识别。

小结

到这里就已经成功脱离evernote了…

如果是要使用 joplin 代替印象笔记,还得配置一下同步功能,我暂时没这个需求,所以后续我再折腾一下同步功能。

最近我还同步试用了Zettlr、trilium这些笔记工具(Obsidian和Notion之前用过了),等有时间也写一下对比。

个人数据保全计划:从印象笔记迁移到joplin的更多相关文章

  1. 个人数据保全计划:(2) NAS基础知识

    前言 距离去年国庆入手了NAS至今有好几个月时间了,NAS折腾起来有点麻烦,且实际作用因人而异,并没有想象中的好用,所以说好的这个系列一直没有更新~ 还有另一方面的原因,这些NAS的系统基于Linux ...

  2. 个人数据保全计划:(1) NAS开箱

    前言 从几年前第一个硬盘故障导致参赛的文件丢失之后,我就开始意识到数据安全的重要性,开始用各种云盘做备份,当时还不是百度云一家独大,我们也都没意识到网盘备份是极其不靠谱的行为,直到因为某些不可抗力因素 ...

  3. 利用Linode面板Clone克隆搬家迁移不同VPS数据及利用IP Swap迁移IP地址

    在众多海外VPS服务商中,老蒋个人认为Linode提供的VPS方案和性价比还是比较高的,尤其目前基础1GB方案仅需10美元每月且全部是SSD固态硬盘,无论是流量还是硬盘大小,基本上可以满足我们大部分用 ...

  4. 如何加快打开网页的速度------通过调节“QoS数据包计划程序”的“限制可保留宽带”实现&如何解决win10可能找不到gpedit.msc的问题

    参考:http://www.windowszj.com/news/win10/42119.html http://www.docin.com/p-1510367352.html(QoS数据包计划程序有 ...

  5. oracle 11g dbf数据文件从C盘迁移到D盘

    服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplu ...

  6. Linux之svn数据备份、还原及迁移

    前言 因管理需求现要将svn数据进行备份,作为运维小哥的我在收到指令后进行了相关操作.当然,领导告知的是要备份,但作为一个有思想的运维,我考虑到的是自己要干的不仅仅是备份操作,还要确保在备份后数据还原 ...

  7. Oracle使用数据泵 (expdp/impdp)实施迁移

    实验环境: 1.导出环境:RedHat6.4+Oracle 11.2.0.4.0,利用数据库自带的scott示例用户进行试验测试. Directory:wjq à /tmp/seiang_wjq 2. ...

  8. mongodb数据到MySQL数据库 的迁移步骤

    废话少说,直接上干货. 1.mongoexport -d shengyang -c testData -f _id,x,name,name1,name2 --type=csv -o new.csv 用 ...

  9. kafka集群扩容以及数据迁移

    一 kafka集群扩容比较简单,机器配置一样的前提下只需要把配置文件里的brokerid改一个新的启动起来就可以.比较需要注意的是如果公司内网dns更改的不是很及时的话,需要给原有的旧机器加上新服务器 ...

  10. 迁移数据库数据到SQL Server 2017

      概述 本篇我们将利用DMA一步一步实现SQL Server 的迁移.帮助大家理解现在的SQL Server与新版本的融合问题,同时需要我们做哪些操作来实现新版本的升级或者迁移. SQL Serve ...

随机推荐

  1. 朋友要招几个java,让帮忙出点面试题目

    上周朋友说要招几个高级点的java,网上那些java面试宝典已经被人背得熟透了,让帮忙出出几个面试的问题,主要看看对所使用得语言有较深入得了解,不停留在使用什么开源框架,和对自己一些项目得见解.当然还 ...

  2. 基于golang的swagger

    Swagger 相关的工具集会根据 OpenAPI 规范去生成各式各类的与接口相关联的内容,常见的流程是编写注解 =>调用生成库->生成标准描述文件 =>生成/导入到对应的 Swag ...

  3. brew之加速

    有没有出现这种场景:使用brew install 安装程序,一直卡在brew updating,这可能是使用着默认的github镜像源导致,那么我们就需要将其切换到国内 1.镜像切换(推荐中科大) 1 ...

  4. Codeforces Round 992 (Div. 2) 解题报告

    比赛地址: https://codeforces.com/contest/2040 A. Game of Division 题目 https://codeforces.com/contest/2040 ...

  5. Taro微信小程序获取Tab页可视区域高度

    前情 公司有自己的小程序项目,因公司主要技术栈为react,所以选择了Taro来开发,Taro是京东出品的多端统一开发解决方案,用来开发小程序也相比用原生开发,在开发体验上好很多,而且还能使用成熟的R ...

  6. 使用TOPIAM 轻松搞定「JumpServer」单点登录

    本文将介绍 TOPIAM 与 JumpServer 集成步骤详细指南. 应用简介 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统.JumpServer 帮助企业 ...

  7. .NET 单文件执行程序拆解器 SingleFileExtractor

    .NET 单文件执行程序拆解器 SingleFileExtractor .NET 现在支持将程序打包为单文件格式,这方便了部署,问题是,我们不能直接看到程序中使用了哪些 DLL,更不能简单地通过查看文 ...

  8. HTMLDivElement.prototype

    HTMLDivElement.prototype.test = function(){console.log("i am div")} $0.innerHTML = '<di ...

  9. 解决WSL2无法启动提示“找不到元素”

    最近一段时间没有看 docker desktop,忽然想起来打开看看,结果死活启动不了.以前卸载之后,重新安装就好了,同样的方法尝试了很多次还是不太行,重启也不行... 后来想想是不是 wsl 出了问 ...

  10. gitlab runner install

    gitlab-runner install -d /home/gitlab-runner/ --syslog --user gitlab-runner