I’ve accumulated many notes (2000+) in Evernote over the years, and love that it can store binary attachments such as images or other media files. My favorite feature is the Evernote Web Clipper browser extension; it does a fantastic job at saving the parts of an article I want to save while keeping the styling intact.
Evernote has a free plan which I’ve enjoyed for a long time, but recently the financial status of the company has come into question, and they restricted syncing to only two devices. Also, the last thing I want to happen is another kind of Google Reader shutdown fiasco. I doubt that a shutdown would make my existing notes disappear, but it’s better to be prepared ahead of time. To that extent, I’ve been looking for a viable option to migrate my notes into another platform.
Obviously it’s not in Evernote’s best interest to help people migrate away from them, but nevertheless the desktop app provides two flavors of export: one big Evernote XML file with base64 encoded attachments; or a directory of HTML files, one for each note which a correspondingly-named .resources directory holding attachments and web assets for each note.
The technologically savvy searcher can find several projects designed to ETL data from Evernote’s servers and put in into another system. If you wanted to populate a Hugo site with Evernote data, one could use enwrite. If you’re already on WordPress you could try out the Evernote Sync plugin. But with as many notes as I have, pulling the notes from the central server is slow, error-prone, and likely to hit some usage limit that Evernote enforces. The best approach for me is to use the desktop app’s export feature and then transform it into something digestible by WordPress.
my solution
Following this track, I first thought of writing a converter for the giant Enex (Evernote XML) file to make it into one or more RSS / WXR files, then using the associated native importer for WordPress. But I wasn’t sure how to keep all the base64 attachments, or if I would be able to keep the metadata I wanted. After many fits and starts, I saw the WordPress plugin HTML Import 2. This is the solution that worked for me, but there’s no free lunch, and it took me at least five tries with it to get what I wanted. In fact it says plainly in the documentation that you won’t get it right the first time. 🙂
Making it work consists of going through about 5 panes of plugin settings, transforming the Evernote HTML files a bit, and putting all the files in the right place.