So I wrote up this whole post about how I don’t have time to write it but that I’d give you pointers to do it yourself. But in the end I ended up writing it and procrastinating what I really should have been doing.
So here’s a barely tested snippet of code that you can put into your script manager. It should at least mostly work. Just edit the variable
blacklist at the top of the file to put in the items you want to blacklist.
As I said, this has barely been tested. It’s entirely possible that it won’t filter a blacklisted item if it happens to be first in the queue. And it’s also entirely possible that it will act strangely if you have fewer than 10 items up for review. But you’re welcome to try it out. Please let me know if you see anything quirky or if it acts as you’d expect. If it works well (or can work well with little more work) I’ll upload it properly for others to use.
// @name WaniKani Review Blacklist
// @namespace https://www.wanikani.com
// @description Blacklist certain items so they don't show up in reviews.
// @author seanblue
// @version 0.9.0
// @include https://www.wanikani.com/review/session*
// @grant none
const activeQueueSize = 10;
const blacklist = ['不倫', '没'];
let queue = $.jStorage.get('activeQueue').concat($.jStorage.get('reviewQueue'));
let filteredQueue = queue.filter(item => blacklist.indexOf(item.kan) === -1 && blacklist.indexOf(item.voc) === -1)
let newActiveQueue = filteredQueue.slice(0, activeQueueSize);
let newReviewQueue = filteredQueue.slice(activeQueueSize);