Annotator PouchDB Storage Plugin
APACHE-2.0 License
PouchDB provides a fabulous offline-first storage option with the power to replicate between Apache CouchDB , IBM Cloudant, and others.
Annotations are often personal things that you may want to share later. This plugin allows you to add offline-first storage into your Annotator-based extension, app, or UI.
$ npm install -g browserify # if you don't already have it
$ npm install
$ npm run dev # builds annotator.js and annotator-pouchdb.js
You can then open the included index.html
file and annotate it, or run it
inside a local web server (try python -m SimpleHTTPServer
if you have python
handy and are in a hurry).
Use index.html
as a reference for your project.
Install it from the XPI in the repo. Or...if you want to help make it awesome!...keep reading. 😺
There are bundled assets in the firefox/data
and firefox/lib
folders that
you will need to update if you change anything, but...if you haven't...
$ npm run firefox # copies annotator*.js files to firefox/data/
$ cd firefox
$ mkdir temp-profile # so you can see annotations post-reload
$ cfx run --profile# rashly assuming you have the Mozilla Add-on SDK installed
Then, visit a web page, and Annotate!!!
Close the browser, follow those steps again, annotate some more!! 😺
Obviously, there comes a time where you might want these annotations to live
in at least one other place. PouchDB supports the Apache CouchDB Replication
Protocol and you can use the .sync()
method to keep your offline-first copy in sync with a remote Apache CouchDB
or IBM Cloudant database.
Apache 2.0