个人数据保全计划:从印象笔记迁移到joplin
前言
最近在探索各种现代化的笔记工具时,刚好用上了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的更多相关文章
- 个人数据保全计划:(2) NAS基础知识
前言 距离去年国庆入手了NAS至今有好几个月时间了,NAS折腾起来有点麻烦,且实际作用因人而异,并没有想象中的好用,所以说好的这个系列一直没有更新~ 还有另一方面的原因,这些NAS的系统基于Linux ...
- 个人数据保全计划:(1) NAS开箱
前言 从几年前第一个硬盘故障导致参赛的文件丢失之后,我就开始意识到数据安全的重要性,开始用各种云盘做备份,当时还不是百度云一家独大,我们也都没意识到网盘备份是极其不靠谱的行为,直到因为某些不可抗力因素 ...
- 利用Linode面板Clone克隆搬家迁移不同VPS数据及利用IP Swap迁移IP地址
在众多海外VPS服务商中,老蒋个人认为Linode提供的VPS方案和性价比还是比较高的,尤其目前基础1GB方案仅需10美元每月且全部是SSD固态硬盘,无论是流量还是硬盘大小,基本上可以满足我们大部分用 ...
- 如何加快打开网页的速度------通过调节“QoS数据包计划程序”的“限制可保留宽带”实现&如何解决win10可能找不到gpedit.msc的问题
参考:http://www.windowszj.com/news/win10/42119.html http://www.docin.com/p-1510367352.html(QoS数据包计划程序有 ...
- oracle 11g dbf数据文件从C盘迁移到D盘
服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplu ...
- Linux之svn数据备份、还原及迁移
前言 因管理需求现要将svn数据进行备份,作为运维小哥的我在收到指令后进行了相关操作.当然,领导告知的是要备份,但作为一个有思想的运维,我考虑到的是自己要干的不仅仅是备份操作,还要确保在备份后数据还原 ...
- Oracle使用数据泵 (expdp/impdp)实施迁移
实验环境: 1.导出环境:RedHat6.4+Oracle 11.2.0.4.0,利用数据库自带的scott示例用户进行试验测试. Directory:wjq à /tmp/seiang_wjq 2. ...
- mongodb数据到MySQL数据库 的迁移步骤
废话少说,直接上干货. 1.mongoexport -d shengyang -c testData -f _id,x,name,name1,name2 --type=csv -o new.csv 用 ...
- kafka集群扩容以及数据迁移
一 kafka集群扩容比较简单,机器配置一样的前提下只需要把配置文件里的brokerid改一个新的启动起来就可以.比较需要注意的是如果公司内网dns更改的不是很及时的话,需要给原有的旧机器加上新服务器 ...
- 迁移数据库数据到SQL Server 2017
概述 本篇我们将利用DMA一步一步实现SQL Server 的迁移.帮助大家理解现在的SQL Server与新版本的融合问题,同时需要我们做哪些操作来实现新版本的升级或者迁移. SQL Serve ...
随机推荐
- php ice框架
ice框架是php扩展框架 概念和 yaf Phalcon 那种框架类似,就是把框架编译为C扩展,调用起来就等于调用C,这样框架本身的加载消耗就省下来了. pecl https://pecl.php ...
- 从PipedInputStream/PipedOutputStream谈起
本篇主要从分析PipeInputStrem和PipedOutputStream谈起.谈及软件设计的变化,以及如何将软件拆分.组合,适配-- 1 源代码分析 下面将详细分析PipedInputStrea ...
- Java 网页浏览器组件介绍
王 凯迪, 软件工程师, Convergys 上海研发中心 简介: 使用 Java 开发客户端应用有时会需要使用到浏览器组件,本文将介绍在 Java 用户界面中使用浏览器的四种方法,并且比较它们各自的 ...
- JS逆向
插件工具v_jstools:https://github.com/cilame/v_jstools 对指定的一些操作进行监听 1) 一定要开启 是否挂钩总开关 2)是否启用一下几个加解密函数挂钩输出功 ...
- Vue中使用ref属性获取元素||组件标签
元素绑定属性 //绑定ref属性 <table ref="refTable"></table> 获取元素 //在方法内 this.$refs.refTabl ...
- 云数据备份 | CDN 日志备份最佳实践
前言 内容分发网络(Content Delivery Network,CDN),是在现有 Internet 中增加的一层新的网络架构,可以有效降低用户访问延迟,提升可用性. CDN 按照小时粒度对 ...
- 百度地图 自定义弹窗 InfoBox
infoBox文档地址: https://api.map.baidu.com/library/InfoBox/1.2/docs/symbols/BMapLib.InfoBox.html infobox ...
- 准备 OpenXML 开发环境
Development with Open XML 1. 准备开发环境 1.1 Open XML SDK 现在最新的 OpenXML SDK 版本是 2.12.1 (2021/1),需要通过 NuGe ...
- 【Java】SpringBoot邮件发送实现
Springboot3 邮件发送 哔哩哔哩 萌狼蓝天 微信公众号 萌狼蓝天 依赖 <dependency> <groupId>org.springframework.boot& ...
- 【报错解决】【Linux】Name or service not known
# 配置文件位置 /etc/sysconfig/network-scripts/ # nano ifcfg-eth0查看网卡配置,确认dns已配置,且网关已配置 在虚拟机中添加临时路由网关(要与物理主 ...