itch browse tag exclude
A downloadable chrome extension
Look at the screenshots. It is two separate things. Combined, they can filter out horror and visual novels at the same time while browsing on itch.
The first is an unpacked chrome browser extension. That means, it is not in the official extension store. You need to load it up by activating developer mode in the extension settings. It was tested and developed on Chrome.
It gives you a reset button and an input box to use the tag exclusion feature on browse pages - instead of pasting the exclusion query in the url, or using bookmarks or writing it. Also, it survives restarting the browser.
Important: This feature will only work, if you are logged into your itch account. This has nothing to do with the extension. The exclusion feature will just not work, no matter how you add the tag exclude query. Also, you might need to specifically allow the extension to modify your urls.
The second is a tampermonkey script. So it should run in browsers that can have an extension that can run tampermonkey scripts. Will of course only work for items that have their main genre as the genre you want to filter.
You need to configure it in the tampermonkey script. Change {opacity:0.05} to {display:none} to completely remove the items. Or change the colors of the buttons.
Usage for both: There will be added elements to itch browse pages. Use those new buttons and the input box. It should be self explanatory. You can write in a new tag or clear the filtering and you can select genres to filter out and the color will indicate that genre filtering is happening.
Tested on Chrome. Firefox does not support service workers and you cannot have a persistent unpacked extension anyways. There is a ff version, but you would need to load it each browser start. The tampermonkey scripts should work though.
The source code is rather uglyshort, so you better glance over it anyways to check for suspicious things. I am not a web developer and there might be blunders in the code, I am not aware of.
The second version only removes an unneeded right from the extension and has a minor adjustment to make the code more compatible with firefox. No need to update. The firefox version does work, but as it is unsigned you have to load it on each browser start with the developer options and give it manually the right to do stuff on your itch url. Might be clumsy, but still better than posting the exclusion query to the url.
I also tested the chrome version on opera. Again, it only works if you are logged in - and strangely enough while it does work, I could not see the added url query.
All these were motivated by several community threads. There are many things that can be done on client side to enhance a web page to your personal tastes. I have an unreleased extension to filter individual games and while developing it, I thought it should be trivial to persitently add the years old exclusion query feature. And it was. Later I was inspired to see the too obvious possibility to filter genres, since the main genre is shown on the item. I might have merged those two features in one extension, but, well, too much effort and it works already. Also using tampermonkey script makes it available to more users. Sadly, I cannot do this method of persistent url query string in tampermonkey, so I cannot convert the extension to a tm script.
As a bonus, the other tampermonkey script is the bare bone feature stripped version of my other extension that can filter out individual games at the press of a button. I might release that other extension in the future, but the tampermonkey version can do all the essentials, just try out all the hotkeys and if you want to change appearance, read about css styles and change the display:none to something else, like opacity:0.05 or scale:0.5 or {animation: ani2example 10s infinite alternate;}@keyframes ani2example{100%{transform:scaleX(-1);}}
The genre filter script and the ignore script can hightlight as well as ignore. It is just css styles. You could do this with an user style extension - the hassle is just managing which games to modify.
Status | Released |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (6 total ratings) |
Author | redonihunter |
Download
Install instructions
Unzip somewhere, where you can access it and load it as an unpacked extension. If you do not know how to do that, search for "How to Load Unpacked Browser Extensions" in your favorite search engine. Do not install it in your download folder or another temp location.
For the genrefilter you need an extension that can run tampermonkey scripts and import/copy paste that script into the extension.
Comments
Log in with itch.io to leave a comment.
So the tag filter can only filter out a single tag at a time?
There is no way to get multiple tags filtered at once?
(not referring to the genre filter, but tags like "2D, Visual Novel" etc)
The feature was implemented by Itch's leafo some 6 six years ago, or so I understood. It never got a gui or was advertised much. Or expanded to work for more than one tag.
The only thing my homebrew extension does, is to use a feature that is accessible by extensions to modify urls persistently. And attach an input box. So you can write in the tag and browse with the excluded tag and do not need to modify the url each time with copy paste.
With a bit of legwork you can simulate filtering multiple tags with the third tool, the tampermonkey script about the ignore list.
Basically you search positive for what you want to exclude. And then scroll down in endless scroll for a bit and then go to top again and press and hold 2, while the css is display: none for list 2. This will add like 50 items per second. Rinse, repeat, for more tags. You can save the lists for later use and import them to combine them differently.
Of course this will not update automatically for new games. But the popular list is ranked by popularity, so you need only add a couple hundred of the top items of the unwanted tags and the top does not change much.
And if you browse obscure tags with less than a hundred games, you might not even want to filter the tags out. The dev and you might be of different opinion about the tag, or you might make an exception for some games, if they are good enough in other aspects.
I mean, it's good but it still can't exclude input methods. Is there a way to make that work
As far as I know the feature only works for things that can be entered in the filter box for tags. This means tags and genres. I only made a button to avoid entering the url every time.
If you have need for a special search, try out the third tool. It is far superior to mere tag filtering.
It has two lists and you can add items by pressing 1 or 2. And this works also if you hold the key and the item disappears and the next item takes it's place. Adds like 30 items per second. So just scroll down a few pages with auto-loading next page mode and go up again and hold the key to populate an ignore list for anything you can browse. Input methods, tags and what else. After that your normal search will have those items excluded.
Input methods are even less accurate than tags, I guess. So you might find, that simply marking games you already have checked out, to be a more convenient method.
What exactly is the third tool and how do I use it?
It is the tampermonkey script on the bottom of the page. Yeah, I should rework the page sometime.
You need a browser extension that can run tampermonkey scripts and import the script there. Then you configure the script to your liking.
The defaults are keys 1-0 and you need to press key 1-4 while above a game thumbnail in browse or search view. This adds/removes the item/developer to list 1 or to list 2 respectivly. The "on" state for both lists is to hide the item. And the "off" state, which is also used in your library, puts a colored outline around the item. 5 toggles between on and off. If you want to combine lists or do one time searches, you can export lists, clear the lists, do the special stuff, clear again, and re-import the old lists.
The basic use case would be to put all your library/known games on one list and all your ignore stuff on the other list.
What sort of browser extension would that be?
Tampermonkey? Just enter that word in your extension repository. If you can run my homebrew extension, I am assuming you use Chrome. So that would be https://chromewebstore.google.com/search/Tampermonkey
It lets you use user scripts that do some stuff an extension would do and provides some mechanisms to use capabilities only extensions can use. Like storage. The advantage is, that the same script will run on Firefox and Chrome and others. It should also work in other user script addons, like Greasemonkey.
It is rather popular, on Chrome it has over 10 million users.