Commit Graph

59 Commits (029dd60a0d4f1672438dc310c9bd715417aafbac)

Author SHA1 Message Date
SnorlaxMonster 029dd60a0d
Put search engine CSS in stylesheet
Instead of injecting CSS rules into the original page's stylesheet,
store the IWB styles in a CSS file and add that file to the manifest
scripts.
2024-06-11 00:27:56 -05:00
SnorlaxMonster 4f6d09d832
Share filtering code between search engines
Ensure all search engines use the same code to filter which search results are results for supported non-indie wikifarms. This also fixes an apparent oversight where Qwant was not redirecting Neoseeker search results.
2024-06-08 13:52:50 -05:00
Kevin Payravi b681c9b523 Decoding when checking for main page match 2024-06-07 00:43:54 -04:00
Kevin Payravi dee2c5d1a8 Update Qwant CSS selector
Previous selector no longer works
2024-06-05 22:38:23 -05:00
Kevin Payravi 5995b28efa Improvements to search engine link handling
* Handling when Google results use Google's middleman (google.com/url?q=)
* When handling middleman links, instead of replacing search result hrefs with updated links, we now add the updated link in a custom data-iwb-href attribute
* Better handling of special characters in page titles
2024-06-04 00:03:07 -04:00
Kevin Payravi 67b77a234c Improvements to Google search results re-ordering
* Instead of moving indie results to the top of Google search results, we now move indie results above the first non-indie (Fandom / Fextra / Neoseeker) result. If no non-indie result appears, re-ordering doesn't occur. This is to avoid moving less relevant results to the top, particularly for searches for generic terms.
* Improved Google filtering to account for when Google uses their own middleman link
2024-05-29 22:24:58 +02:00
Kevin Payravi 713278d791 Updating reorder hiding regex
Adding "end of line" to regex, to prevent matching partial results and hiding results we don't want to hide
2024-05-19 02:15:37 +02:00
Kevin Payravi 096a870719 Additional selectors for reorder-ignore
"div[data-docid], div[data-lpage]" captures image results
2024-05-03 16:20:52 +03:00
Kevin Payravi 623eb2d149 Adjust query for non-standard search results / Fix
For identifying non-standard search results, "div[jsname]" is unreliable as Google does seem to add it to some standard search results. Replacing with checks for attributes that are more specific to Q&A dropdowns + cards.
2024-05-03 02:38:39 +03:00
Jayden 05f36d495d
re-ordering: unconditionally check for first result = indie wiki
This check should be moved outside of the searchEngineSettings if statement, because the result of it should be applied regardless of the searchEngineSettings.
2024-05-02 16:56:12 -05:00
Kevin Payravi cf838788b2 Splitting reordering into separate loop
We now have on loop that checks which results we want to re-order, and then a second loop that actually does the re-ordering.
2024-05-01 18:59:28 -05:00
Kevin Payravi a8c740480c Removing reverse for now, needs a closer look 2024-05-01 14:55:41 -05:00
Kevin Payravi 1f5f969750 For search re-ordering, avoid capturing Q&A
Check for JS-powered sections via div[jsname]

Co-Authored-By: Jayden <7265189+jayktaylor@users.noreply.github.com>
2024-05-01 14:50:52 -05:00
Kevin Payravi f55cd3b795 For search re-ordering, reverse at end
This avoids conflicting with the check for the first result being an indie wiki
2024-05-01 14:49:05 -05:00
Kevin Payravi 69fe308664 Fix for storage access from background 2024-04-27 23:43:14 -04:00
Kevin Payravi 84892bf478 Reverse search results when re-ordering
Ensuring higher results are re-ordered to the top last
2024-04-27 20:22:28 -04:00
Kevin Payravi d7fcc1d172 Only run re-ordering when wiki not disabled 2024-04-27 20:07:30 -04:00
Kevin Payravi 535c6d28b7 Expand selector for re-ordering
Needed for Google when viewing on iPhone
2024-04-25 00:34:45 -05:00
Kevin Payravi 3a75724520
Add search engine toggling / Search engine filtering fixes / Disabling SearNGX+Whoogle
More details at https://github.com/KevinPayravi/indie-wiki-buddy/pull/648
2024-04-23 00:18:42 -05:00
Jayden 520130e3c8
re-ordering: skip non-standard search results 2024-04-14 03:45:13 -05:00
Kevin Payravi 1c4ae5ff8f
More reliable element detection for search result re-ordering 2024-03-22 03:23:50 -05:00
Jayden 39e44da293
Re-order indie wiki results in Google 2024-03-21 00:09:18 -05:00
James McKee 052bb27887
Support custom search engine URLS, currently SearXNG and Whoogle 2024-03-18 03:03:37 -05:00
Kevin Payravi cd7c4df9a7 Support for destination suffixes
A suffix that is added to the end of article names before performing a search on the destination wiki. This is typically used when a multilingual wiki separates its languages by suffixes (e.g. /es, /pt, etc.). Team Fortress Wiki is an example that uses this.
2024-03-13 03:01:41 -05:00
Kevin Payravi 59b6e17e69 Formatting files 2024-02-27 03:43:55 -06:00
Kevin Payravi a66f3c91a8 Removing Object.prototype functions
Improve compatibility across browsers + not a best practice
2024-02-27 02:55:41 -06:00
Kevin Payravi b92772ec62 Changing BASE64REGEX from const to var
Since common-functions.js may be loaded multiple times on a page
2024-02-24 16:49:29 -05:00
Kevin Payravi 38235496dd Mentioning Neoseeker in docs and settings 2024-02-23 03:38:58 -05:00
Autumn McKee cee24440b7 Also filter URLs in "Quick Peek" section 2024-02-22 02:32:03 -06:00
Autumn McKee 4ca39ec1c3 Search filtering for Kagi 2024-02-22 02:32:03 -06:00
Kevin Payravi 41e41108a0 Adding 7 additional BreezeWiki mirrors
Also alphabetized lists in manifests, by site name (not including subdomain).

