I already did this for most scripts when I cleaned up the list a couple of months ago Though I kept WKOF as Wanikani Open Framework because I felt like āWanikaniā was very much part of its identity
I agree. Alphabetic at least makes it easier to find, and in my opinion easier to peruse as well
If so, WaniKani/WK should be removed, in order to easily sort alphabetically.
If something is not sorted, like WKOF, why bother removing WaniKani/WK?
Broken scripts should be replaced, or removed if no actual script can be found. If buggy scripts (have unfixed bug reports) are somehow kept, there should be some notice.
Found it. It exists after all and my memories did not betray me. Itās KunOn+ and is in the āoutdated Scriptsā section, which is why it didnāt catch my eye initially.
Curious on whether youāve got it to work or any bug reports?
Anyway, Iāve come to agree that scripts should be sorted alphabetically, and WK/WaniKani removed, unless WK/WaniKani is a part of its identity (and WKOF isnāt not the only such name).
Nonetheless, for Outdated sections, anything with unfixed bug reports should be moved down; and having users, despite some tolerable bugs, should be moved up.
Yep, it works. I was not happy with how the script forgot to concatinate the strings to say éØé¦ć®åå and just says åå. I edited the script to add the ć® and to concatinate the string so it says the full thing:
// ==UserScript==
// @name WK Custom Review Question (KunOn+)
// @namespace WK_CustomQuestion
// @description Changes the text of the Review or Lesson Quiz question. Specifies ON or KUN reading for Kanji. Options to have the text in English or Japanese.
// @author hoovard
// @include https://www.wanikani.com/review/session*
// @include http://www.wanikani.com/review/session*
// @include https://www.wanikani.com/lesson/session*
// @include http://www.wanikani.com/lesson/session*
// @version 0.4.3
// @license Do what you want with it (Preferably improve it).
// @grant none
// ==/UserScript==
// Version 0.4.3 applies to Reviews and Lesson Quizzes.
// Language options
// English "en", Japanese "ja"
var strLang = "ja";
// Tested on the following:
// Firefox 35.0.1 and Chrome 39.0.2171.95 (64-bit), Linux Mint 17.1 Cinnamon 64-bit
// Firefox 35.0.1 and Chrome 40.0.2214.115 m, Windows 8.1 64-bit
// Thanks to Rui Pinheiro (LordGravewish) for the original script
// and to Ethan for the idea to use MutationObserver to detect changes in the DOM.
// Vars to compose the replacement question string
var strKanji;
var strRadical;
var strVocab;
var strMeaning;
var strReading;
var strVocabReading;
var strOn;
var strKun;
var strName;
// Translations
switch (strLang)
{
case "en":
strKanji = "Kanji";
strRadical = "Radical";
strVocab = "Vocabulary";
strMeaning = "Meaning";
strReading = "yomi";
strVocabReading = "Reading";
strOn = "on'";
strKun = "kun'";
strName = "Name";
break;
case "ja":
strKanji = "ę¼¢åć®";
strRadical = "éØé¦ć®";
strVocab = "åčŖć®";
strMeaning = "ęå³";
strReading = "čŖćæ";
strVocabReading = "čŖćæ";
strOn = "é³";
strKun = "čØ";
strName = "åå";
break;
}
// Variable to save and check against the previous contents of the jStorage item
var objSavedCurrentItem;
// Review or Lesson Quiz. jStorage objects are different.
bIsReview = ($(location).attr('href').indexOf("review") != -1);
// Code from Stack Overflow to detect changes in the DOM.
// (http://stackoverflow.com/questions/3219758/detect-changes-in-the-dom/14570614#14570614)
var observeDOM = (function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
eventListenerSupported = window.addEventListener;
return function(obj, callback){
if( MutationObserver ){
// define a new observer
var obs = new MutationObserver(function(mutations, observer){
if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
callback();
});
// have the observer observe for changes in children
obs.observe( obj, { childList:true, subtree:true });
}
else if( eventListenerSupported ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
}
})();
// Callback function observing the 'question-type' div 'h1' element
var observeMe = $('#question-type h1')[0];
observeDOM( observeMe ,function(){
var objCurItem;
if (bIsReview) {
objCurItem = $.jStorage.get("currentItem");
} else {
objCurItem = $.jStorage.get("l/currentQuizItem");
}
// Make sure that the currentItem has changed before updating.
// Otherwise you will respond to your own DOM changes.
if (objCurItem != objSavedCurrentItem) {
objSavedCurrentItem = objCurItem;
var strQuestionType;
if (bIsReview) {
strQuestionType = $.jStorage.get("questionType");
} else {
strQuestionType = $.jStorage.get("l/questionType");
}
var strItemType = "";
var strReadingType = "Reading";
// Compose the string elements to be sent into the h1 element
if ("kan" in objCurItem)
{
// Kanji
strItemType = strKanji;
if (strQuestionType == "reading") {
if(objCurItem.emph == "onyomi")
strReadingType = strKanji + strOn + strReading;
else
strReadingType = strKanji + strKun + strReading;
} else {
strReadingType = strKanji + strMeaning;
}
}
else if ("voc" in objCurItem)
{
// Vocabulary
strItemType = strVocab;
if (strQuestionType == "reading") {
strReadingType = strVocab + strVocabReading;
} else {
strReadingType = strVocab + strMeaning;
}
}
else if ("rad" in objCurItem)
{
// Radical
strItemType = strRadical;
strReadingType = strRadical + strName;
}
// replace the contents of #question-type h1
switch (strLang)
{
case "en":
$('#question-type h1').html(strItemType + ' <strong>' + strReadingType + '</strong>');
break;
case "ja":
$('#question-type h1').html(strReadingType);
break;
}
}
});
Hi guys! I havenāt used Wanikani in a reeeeaally long time, and Iām picking it up again. Iāve noticed that some scripts that I used to have are now outdated.
Iām specifically looking for the one where youāre allowed to make mistakes/typos and still get through. Is there a similar script? I tried looking through the list, but I didnāt see one. Maybe I missed itā¦
Is there a script that lets me see item information on the dashboard just by hovering over it? Itās a feature in the custom immersion script, but I canāt use that one since itās not compatible with all the other dashboard scripts Iām using.
Oh snap! Didnāt know that was a feature when I was reading itās description! Thanks so much ! This is why youāre the GOAT here.
Last question: Do you know if thereās a review re-order script that lets me review all radical/kanji first across all levels and then Vocab?
I explained the issue I was having here if you cared to see why (because maybe thereās another solution):
This script allows you to create highly customizable reordering presets. For your requirement, the following preset should do what you asked for:
{"preset":{"name":"Radicals+Kanji before Vocab","selected_action":"0","available_on":{"reviews":true,"lessons":false,"extra_study":true,"self_study":false},"actions":[{"name":"First all radicals and kanji","type":"filter","filter":{"filter":"item_type","item_type":{"radical":true,"kanji":true,"vocabulary":false}}},{"name":"Then all vocab","type":"freeze & restore"}]}}
You can copy and paste this preset into the Reorder Omega settings dialog (in the tab āPresetsā, click on an entry in the āPresets Listā and then hit CTRL+V). During reviews, you can then select the āRadicals+Kanji before Vocabā preset in the bottom left.
Caveat
Iām not sure how Reorder Omega handles the active queue. Since WaniKani randomizes which of the ten reviews in the active queue it shows, I expect that in the worst case you might still get asked 9 kanji/radical reviews after the first vocab review comes up (but maybe Reorder Omega already prevents this ā I donāt know). If you want to avoid this, you could instead use the following preset to just get the radicals and kanji:
{"preset":{"name":"Radicals+Kanji","selected_action":0,"available_on":{"reviews":true,"lessons":false,"extra_study":true,"self_study":false},"actions":[{"name":"Only radicals and kanji","type":"filter","filter":{"filter":"item_type","item_type":{"radical":true,"kanji":true,"vocabulary":false}}}]}}
After finishing this review session, you should be left with a queue full of vocabulary items (unless you got new kanji/radical reviews in the meantime). Just start a new review session and select āNoneā as preset to go through all vocabulary reviews.
Unfortunately I only have 0 Rad 5 Kanji 40 Vocab in queue now but later tonight Iāll have a lot more, to be able to test how it works with the active queue! I can update you when I find out in case youāre curious (Which Iām assuming probably not since Kumirei made it and didnāt discuss that conflict anywhere from the little Iāve seen so far). 1 last questionā¦ since I now know that this godly script existsā¦
Is there a way to add an ADDITIONAL filter so that it prioritizes Kanji/Radicals of the current level first (and then the rest in descending order)? And then restoring the rest of the vocab?
Or it could be a modification to the second one you created in case there is an issue interacting with the active queue
Just so I can always prioritize reviews thatāll help me level up first in case Iām short of time: I am trying to get to 60 ASAP (or at least 30-40 so reading can be a lot easier). Since I have a long way to go, something like that would help a LOT over the next few months- only reason Iām asking for help since Iād hate to ask someone to do more work than needed for me Much appreciation though!
Maybe other people who are also trying to prioritize leveling up as fast as possible could also use that preset !
I am aware that this could also lead to a backlog of overdue reviews, but I donāt mind spending pockets of hours throughout the week when I do have time to knock it out. I just work a lot on random days >.<
Sorry Iām still newish with scripts here and canāt contribute myself yet. The community here is definitely great though!
Oh wow, this script is a lot more involved and has more features than the dashboard plus!
I have a question (since Iām a math geek and looked at the leach value formula)
If hypothetically, I got an item wrong 15 times in a row at App. 1, will it continue to be a leach until itās burned? Iām still learning terminologies here. But definitely think Iāll consider using yours in conjunction with leach trainer eventually.
Thanks!
Edit: As long as it doesnāt interfere with any of the other dashboard scripts Iām using. Unfortunately had to stop using the immersion one for that reason >.<