All Projects → Fannon → search-bookmarks-history-and-tabs

Fannon / search-bookmarks-history-and-tabs

Licence: MIT License
Browser extension to search and navigate browser tabs, local bookmarks and history.

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to search-bookmarks-history-and-tabs

awesome-bookmarking
🔖 Everything bookmarking related
Stars: ✭ 56 (-1.75%)
Mutual labels:  bookmark, bookmarks
Bookmarks
🔖 Bookmark app for Nextcloud
Stars: ✭ 575 (+908.77%)
Mutual labels:  bookmark, bookmarks
Buku
🔖 Personal mini-web in text
Stars: ✭ 4,825 (+8364.91%)
Mutual labels:  bookmark, bookmarks
Snipit
Snipit allows you to capture and save interesting sections from any source of information. Be it textbooks, journals, computer screens, photographs, flyers, writings on a whiteboard, etc.
Stars: ✭ 70 (+22.81%)
Mutual labels:  bookmark, bookmarks
Floccus
☁️ Sync your bookmarks privately across browsers
Stars: ✭ 2,630 (+4514.04%)
Mutual labels:  bookmark, bookmarks
Reminiscence
Self-Hosted Bookmark And Archive Manager
Stars: ✭ 1,303 (+2185.96%)
Mutual labels:  bookmark, bookmarks
Nighttab
A neutral new tab page accented with a chosen colour. Customise the layout, style, background and bookmarks in nightTab.
Stars: ✭ 598 (+949.12%)
Mutual labels:  bookmark, bookmarks
Bookmarks.dev
Bookmarks and Code Snippets Manager for Developers & Co
Stars: ✭ 218 (+282.46%)
Mutual labels:  bookmark, bookmarks
Cyca
Web-based bookmarks and feeds manager
Stars: ✭ 15 (-73.68%)
Mutual labels:  bookmark, bookmarks
node-bookmarks-parser
Parses Firefox/Chrome HTML bookmarks files
Stars: ✭ 44 (-22.81%)
Mutual labels:  bookmark
solr-ontology-tagger
Automatic tagging and analysis of documents in an Apache Solr index for faceted search by RDF(S) Ontologies & SKOS thesauri
Stars: ✭ 36 (-36.84%)
Mutual labels:  tagging
bookmark-beautifier
A google chrome extension that sorts and manages bookmarks.
Stars: ✭ 39 (-31.58%)
Mutual labels:  bookmarks
MarkSearch
A Desktop Bookmarking App
Stars: ✭ 39 (-31.58%)
Mutual labels:  bookmarks
popc
Popc manager for vim & neovim
Stars: ✭ 17 (-70.18%)
Mutual labels:  bookmark
bookmarklets-context-menu
WebExtension allow to execute bookmarklets as privileged scripts
Stars: ✭ 67 (+17.54%)
Mutual labels:  bookmarks
autotagger
Tag .mp3 and .m4a audio files from iTunes data automatically.
Stars: ✭ 25 (-56.14%)
Mutual labels:  tagging
mdash
⭐️ Lightweight new tab page for Chrome/Firefox, synced with your bookmarks
Stars: ✭ 19 (-66.67%)
Mutual labels:  bookmark
flying-apple
Just to keep track of nice content and new announcements related to Apple products and Swift
Stars: ✭ 45 (-21.05%)
Mutual labels:  bookmarks
pinboard-bookmarks-to-chrome
A Chrome extension for displaying bookmarks from Pinboard in the Bookmarks Bar.
Stars: ✭ 20 (-64.91%)
Mutual labels:  bookmarks
osmosmemo
Turn GitHub into a bookmark manager
Stars: ✭ 120 (+110.53%)
Mutual labels:  bookmark

Search Bookmarks, History and Browser Tabs

🔎 Browser extension to (fuzzy) search and navigate bookmarks, history and open tabs.

Installation via Store

Features

This extension does not collect any data nor does it make any external requests (see Privacy).

It supports three different search approaches:

  • Exact search (starts with matching): Faster, but only exact matching results.
  • Fuzzy search (approximate string matching): Slower, but includes also inexact (fuzzy) matches.
  • Hybrid search (combination): Combines results of both approaches, but also the performance implications.

With this extension you can also tag your bookmarks including auto completions. The tags are considered when searching and can be used for navigation.

The extension is very customizable (see user options) and has a dark / light theme that is selected based on your system settings (see prefers-color-scheme).

For a list of recent changes, see CHANGELOG.md.

Screenshots & Demo

Demo Animation

Privacy / Data Protection

