A Micropub browser extension
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
icons add indicator when site supports webmention Sep 4, 2018
.babelrc move authentication into store Aug 25, 2018
webpack.test.js update testing tools to latest versions Aug 15, 2018



For general usage information, see https://omnibear.com.


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:

  1. Navigate to chrome://extensions/
  2. Check the “Developer mode” box
  3. Click “Load unpacked extension” and select the /dist directory of the repository

To install in Firefox from the repository:

  1. Navigate to about:debugging
  2. Click “Load Temporary Add-On”
  3. Navigate to the /dist directory and select the manifest.json file

Theoretically, this should work in MS Edge, too, but I don’t run Windows so I haven’t tested that out.


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.