Could do. How would I do this?
Actually, this works for me! Thanks!
Because that’s what Memrise decided to have as their style for very narrow screens:
The default template setup recreates exactly that.
If you want the multiple-choice buttons to be always displayed in two columns, you can add the following style to the “User styles” section at the end of the styling tab in your template.
.card-content.mch:not([mode]) #scr-keyboard,
.card-content[mode="mchoice"] #scr-keyboard {
grid-template-columns: 1fr 1fr;
}
Ok, Thanks. I got it
How can I have both typing and mcq for a word? Like in Memrise, a word will be shown with everything first and will be asked on mcq first and then typing later or tapping kind like that. Thanks
The MultipleChoice+Typing/MultipleChoice+Tapping Note Types from the shared deck should produce exactly that. You just need to run “Fill Choices” as instructed to activate the MCQ. And to see the info when you are encountering a card for the first time, simply fail it - there are no drawbacks to doing so in the learning stage.
Hi what happened to memrise why do so many quit memrise?
Quite a lot of things over the years, actually, and they all lead downhill. The latest one, which is still the driving wave, I suppose, is the looming plans to remove all user-created content from the platform. They’ve been postponing it several times so far, but with no other clear indication than the promise to keep it up till the end of this year, it is quite possible that all user courses will be deleted immediately after.
Patch notes for v5.1
1. Fix for audio buttons on iOS/macOS
Because Apple browsers have no support for the CSS used in AnkiWeb audio buttons in v5.0, a separate script was added to patch the issue when necessary:
This should also prevent the same problem from occurring on AnkiMobile and the desktop mac app with buttons for external audio files.
2. Improved right-to-left text support
-
Added a dedicated style for right-to-left tapping cards:
To enable it, add a
dir="rtl"attribute to the<input>element on the front of the Card (or an"rtl"class to its.mem-typingcontainer element):... <input id="typeans" type="text" inputmode="text" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" dir="rtl"> ... -
Similarly, for typing cards the right-to-left mode can be enabled by adding
dir="rtl"to the same<input>element (or by addingdir="rtl"to the.mem-typingcontainer instead to flip everything, including the label): -
Note that because combining right-to-left characters with left-to-right text (including the source code for the template itself) is notoriously inconvenient, it is better to use Unicode HTML entities instead of explicit characters for setting up the onscreen keyboard. Here is a recommended setup for a full set:
ابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّْThis should render the following when used as the
static keysset (any suggestions for improving the layout are welcome):
3. Empty answers now are always auto-rated as incorrect
This is to work better with the alternative answers, which makes it too easy to accidentally leave an empty alt in a field. Strings made of only spaces and other blank characters are considered empty as well.
4. AnkiWeb TTS
Not included in the template itself by default, but the following version of the script, which makes all text-to-speech fields automatically work in a web browser, can be added to “
user prior scripts
” section on the front of a Card (the backside will then include it automatically):
TTSRegex = /\[anki:tts([^\]]*)\]([^\[]*)\[\/anki:tts\]/g;
function parseTTSAttrs(attr_string) {
const attrs = {};
attr_string.trim().split(/\s+/).forEach(attr => {
const [key, value] = attr.split('=');
if (key && value) attrs[key] = value;
});
return attrs;
}
function awTTS(text, lang) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = lang;
window.speechSynthesis.speak(utterance);
}
function sanitizeStr(str) {
return str.replace(/['"]/g, "")
}
function TTS2asvg(htmlContent) {
return htmlContent.replace(TTSRegex, (_, attr_string, word) => {
const attrs = parseTTSAttrs(attr_string);
const lang = attrs["lang"]?.replace('_','-') || "en-US";
return `
<a class="replay-button soundLink awtts" onclick="awTTS('${sanitizeStr(word)}','${sanitizeStr(lang)}')" href="../#">
<svg class="playImage" viewBox="0 0 64 64" version="1.1">
<circle cx="32" cy="32"></circle>
<path></path>
</svg>
</a>
`;
});
}
document.querySelectorAll('.card-content').forEach(cont => cont.innerHTML = TTS2asvg(cont.innerHTML));
Thank you very much for the card template! It looks gorgeous and very useful!!
By the way, I noticed a slight regression after testing it with the latest Anki version on PC. The hr element has a 1px height now. It results in a visual layout shift while moving from the front side to the back side of the card.
Thank you. I will try to include this in the next release, but in the meantime, putting
hr#answer {
height: 0;
}
into the ⚙️ USER STYLES ⚙️ section should fix the layout.








