Library for extracting attachments, notes and metadata out of formats used by popular note-taking apps.
Library for extracting attachments, notes and metadata out of formats used by popular note-taking apps.
npm install --save @notable/dumper
The following providers are currently implemented:
.enex
..cson
..html
, .htm
..md
, .mkd
, .mkdn
, .mdwn
, .mdown
, .markdown
, .markdn
, .mdtxt
, .mdtext
, .txt
.The following interfaces are provided:
interface Dumper {
isSupported ( source: string ): boolean,
dump ( options: Options ): Promise<void>
}
interface Options {
DOMParser?: DOMParser, // This option is only optional if you are in a browser-like environment, e.i. "window.DOMParser" exists
source: string | string[],
dump ( note: Note ): void | Promise<void>
}
interface Note {
metadata: {
title: string,
tags: string[],
attachments: {
metadata: {
name: string,
created: Date,
modified: Date
},
content: Uint8Array
}[],
deleted: boolean,
favorited: boolean,
pinned: boolean,
created: Date,
modified: Date
},
content: Uint8Array
}
You can use the library like so:
import * as path from 'path';
import Dumper from '@notable/dumper';
Dumper.dump ({
source: path.join ( __dirname, 'source.html' ),
dump ( note ) {
// Do something with each given note object...
}
});
There are multiple ways to contribute to this project, read about them here.
MIT © Fabio Spampinato