This extension is built to respect your privacy:

  • It does not have permissions for outside communication, so none of your data is shared or exposed externally.
  • The extension does not even store any information except your user settings. Every time the extension popup is closed, it "forgets" everything and starts from a blank slate next time you open it.
  • There is no background job / processing. If the popup is not explicitly opened by the user, the extension is not executed.
  • The extension only requests the following permissions for the given reasons:
    • bookmarks: Necessary to read and edit the bookmarks. Can be disabled via user configuration.
    • history: Necessary to read the browsing history. Can be disabled or limited via user configuration.
    • tabs: Necessary to find open tabs and to use tabs for navigation. Can be disabled via user configuration.
    • storage: Necessary to store and retrieve the user configuration. If the browser has setting synchronization enabled, the extension settings will be synced (in this case you already trust your browser to sync everything else anyway). If browser sync is disabled, the user configuration is only stored locally.
  • The extension is open source, so feel free to convince yourself :)

User Documentation

  • Search Strategies: Switch between precise and fuzzy approach by clicking on the FUZZY or PRECISE button in the search bar (top right).
  • Keyboard Shortcut: Trigger the extension via keyboard.
    • The default is CTRL + Shift + ., but you can customize this.
  • Open selected results: By default, the extension will open the selected result in a new active tab, or switch to an existing tab with the target url.
    • Hold Shift or Alt to open the result in the current tab
    • Hold Ctrl to open the result without closing the popup.
  • Search Modes: In case you want to be more selective -> use a search mode:
    • Start your query with #: only bookmarks with the tag will be returned (exact "starts with" search)
      • Supports AND search, e.g. search for #github #pr to only get results which have both tags
    • Start your query with ~: only bookmarks within the folder will be returned (exact "starts with" search)
      • Supports AND search, e.g. search for ~Sites ~Blogs to only get results which have both tags
    • Start your query with t (including space): only tabs will be searched.
    • Start your query with b (including space): only bookmarks will be searched.
    • Start your query with h (including space): only history will be searched.
    • Start your query with s (including space): only search engines will be proposed.
  • Special Browser Pages: You can add special browser pages to your bookmarks, like chrome://downloads.
  • Custom Scores: Add custom bonus scores by putting +<whole number> to your bookmark title (before tags)
    • Examples: Bookmark Title +20 or Another Bookmark +10 #tag1 #tag2
  • This extension works best if you avoid:
    • using # in bookmark titles that do not indicate a tag.
    • using ~ in bookmark folder names.

User Configuration

The extension is highly customizable. Finding and setting options is a bit technical, though.

The user options are written in YAML or JSON notation.

For now, there is no nice options overview, so you have to find them in the popup/js/options.js file in the defaultOptions object. From there you can see the available options, their names, default values and descriptions.

When defining your custom config, you only need to define the options that you want to overwrite from the defaults.

The options are not validated properly. Please make sure to use them correctly.
If something breaks, consider resetting your options.

An exemplary user config can look like the following example:

searchStrategy: fuzzy
displayVisitCounter: true
displayDateAdded: true

Or a more advanced example:

searchStrategy: precise
historyDaysAgo: 14
historyMaxItems: 1200
historyIgnoreList:
  - http://localhost
  - http://127.0.0.1
searchEngineChoices:
  - name: Google
    urlPrefix: https://google.com/search?q=
  - name: dict.cc
    urlPrefix: https://www.dict.cc/?s=
scoreTabBaseScore: 70 # customize base score for open tabs

Scoring System

The scoring systems works roughly the following:

  • Depending on the type of result (bookmark, tab, history) a different base score is taken (e.g. scoreBookmarkBaseScore).
  • Depending on in which result field (title, url, tag, folder) the match was found, the search match gets weighted by multiplication. (e.g. scoreTitleWeight).
  • This base score is now merged / multiplied with the search library score. A less good match will usually reduce the score and a perfect / highest ranked match will keep it at .
  • Depending on certain conditions some bonus score points are added on top. For example, exactStartsWithBonus will add score if either the title or the url start exactly with the search term, including spaces.

For a description of the scoring options and what they do, please see popup/js/model/options.js.

Local Development

Install and Build

Prerequisite: Node.js

# install dependencies
npm install

# build extension
npm run build

The source code for the extension can be found in popup/ (HTML, JS and libs) and sass/ (SCSS/CSS).

The built extensions can be found

Developer Installation

  • Check out this extension via git

  • Run npm install and npm run build (via bash / git bash)

  • For Chrome / Edge:

    • Navigate to extensions page (chrome://extensions/ on Chrome and edge://extensions/ on Edge).
    • Enable "Developer mode"
    • Choose "Load unpacked" and open the root folder of this repository
  • For Firefox:

    • First install and build this project.
    • Load the built extension in dist/firefox as a temporary addon in about:debugging.

Developer Workflow

  • Typical developer actions
    • npm run build for a complete build
    • npm run start to start the extension locally in a browser (with mock data)
    • npm run test to run end to end tests
    • for more, see npm run

Credits

This extension makes use of the following helpful open-source projects (thanks!):

Feedback and Ideas

Please create a GitHub issue to give your feedback. All ideas, suggestions or bug reports are welcome.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].