In this post I will explain how you can export your notes from Evernote as plain text files in the popular Markdown format. The purpose is of course to make the migration from Evernote to TagSpaces or any other file based note taking application as painless as possible.
In the original version of this post, we were proposing the use of the Geeknote project, but since it is not actively developed anymore, we are suggesting the use of this Geeknote’s fork. Just for clarification Geeknote is a command line client for Evernote.
Preparating your notes
The basic idea here is to create a new notebook and call it for example
4export. Then go throught your notes and copy them in the newly created notebook, as shown in the following screenshot. This copying is needed because in some circumstances explained later, this notebook could be synced with local files, which could damage your original notes in Evernote.
The preparation of the notes is performed in the Windows desktop client of Evernote, because here you can easily copy notes to another notebook and change their names.
Tag Migration (relevant only for TagSpaces)
The Geeknote application does not currently support export of tags attached to your notes. So in order to migrate your tags to TagSpaces, I am suggesting to add manually the tags you want to export in brackets (
]) to the note title. As seen in the next screenshot.
This suggestion is of course not perfect and requires a lot of manual work if you want to transfer many tags, the positive site is that it gives you the opportunity to rethink the tagging decisions you already have made.
You have to execute the following command in order to install Geeknote.
git clone git://github.com/VitaliyRodnenko/geeknote.git sudo python setup.py install geeknote login
If you are not using the two way authentication, skip this step by confirming with
Exporting your notes
And now the most important command, which is indeed exporting your notes:
gnsync --path ./data --notebook "4Export" --logpath ./log.txt --two-way TWO_WAY --format markdown
So here you are exporting your notes from the
4export notebook in markdown format in a local folder called
data. You can also export your notes in plain text with all the formatting information stripped down by exchanging
--format markdown with
--format plain. The
--logpath switch is optional, giving you additional information about the progress of the sync.
Warning! Please make sure that before every execution of the previous sync command, the target local directory is empty. Otherwise Geeknote will try to sync the content of this directory back to Evernote, resulting in overwritting the notes with same names in Evernote with the local files. And since the local files are already stripped to markdown files without any embedded images or attachments, you will loose this information also on Evernote. That is the reason why I am suggesting to copy and not moves the notes you want to export in the newly created
##Results in TagSpaces On the following screenshot you can see the export result in TagSpaces, with one opened markdown file:
And here the results as plain files listed on the command line:
The proposed approach is not perfect and had some important limitations:
- Any files attached to a note will not be exported
- Any embedded image or any other embedded content will be also lost
- Tags and reminders are also ignored, except you manually add the tag to the title of the note
I hope that some of these limitations will be implemented in future versions of Geeknote.
Some final tips
Here some other helpful commands for Geeknote:
- renaming a note:
geeknote edit -n Title -t Title[tag1]
- list all notes
The research for this post was performed on Linux and the proposed solution should work without modifications on Mac OS. On Windows the commands should be similar, but I did not have had the chance to test them.
Furthermore I am curious to learn how you are exporting or backing up content from Evernote. Any improvement suggestions or new ideas are also welcome.