hello-world
webエンジニアのメモ。とりあえずやってみる。

[js][evernote]ENMLをHTMLに変換する

公開日時

EvernoteのメモをKindleで読みたいと思って実験していた際のメモ。

Evernoteのメモは ENMLというEvernote用のマークアップ言語で記述されています。

そのため、API経由でノートを取得した場合もENML形式で取得されるため、そのメモを「 Send to Kindle」で送ってもエラーになってしまいメモを読むことが出来ません。

そこでENMLをHTMLに変換する方法を調べていたところ、 wanasit/enml-js というjsライブラリを発見。

こちらを使わせていただくことにしました。

以下のような変換スクリプトを作成。

# enml2html.js

var enml = require('enml-js');
var argv = require('argv');
var fs = require('fs');

var content_path = argv.run().targets[0];
var note = fs.readFileSync(content_path, 'utf8');
var html = enml.HTMLOfENML(note)
console.log(html);

サンプルとして以下のようなENMLメモがあった場合、

# sample.enml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml2.dtd">
<en-note><p><span>Hello World</span></p></en-note>

引数にファイル名を指定してnodejsを実行すると

node enml2html.js sample.enml

以下のようにhtmlに変換できます。

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><p><span>Hello World</span></p></body></html>

これをKindleに送ればEvernoteメモをKindleで読めるようになります。


Related #Evernote

MyEverFood2013 〜2013年に Evernote Food で撮りためた食事〜

今年の1月に Evernote Foodを使い始めました。

MyEverFood2014 〜2014年に Evernote Food で撮りためた食事〜

今年もこの季節がやって来ました。

MyEverFood2015 〜2015年に撮りためた食事〜

年が明けてだいぶ経ってしまいましたが、自分の中で毎年恒例となった1年のご飯写真まとめギャラリーの2015年版を作りました。