Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Exclude multiple tags.

A topic by rekreator12e created Apr 01, 2024 Views: 337 Replies: 5
Viewing posts 1 to 3
(+1)

Hello. I wanted to suggest adding the option to exclude multiple tags. It was probably suggested in the past, as it's not a very revolutionary idea, but it's still not here so I'm making this post. 

Whenever I'm looking for gay nsfw games, most are visual novels and furry. I don't really like either and would want to have an option to exclude both, while only one can be excluded. This makes searching for the right games a lot harder than on other sites. 

Sorry for my English if it's bad.

Moderator(+2)

Yes, it's been suggested many, many times in the past. There's a topic about it pinned to the top of this category. Unfortunately there's still no ETA.

Damn, I just checked. It's been a while. Did they say why they don't want to add it?

Moderator(+1)

No. I'd have told people long ago.

(+1)

If you are willing to use an unofficial chrome extension, there is something coming up on client side that can be used for this. In a way. It works, but I am not ready to release it just yet. On the way there, I made a button for the single exclusion method as a side project.

You can do it by foot already. You activate infinity scroll, browse for unwanted tag 1 scroll down a bit, like 10 pages or so and then execute a bit of javascript. Rinse repeat for unwanted tag 2. The javascript saves a css file you would copy in a user css styling addon and henceforth you would make those games on the list invisible. The extension I am making does this with more bells and whistles, and is actually intended to filter out games you already have in your collections.

That is the rule to put in the user style addon. I use Stylus for that.

@-moz-document url-prefix("https://itch.io/games")
{
content of the saved css(s) here. copy css*.txt cssall.txt in cmd if you want to concatenate files
}

It also works as a bookmarklet, instead of posting the code in console. You create a new empty bookmark and change the url to the code snippet. Change the style to display:none instead of opacity:0.05 if you want to not display the games at all.

The drawback of course is, that it will not catch new games. But having a couple hundred of the most popular games should thin the games out pretty good already. And you could of course combine with the single tag exclusion.

javascript: (() => {
    let game_cell_style = '{opacity:0.05 !important}';
    let css = '';
    let itch_cell_css_start = 'div.game_cell[data-game_id="';
    let itch_cell_css_trail = '"]';
    let link_re = '^https:\/\/[\\w-]+\.\itch\.io\/[\\w+-]+';
    let games_on_page = document.getElementsByClassName("game_cell");
    let temp_link_ar;
    let temp_game_id;
    for (let i = 0; i < games_on_page.length; i += 1) {
        temp_game_id = games_on_page[i].getAttribute('data-game_id');
        if (temp_game_id) {
            temp_link_ar = games_on_page[i].querySelector('.title').href.match(link_re);
            if (temp_link_ar) {
                css += itch_cell_css_start + temp_game_id + itch_cell_css_trail + game_cell_style + '\n';
            }
        }
    }
    console.log(css);
    let blob = new Blob([css], { type: 'text/plain' });
    let filename = 'css.txt';
    let a = document.createElement('a');
    a.download = filename;
    a.href = URL.createObjectURL(blob);
    a.addEventListener('click', () => {
        setTimeout(() => URL.revokeObjectURL(a.href), 300 * 1000);
    });
    a.click();
})();

Uh, I really understood that second part, but thank you, I will use it