aboutsummaryrefslogtreecommitdiff
path: root/anki-card-template
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-02-02 12:31:41 +0100
committerlonkaars <loek@pipeframe.xyz>2023-02-02 12:31:41 +0100
commitdaf7f65fe8d34577933eedda0dd8253c65382211 (patch)
tree10c4e1a88a8a7f3aef347ee61f3670430e042644 /anki-card-template
parent8e6e27aa0734a4d7d1de70a6f29fa0af5a26b801 (diff)
fix regression3.4.1
Diffstat (limited to 'anki-card-template')
-rw-r--r--anki-card-template/card.js23
1 files changed, 14 insertions, 9 deletions
diff --git a/anki-card-template/card.js b/anki-card-template/card.js
index 2a058d3..38d2cfb 100644
--- a/anki-card-template/card.js
+++ b/anki-card-template/card.js
@@ -169,6 +169,18 @@ function parseReading(nodes) {
var writingIndex = 0;
var mode = "writing"; // parsing mode ("writing" or "reading")
+ var flush_writings = () => {
+ for(let i = 0; i < writings.length; i++) {
+ if (i == 1) out += `<span class="extra-writings">`;
+ if (i > 0) out += `<span class="writing-separator"><span class="inner">\u3001</span></span>`;
+ var classes = ["writing"];
+ if (i == 0) classes.push("first");
+ out += `<span class="${classes.join(' ')}"><span class="inner">${writings[i].trim()}</span></span>`;
+ if (writings.length > 1 && i == writings.length - 1) out += `<span class="extra-count">+${writings.length - 1}</span></span>`;
+ }
+ writings = []; writingIndex = 0;
+ };
+
for (var i = 0; i < input.length; i++) {
if (i == 0) {
// start kanji reading
@@ -187,15 +199,7 @@ function parseReading(nodes) {
// reading open bracket
if (mode == "writing" && input[i] == '\u3010') {
mode = "reading";
- for(let i = 0; i < writings.length; i++) {
- if (i == 1) out += `<span class="extra-writings">`;
- if (i > 0) out += `<span class="writing-separator"><span class="inner">\u3001</span></span>`;
- var classes = ["writing"];
- if (i == 0) classes.push("first");
- out += `<span class="${classes.join(' ')}"><span class="inner">${writings[i].trim()}</span></span>`;
- if (writings.length > 1 && i == writings.length - 1) out += `<span class="extra-count">+${writings.length - 1}</span></span>`;
- }
- writings = []; writingIndex = 0;
+ flush_writings();
out += `</span><span class="reading"><span class="bracket">${input[i]}</span><span class="syllable">`;
continue;
}
@@ -209,6 +213,7 @@ function parseReading(nodes) {
if (mode == "writing") writings[writingIndex] += input[i];
else out += input[i];
}
+ flush_writings(); // kana only word fix
return out;
});
}