omnibear
omnibear copied to clipboard
A Micropub browser extension
Omnibear
For general usage information, see https://omnibear.com.
Development
After cloning the repository, run npm install
to install dependencies.
-
npm run build
: build into the/dist
directory. -
npm start
: build and automatically watch for changes and rebuild. -
npm test
: run tests.npm test -- --watch
will watch for changes and re-run tests every time. If you have issues, make sure you are using node 8.x (the LTS version).
Installing from the repository
To install in Chrome from the repository:
- Navigate to chrome://extensions/
- Check the “Developer mode” box
- Click “Load unpacked extension” and select the
/dist
directory of the repository
To install in Firefox from the repository:
- Navigate to about:debugging
- Click “Load Temporary Add-On”
- Navigate to the
/dist
directory and select themanifest.json
file
Theoretically, this should work in MS Edge, too, but I don’t run Windows so I haven’t tested that out.
Overview
Omnibear is run by three scripts:
-
src/background.js
— Runs in a background page. This keeps track of which tab currently has the user's focus and handles communication between the page script and omnibear popup script. -
src/page.js
— A content script that runs in all pages (tabs). This highlights selected entries when the user right-clicks them. It alerts the background script whenever its tab receives user focus. And it watches for when the browser navigates to the authentication successful page on omnibear.com. -
src/index.js
— The main script of the popup page. This is a small webapp built using Preact and MobX that includes the posting form and settings screen.
Authentication details, user settings, and the note draft are stored in Omnibear’s localStorage.