|
- // ==UserScript==
- // @name Brave Search Plus
- // @namespace https://ikibani.com
- // @version 0.1
- // @description Supercharge the Brave search engine.
- // @author afycyro
- // @match https://search.brave.com/
- // @match https://search.brave.com/search?q=*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=brave.com
- // @grant none
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- let search = {
- origTerms: "",
- terms: "",
- exclude: [],
- }
-
- const searchBox = document.querySelector('input#searchbox');
-
- document.querySelector('form.form').addEventListener('submit', () => {
- let searchValue = searchBox.value.trim();
- search.origTerms = searchValue;
- searchValue = searchValue.toLowerCase().split(' ').filter(t => !t.startsWith('-')).join(' ');
-
- search.exclude = searchBox.value.split(' ').filter(term => term.startsWith('-')).map(term => term.slice(1));
- search.terms = searchValue;
- window.localStorage.setItem('searchOptions', JSON.stringify(search));
- searchBox.value = search.terms;
-
- return true;
- });
-
- if (window.location.href.split('/').filter(c => !!c).length > 2) {
- search = JSON.parse(window.localStorage.getItem('searchOptions'));
- searchBox.value = search.origTerms;
- document.querySelector('head title').innerText = `${search.origTerms} - Brave Search`
- const results = document.querySelectorAll('.snippet.fdb');
- for (let result of results) {
- let resultLoc = result.querySelector('.netloc');
- for (let exclusion of search.exclude) {
- if (resultLoc.innerText.toLowerCase().includes(exclusion)) {
- result.style.display = 'none';
- }
- }
- };
- }
- })();
|