Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bod/bbt

BoD's Bookmark Tool, a browser extension
https://github.com/bod/bbt

Last synced: 23 days ago
JSON representation

BoD's Bookmark Tool, a browser extension

Awesome Lists containing this project

README

        

# BoD's Bookmark Tool

This small browser extension allows you to synchronize bookmark folders with a remote document.

Ideal to share a bunch of bookmarks with your team at work, or your loved ones!

BoD's Bookmark Tool

## Setup

- Chrome: [Chrome Web Store](https://chrome.google.com/webstore/detail/plhhpanklegnkjipjebhdbcfdjdhkpfb).
- Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/bod-s-bookmark-tool/) (*).

## Supported remote document formats

The remote document can either be RSS, Atom, OPML, HTML, or a 'bookmarks' JSON format.

### RSS / Atom

The `item` elements will be extracted from the feed, and the `title` and `link` elements / `href` attributes will be used to create the
bookmarks.

### OPML

The `outline` elements will be extracted from the OPML document, and the `text` or `title` attributes will be used for the bookmark's name.
The `url`, `htmlUrl`, or `xmlUrl` attributes will be used for the bookmark's URL.

Subfolders are supported by nesting `outline` elements.

### HTML

All `A` elements of the document will be extracted, unless an XPath expression is provided in the URL.
To do so, append `#__xpath=` to the URL, for instance `https://example.com/bookmarks.html#__xpath=//div[@id='bookmarks']`.
The XPath can either refer to a list of `A` elements, or a single container under which all `A` elements will be extracted.

### "bookmarks" JSON

The "bookmarks" JSON format looks like this:

```json
{
"version": 1,
"bookmarks": [
{
"title": "Bookmark 1",
"url": "https://JRAF.org"
},
{
"title": "Folder 1",
"bookmarks": [
{
"title": "Bookmark 1 in folder 1",
"url": "https://google.com"
},
{
"title": "Bookmark 2 in folder 1",
"url": "https://microsoft.com"
}
]
}
]
}
```

## How to build from source

- This is [Kotlin/JS project](https://kotlinlang.org/docs/reference/js-overview.html)
- You will need a version of the [JDK](https://en.wikipedia.org/wiki/Java_Development_Kit) on your system
- After cloning this repository, issue this command: `./gradlew dist`
- This will compile and package the plugin, and the resulting `bbt-.zip` file will be in the `build/dist` folder

## * About the Firefox version

As of now, the version for Firefox is no longer updated, as since Manifest v3, it is too hard to make
a single extension that works on both Chrome and Firefox. The Firefox version is still available on the Firefox Add-ons site, but it is
stuck at version 1.4.0.

## License

Copyright 2020-present Benoit "BoD" Lubek

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.