List of added instances:
breezewiki.catsarch.com
breezewiki.frontendfriendly.xyz
breezewiki.hyperreal.coffee
breeze.mint.lgbt
breezewiki.nadeko.net
z.opnxng.com
breezewiki.woodland.cafe
2024-02-20 02:11:51 -06:00
Kevin Payravi 562ff0ff86 Adding new Minecraft wikis + favicon optimizations
Includes addition of LZH language category (literary / classical Chinese)
2024-02-19 18:34:37 -06:00
Kevin Payravi 4110506c8a Removing console log 2024-02-18 01:59:38 -06:00
Kevin Payravi 851b7167ac Accounting for tracking links for Yahoo filtering
Yahoo search results sometimes have tracking URLs (r.search.yahoo.com/). This commit extracts the embedded original URL as needed.
2024-02-18 01:57:59 -06:00
Kevin Payravi d309be7410 Also filtering image result links in Yandex 2024-02-18 01:06:03 -06:00
Kevin Payravi 47b42b8af5 Adding support for alternative Yandex domains 2024-02-18 00:59:11 -06:00
Kevin Payravi dff009d2ff Implementing search filtering on Yandex 2024-02-18 00:41:06 -06:00
Kevin Payravi 27f66f17c0 Adding checks 2024-02-17 14:32:12 -06:00
Kevin Payravi 46f3b88a9d
Qwant search filtering support
Co-authored-by: Snootiful <denniskok@fastmail.com>
2024-02-17 02:16:30 -06:00
Kevin Payravi fbc48e58cf More specific domain selectors in search filtering 2024-02-17 01:22:08 -06:00
Kevin Payravi 3b2e354639 Updating code and manifests to include Neoseeker 2024-02-16 23:51:16 -06:00
Kevin Payravi 77d68b0c3e Tuning Bing filtering to avoid capturing too much
A single Bing search result can often contain links to many different websites. Before, if any one of these links was a link to Fandom, the entire result would be disabled (even if the top-level result was an indie wiki). With this commit, only top-level (header) links are captured, and disabling CSS is not applied to "explore further" links.
2024-02-12 02:04:20 -06:00
Kevin Payravi 11d7a9b753 Adding non-EN wikis from wiki.gg
Includes wikis in DE, ES, FR, HU, IT, JA, KO, PL, PT, RU, TH, UK, and ZH. HU, JA, and TH are new language categories.
2024-02-12 01:23:47 -06:00
Kevin Payravi b186c730ff Fixes for redirect banner control logic 2024-02-08 04:13:37 -06:00
Kevin Payravi ac91d586b8 Compressing wiki settings
Browser sync storage has a 8kb limit per item, which we are quickly approaching. Compressing our wiki settings JSONs reduces storage from ~7.3kb to ~2.4kb.
2024-02-08 02:34:53 -06:00
SnorlaxMonster b86c7f620d
Adjust DokuWiki handing
Renamed platform "doku" to "dokuwiki".
The software is named "DokuWiki", just like "MediaWiki".

The previous search path construction for DokuWiki wikis would fail for
wikis that put their page names in query parameters instead of the path.
For example, https://wiki.diceydungeons.com/doku.php
(note that this wiki is not currently supported by IWB).
The solution is to use "doku.php", which always renders as the main page
 on DokuWikis, regardless of the URL structure, so can safely be used as
the base URL for searches.

However, to parallel MediaWiki wikis, which put "index.php" in the
wiki-specific search_path, I've moved "doku.php" to the definitions of
individual DokuWikis, so the JS now only adds query parameters.
2024-02-08 00:53:22 -06:00
Kevin Payravi 356363d4a0 Improve search filtering, esp. on Google and Bing
For Google, fixed issue with filtering on Google's country-TLDs, and improved selectors for identifying link results. This includes a function to identify the closest possible result container. For Bing, fixed an issue for when anchor tags don't have an href attribute.
2024-02-04 04:19:09 -06:00
Kevin Payravi b81c54fdc7 Adding title param to MediaWiki search + updating Miraheze search endpoint
The title param is needed on some MediaWiki sites
2024-02-03 20:20:23 -06:00
SnorlaxMonster 4e553949bb
Add wikis listed on Anti-Wikia Alliance's "Forked wikis" page 2024-02-01 23:04:21 -06:00
Kevin Payravi b1818f3790 Banner exit button now applies to both types of banners 2024-01-29 03:20:12 -07:00