4.0.3 • Published 9 months ago
@notable/dumper v4.0.3
Dumper
Library for extracting attachments, notes and metadata out of formats used by popular note-taking apps.
Features
- Markdown: all notes are converted to Markdown automatically, no matter what format each note uses.
- Modular: each supported format is implemented by a "provider", additional providers can be implemented easily, learn more about implementing one yourself here.
- Lightweight: extra care has been taken to ensure this library is lightweight, no external DOM implementation is loaded by default and the most lightweight dependencies are being used.
Install
npm install --save @notable/dumper
Providers
The following providers are currently implemented:
- Enex: it can import notes exported via Evernote.
- Extensions:
.enex
.
- Extensions:
- Boostnote: it can import notes written using Boostnote.
- Extensions:
.cson
.
- Extensions:
- HTML: it can import HTML notes, most popular note-taking apps can export to HTML.
- Extensions:
.html
,.htm
.
- Extensions:
- Markdown: it can import plain Markdown notes.
- Extensions:
.md
,.mkd
,.mkdn
,.mdwn
,.mdown
,.markdown
,.markdn
,.mdtxt
,.mdtext
,.txt
.
- Extensions:
Usage
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...
}
});
Contributing
There are multiple ways to contribute to this project, read about them here.
Related
- Notable: The Markdown-based note-taking app that doesn't suck.
License
MIT © Fabio Spampinato
4.0.3
9 months ago
4.0.2
9 months ago
4.0.1
1 year ago
4.0.0
1 year ago
3.1.3
2 years ago
3.1.2
2 years ago
3.1.1
2 years ago
3.1.0
2 years ago
3.0.1
2 years ago
3.0.0
2 years ago
2.0.3
2 years ago
2.0.2
3 years ago
2.0.1
4 years ago
2.0.0
4 years ago
1.3.5
4 years ago
1.3.4
4 years ago
1.3.3
4 years ago
1.3.2
4 years ago
1.3.1
4 years ago
1.3.0
5 years ago
1.2.3
5 years ago
1.2.2
5 years ago
1.2.1
5 years ago
1.2.0
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.0
5 years ago