reader: adds PDF blob sync between peers

* Adds ability to delete PDF files from local storage.
* Converts to explicitly defined globals (makes testing easier).
* Uncovered issues in core/js with back pressure https://v.io/c/14741
* Adds an empty favicon.ico
* Changes local PDF storage to be content addressable by using a hash of the blob as the key.

Closes #6

Change-Id: I70a91a6c877d73aaf0b4429c2dc86c1989b681b2
17 files changed
tree: c7f027d854623bca5b6f20afe9972734849487a1
  1. browser/
  2. lib/
  3. public/
  4. test/
  5. .gitignore
  6. .jshintignore
  7. .jshintrc
  8. .v23ignore
  9. AUTHORS
  10. CONTRIBUTORS
  11. LICENSE
  12. Makefile
  13. package.json
  14. PATENTS
  15. README.md
  16. VERSION
README.md

Reader

An example PDF reader using Vanadium.

Development

Dependencies

If you have a $V23_ROOT setup you can install Node.js from $V23_ROOT/third_party by running:

v23 profile install nodejs

Optionally, it is possible to use your own install of Node.js if you would like to use a more recent version.

Building

The Makefile is setup to handle all dependencies once Node.js is installed. The default make task will install any modules listed in the package.json and build a browser bundle from browser/index.js via browserify.

make

It is possible to have the build happen automatically anytime a JavaScript file changes using the watch tool:

watch make

Running locally

To run a local dev server use:

make start

If you would like to change the host and or port that is used:

make start port=<port> host=<host>