From daf7f65fe8d34577933eedda0dd8253c65382211 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Thu, 2 Feb 2023 12:31:41 +0100 Subject: fix regression --- anki-card-template/card.js | 23 ++++++++++++++--------- 1 file 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 += ``; + if (i > 0) out += `\u3001`; + var classes = ["writing"]; + if (i == 0) classes.push("first"); + out += `${writings[i].trim()}`; + if (writings.length > 1 && i == writings.length - 1) out += `+${writings.length - 1}`; + } + 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 += ``; - if (i > 0) out += `\u3001`; - var classes = ["writing"]; - if (i == 0) classes.push("first"); - out += `${writings[i].trim()}`; - if (writings.length > 1 && i == writings.length - 1) out += `+${writings.length - 1}`; - } - writings = []; writingIndex = 0; + flush_writings(); out += `${input[i]}`; 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; }); } -- cgit v1.2.3