aboutsummaryrefslogtreecommitdiff
path: root/anki-card-template/card.js
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2023-01-26 09:52:08 +0100
committerlonkaars <loek@pipeframe.xyz>2023-01-26 09:52:08 +0100
commitf0a3122d720f3f959e465b7b40e8338d6f62829b (patch)
treef51dbb226d254ed3113412305f15bfe907e56de6 /anki-card-template/card.js
parent0456e3813e84378f2bb8cece6ce3d0b9a9bb7d29 (diff)
inline spoilers, indicator stamps, and smaller japanese in indicators
Diffstat (limited to 'anki-card-template/card.js')
-rw-r--r--anki-card-template/card.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/anki-card-template/card.js b/anki-card-template/card.js
index b538664..f723d76 100644
--- a/anki-card-template/card.js
+++ b/anki-card-template/card.js
@@ -88,6 +88,8 @@ function parseIndicators(nodes) {
var input = node.data;
var indicator = false; // indicator is open
+ var content = ""; // indicator content
+ var stamp = ""; // filled if indicator has stamp
var out = "";
for (var i = 0; i < input.length; i++) {
// escape characters preceded by \
@@ -95,12 +97,22 @@ function parseIndicators(nodes) {
var escaped = input[i+1];
if (escaped == "[") { out += "["; i++; continue; }
if (escaped == "]") { out += "]"; i++; continue; }
+ if (escaped == "-" && indicator) { content += "-"; i++; continue; }
}
if (input[i] == "[") { indicator = true; out += `<span class="indicator">`; continue; }
- if (input[i] == "]" && indicator) { indicator = false; out += `</span>`; continue; }
+ if (input[i] == "]" && indicator) {
+ indicator = false;
+ if (stamp) out += `<span class="stamp">${stamp}</span>`;
+ out += `${content}</span>`;
+ content = "";
+ stamp = "";
+ continue;
+ }
+ if (input[i] == "-" && indicator) { stamp = content; content = ""; continue; }
- out += input[i];
+ if (indicator) content += input[i];
+ else out += input[i];
}
node.data = out;
}