Skip to content

A Python command-line utility to convert enex-files to Markdown

License

Notifications You must be signed in to change notification settings

janik6n/enex2md

Repository files navigation

enex2md

version platform wheel downloads license

Enex2md is a command-line utility to convert Evernote export files (*.enex) to GitHub Flavored Markdown. Python 3.6+ only!

NOTE: THIS PROJECT IS PRACTICALLY IN ARCHIVE MODE, AND WILL NOT BE UPDATED.

Features

In addition to the note content itself, the note metadata is included in the resulting Markdown. The enex-bundle may contain one or more notes.

Within the note content, the following features are supported:

  • Strong and emphasis text styles.
  • Ordered (i.e. numbered) and unordered lists
  • Tables created within Evernote are converted to GFM Tables
  • Tasks are converted to GFM Task list items
  • Images and other attachments
  • Code blocks
  • Subsequent empty lines are compressed to one.

The html in enex files is somewhat interesting, thus some magic is used to massage the data to functioning feature-rich Markdown. The Magic Book used here has not yet been fully written, so there might be some unfortunate side effects. Should you find one, open an issue on GitHub with a well written description and a test enex file as an attachment.

See Changelog for more details.

Installation

Installing to a virtual environment is strongly recommended. To install, run:

pip install -U enex2md

Usage

To use the CLI after installing, run the conversion with:

enex2md [enex-file-to-process]

The output is written to STDOUT by default. If you want to write to disk instead, add a flag --disk to the command. This option will create a directory based on run time timestamp, and place individual files under that.

Please note, that on STDOUT output option attachments (including images) are not processed!

Development

Clone the repository to your local machine.

I strongly recommend using a virtual environment for development.

Install the requirements with:

pip install -r requirements.txt

From the root of the repository, you can run the app with:

python -m enex2md.cli foo.enex

After editing the content, try to install the package locally with:

python setup.py install

See that everything works. You can uninstall the dev package with pip uninstall enex2md.

About

A Python command-line utility to convert enex-files to Markdown

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages