Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samhh/bukubrow-webext
WebExtension for Buku
https://github.com/samhh/bukubrow-webext
buku fp-ts functional reactjs typescript webextensions
Last synced: 7 days ago
JSON representation
WebExtension for Buku
- Host: GitHub
- URL: https://github.com/samhh/bukubrow-webext
- Owner: samhh
- License: gpl-3.0
- Created: 2017-02-22T13:48:19.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T14:17:36.000Z (over 1 year ago)
- Last Synced: 2024-08-02T16:11:19.185Z (3 months ago)
- Topics: buku, fp-ts, functional, reactjs, typescript, webextensions
- Language: TypeScript
- Homepage:
- Size: 2.12 MB
- Stars: 307
- Watchers: 12
- Forks: 21
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Bukubrow
Bukubrow is a WebExtension for [Buku](https://github.com/jarun/Buku), a command-line bookmark manager.
- Display, open, add, edit, and delete bookmarks
- Quickly search for and open bookmarks from the address bar
- Automatically save open tabs to the _staging area_ from the context menu, from which they can be optionally edited and saved
- Filter bookmarks with any of the following syntax: `:url`, `>description`, `#tag`, `*wildcard`
- Bookmarklet (arbitrary JavaScript scripting) support, simply prepend your "URL" with `javascript:`, for example: `javascript:document.body.style.background = 'red'`
- Custom hotkeys are available - please read the instructions [here](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands#updating_shortcuts) to customise them in your browser## Prerequisites
A corresponding [native host](https://github.com/SamHH/bukubrow-host) is used to interface with your Buku database. Communication between the host and the browser extension is handled via [native messaging](https://developer.chrome.com/extensions/nativeMessaging).
- Buku
- Bukubrow Host
- Supported browser: Firefox, Chrome, or Chromium
- _If building the WebExtension_:
- Node
- Yarn## Installation
Installing the host and registering it with your browser is required to allow the browser extension to talk to Buku.
Install the WebExtension from the relevant addon store.
- Chrome/Chromium: https://chrome.google.com/webstore/detail/bukubrow/ghniladkapjacfajiooekgkfopkjblpn
- Firefox: https://addons.mozilla.org/en-US/firefox/addon/bukubrow/Alternatively, you can build the WebExtension manually as follows:
1. Clone the repo.
2. Run `make webext`. Your zip file will be located within the `./release/` directory. This zip file is the exact structure expected by all compatible browsers.
3. Load the extension in your browser. Please refer to the browser documentation.## Contributing
The WebExtension is written in strict TypeScript, utilising React for rendering and Redux with thunks for state management, and makes heavy use of the functional library `fp-ts` for ADT-driven data management and enhanced type safety. Yarn is used for dependency management and task running. Data is fetched from the host via native messaging.