enex2md
Enex2md is a command-line utility to convert Evernote export files (*.enex) to GitHub Flavored Markdown. Python 3.6+ only!
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.
Metadata
Release files for enex2md 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| enex2md-0.4.2.tar.gz | 9.0 kB | Without provenance | Details for enex2md-0.4.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| enex2md-0.4.2-py3-none-any.whl | Python 3 | none | any | Details for enex2md-0.4.2-py3-none-any.whl |
Total release size: 17.6 kB
Release files / enex2md-0.4.2.tar.gz
| Download URL | enex2md-0.4.2.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37da67690ee63655cb131e84f7c2977679e6f2837b946e16b4b617061cfeae11
|
|
BLAKE2b-256 checksum How to use checksums |
62bd1a5794f2efa400a902a18a02cce6ad32d787bc1750ab2343c2170bc2955d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
|
Release files / enex2md-0.4.2-py3-none-any.whl
| Download URL | enex2md-0.4.2-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef98fc94bc4713fa173f834883f091a1794ca145fe78a729604642e2dbb60e6c
|
|
BLAKE2b-256 checksum How to use checksums |
0775e9611ad3c440520671f8d6bbdddbee87c512f9b7dbf94689014faac1b163
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
|
Security for enex2md 0.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.