Annotator is a JavaScript library for building annotation systems on the web. It
provides a set of tools to annotate text (and other content) in webpages, and to
save those annotations to a remote storage system. For a simple demonstration,
visit the demo or download a tagged release of Annotator from the releases
page and open demo.html
.
Annotator aims to provide a sensible default configuration which allows for annotations of text in the browser, but it also has a library of plugins, some in the core, some contributed by third parties, which extend the functionality of Annotator to provide:
- serialization: "store" plugins save your annotations to a remote server. The
canonical example is the
Store
plugin which ships with Annotator. - authentication and authorization: the
Auth
plugin andPermissions
plugin allow you to decouple the storage of your annotations from the website on which the annotation happens. In practice, this means that users could edit pages across the web, with all their annotations being saved to one server. - rendering: the
Markdown
plugin renders annotation bodies as Markdown. - storage of additional data: the
Tags
plugin allows you to tag individual annotations.
For a list of plugins that ship with Annotator, see the plugin pages of the Annotator documentation. For a list of 3rd party plugins, or to add your plugin, see the list of 3rd party plugins on the wiki.
See Getting started with Annotator.
See Plugin development.
See HACKING.rst.
Please report bugs using the GitHub issue tracker. Please be sure to use the search facility to see if anyone else has reported the same bug -- don't submit duplicates.
Please endeavour to follow good practice for reporting bugs when you submit an issue.
Lastly, if you need support or have a question about Annotator, please do not use the issue tracker. Instead, you are encouraged to email the mailing list.
The Annotator project has a mailing list, annotator-dev
, which you're
encouraged to use for any questions and discussions. We can also be found in
the #annotator
channel on Freenode.