Skip to content

Migrate from evernote to simplenote with markdown formatting

Notifications You must be signed in to change notification settings

dougdiego/ever2simple

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Evernote and Simplenote are two online based note taking apps. Evernote focuses more on giving the end user rich text and the ability to upload voice clips and images for OCR. Simplenote on the other hand, as seen by its name, is a much simpler approach. It just stores your plain text notes, and that is it.

This package installs a script to help you migrate from Evernote into Simplenote by exporting the notes as files. The script will take an Evernote enex export and turn it into a json, csv or directory of *.md files.

The html that is provided by Evernote is processed by the html2text library. This transforms the html into Markdown. The Simplenote web UI supports previewing notes in Markdown, so this works out nicely.

Installation

You can easily install this package using easy_install or pip as follows (preferably in a virtualenv):

$ pip install -U ever2simple

Development Installation

Clone this repository with git:

$ git clone https://github...

Enter the code directory:

$ cd ever2simple

Install live preserving local changes to the code:

$ pip install -e .

Usage

Once it is installed, you will have a new executable available to you. Before you can run the conversion, you will need to export your notes. This can be done from the desktop client. You can select the notes you want to export, then Export Notes to Archive..., and select the enex format.

Once you have that, you can run the script on the file setting the --output to a directory and using dir as the parameter to --format:

$ ever2simple my_evernote.enex --output simplenote_dir --format dir

That will output each note in a *.md file named by the note's title to the simplenote_dir directory (creating it if it doesn't exist).

You can now request Simplenote's support to enable Dropbox synchronization to your account here: https://simplenote.com/contact-us/

Once they enable Dropbox synchronization for you, go to https://app.simplenote.com/settings and configure it (in the last section).

After that, copy your converted *.txt note files to your Simplenote directory inside your Dropbox and synchronize them from https://app.simplenote.com/settings.

If you want to export to CSV you can pass csv to the --format parameter:

$ ever2simple my_evernote.enex --output simplenote.csv --format csv

If you want to export to JSON you can pass json to the --format parameter (or just don't use that parameter as json is the default):

$ ever2simple my_evernote.enex --output simplenote.json --format json

Command Line Help

The help given by running ever2simple -h:

usage: ever2simple [-h] [-o OUTPUT] [-f {json,csv,dir}]
                [-m {all,title,date,keywords}]
                enex_file

Convert Evernote.enex files to Markdown

positional arguments:
enex_file             the path to the Evernote.enex file

optional arguments:
-h, --help            show this help message and exit
-o OUTPUT, --output OUTPUT
                        the path to the output file or directory, omit to
                        output to the terminal (stdout) (default: None)
-f {json,csv,dir}, --format {json,csv,dir}
                        the output format, json, csv or a directory (default:
                        json)
-m {all,title,date,keywords}, --metadata {all,title,date,keywords}
                        For directory output only. Specify the metadata you
                        would like to add on top of the markdown file. Valid
                        options are 'all', 'title', 'created', and 'keywords'.
                        Default is 'all'. You can specify this argument
                        multiple times, by which you can also control the
                        order in which metadata lines are printed. Metadata is
                        printed in MultiMarkdown format. (default: None)

Notes and Caveats

  • Simplenote no longer supports JSON and CSV imports, only text files via Dropbox.
  • This does not handle any attachments since simplenote doesn't support them. This script does not ignore the note that has attachments. This may make for some strange notes being imported with little to no text.
  • Evernote's export looks like those horrific Microsoft Word html exports. You may want to cleanse the content data a bit before running the script. This is left as an exercise for the user.
  • The notes in Evernote randomly contain unicode characters that aren't really harmful to you today, but may bite you in the rear later. This script just passes the buck, no extra cleansing of the text is done. The oddest character is a unicode space, why on earth do we need unicode spaces in our notes?1?!

Links

PyPi
http://pypi.python.org/pypi/ever2simple
Github
http://github.com/claytron/ever2simple
Bug Reports
http://github.com/claytron/ever2simple/issues

TODO

  • Write some basic tests
  • Unicode for DictWriter
  • Test on Python 3

About

Migrate from evernote to simplenote with markdown formatting

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%