Skip to content

📇 Your digital memory extension, as a browser extension

License

Notifications You must be signed in to change notification settings

Rohanhacker/webmemex-extension

 
 

Repository files navigation

WebMemex browser extension

A browser extension that lets you grow your personal web of knowledge.

  • 📥 Store pages and 🔍 find them back in their context
  • 📝 Create pages to add notes and quotes
  • 🔗 Create links to organise your web by your associations
  • 📡 Publish your personal web on the world wide web

Because a row of dozens of tabs or bookmarks needs better organisation.

Because our minds organise by assocation, not by folders or filetypes.

Because browsers were never intended to be just viewers.

Let's make web browsers the web weavers they ought to be.

Project status

Sorry to disappoint, but we do not have the promised solution yet. 😒

This project is in full development. You are most welcome to contribute! See Hacking below about how to build and run it from source and teach it new tricks.

Approach

As it stands now, it is a WebExtension (thus should soon work on most modern browsers), bundled by browserify with some babel ES6–7→ES5 compilation, that logs and stores visited pages in PouchDB, and provides a viewer for this data based on React+Redux.

The project strategy is to combine and integrate features from other projects, and to factor out developed functionality into separate modules wherever it seems sensible. This extension could then be regarded as a bunch of different (but related) features a browser ought to have, bundled together for quick installation.

See our initial blog post for the current feature roadmap.

Contribute

Got feedback, bug fixes, new features, tips? Give a shout. 📢

Pop in on #webmemex on Freenode, send a PR or open an issue on GitHub, or send me (Gerben) a message.

Coding, design, communication, there is plenty to be done. A tiny but of funding is available to tip significant contributions. 💸

All code in this project is in the public domain, free from copyright restrictions. Please waive your copyrights on any contributions you make. See e.g. unlicense.org for more information.

Hacking

Like playing with ES6, WebExtension browser APIs, React, Redux, PouchDB? Come play along! 🎉

See Codetour.md for an explanation of the repository structure.

Build and run it

  1. Clone this repo.
  2. Get Node/NPM.
  3. Run make to compile the source files.
  4. Load it in Firefox or Chromium/Chrome:
    • In Firefox (≥49): run make fx-run (or run web-ext directly for more control). Alternatively, go to about:debugging, choose 'Load Temporary Add-on', and pick extension/manifest.json from this repo.
    • In Chromium/Chrome: go to Tools→Extensions, enable 'Developer mode', 'Load unpacked extension...', pick the extension/ folder from this repo.
    • Others browsers: let know if you have tested it!

Automatic recompilation

If the steps above worked, running make watch will trigger a quick recompilation every time a source file has been modified.

If you are testing in Firefox through make fx-run/web-ext, the extension should also reload automatically. Otherwise, depending on which part of the code you change, you may have to reload the extension in your browser:

  • If your edits affected only the overview interface, just refresh/reopen it.
  • However, if you changed the background script, you have will to reload the extension: find it back in the list of temporary add-ons/extensions and click Reload.
  • If you changed the 'content_script', it seems browser-dependent whether newly opened pages will get the new version. Better reload the extension to be sure.

About

📇 Your digital memory extension, as a browser extension

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.1%
  • CSS 6.8%
  • Other 1.1%