Since cards are just html it would be nice if this were possible <a href=“card GUID”> Card title </a> it would bring you directly to the front of that card. Then you can answer it or go back to the previous card to answer the previous card. Maybe in this way the interconnectedness of the information would help consolidation because your relating information into what you already know.
And what if the card is not due yet?
Ahhh good point! Maybe a rule, “special card links” (linked card links, not normal links) the linked card link is only clickable if the linked card is due. This would also have the side effect that it will apply to learning cards, which is perfect because your in the learning stage (where all links to other cards are clickable). By the time cards are in review all links should become non-clickable text (not clickable just, standard text) because it’s assumed that you are reviewing what you already know. That way you are still adhering to the rule that you are shown cards only when they are due. If you haven’t forgotten a piece of information there would be no need to click a the special linked card link. And you would review it when it comes up. If you click a card link, then like a stack, your forced to answer first in, last out order.
Just throwing some (not so fully formed ideas) out there.
If the user wants card links to persist then remove answer buttons on any linked card and suggest to the user not to use this persistent option.
I currently have linked cards in some of my templates through noteIds or simply searching by a note field value. On AnkiDroid’s I use its JS API and on desktop the JS API addon to open the card browser on clicking a button I create with javascript.
It’s implemented in the template with javascript code like this:
function openCardBrowserWithSearch(kanji) {
search = `"deck:JP write" Kanji:${kanji}`;
try {
// AnkiDroid
api.ankiSearchCard(search);
} catch {
// Desktop, requires addon
pycmd(`AnkiJS.ankiSearchCard('${search}')`);
}
}
function makeClickableKanjiChar(kanjiChar) {
// Create a clickable span element for the kanji character
const clickableKanjiSpan = document.createElement("span");
clickableKanjiSpan.className = "clickable-kanji";
clickableKanjiSpan.onclick = function () {
openCardBrowserWithSearch(kanjiChar);
};
...
}
...
var editedChars = [];
var kanjiOnlyRegExp =
/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FEF\uF900-\uFA6D\uFA70-\uFAD9]/;
[..."{{vocab-kanjified}}"].forEach((char) => {
if (kanjiOnlyRegExp .test(char)) {
// Edit the char to make it clickable
editedChars.push(makeClickableKanjiChar(char));
...
});
// Edit the vocab to have the clickable chars
document.getElementById("vocab").innerHTML = "";
editedChars.forEach((charEl) =>
document.getElementById("vocab").appendChild(charEl)
);
It doesn’t directly get me to reviewing the card but it certainly speeds up looking up details in a different or making a filtered with the card. Or, on desktop, reviewing immediately from the card browser.
Interesting. I was looking around and it doesn’t seem like the API has a way to get a card by its global unique identify, no matter the deck and then display it. The closest function seem like ankiSearchCard to opened the browser but I’d rather not open the browser.
Looks like I might want to build an add on and build this from scratch. I’ll upload the add on in a few days once it’s built