aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/data/templates/anki-field-templates-upgrade-v27.handlebars21
-rw-r--r--ext/data/templates/default-anki-field-templates.handlebars4
-rw-r--r--ext/js/data/options-util.js19
-rw-r--r--test/options-util.test.js29
4 files changed, 66 insertions, 7 deletions
diff --git a/ext/data/templates/anki-field-templates-upgrade-v27.handlebars b/ext/data/templates/anki-field-templates-upgrade-v27.handlebars
new file mode 100644
index 00000000..67dca143
--- /dev/null
+++ b/ext/data/templates/anki-field-templates-upgrade-v27.handlebars
@@ -0,0 +1,21 @@
+{{<<<<<<<}}
+{{#*inline "sentence-furigana"}}
+ {{~#if definition.cloze~}}
+ {{~#if (hasMedia "textFurigana" definition.cloze.sentence)~}}
+ {{getMedia "textFurigana" definition.cloze.sentence escape=false}}
+ {{~else~}}
+ {{definition.cloze.sentence}}
+ {{~/if~}}
+ {{~/if~}}
+{{/inline}}
+{{=======}}
+{{#*inline "sentence-furigana"}}
+ {{~#if definition.cloze~}}
+ {{~#if (hasMedia "textFurigana" definition.cloze.sentence)~}}
+ {{{getMedia "textFurigana" definition.cloze.sentence escape=false}}}
+ {{~else~}}
+ {{{definition.cloze.sentence}}}
+ {{~/if~}}
+ {{~/if~}}
+{{/inline}}
+{{>>>>>>>}}
diff --git a/ext/data/templates/default-anki-field-templates.handlebars b/ext/data/templates/default-anki-field-templates.handlebars
index 2720b75b..049cd56d 100644
--- a/ext/data/templates/default-anki-field-templates.handlebars
+++ b/ext/data/templates/default-anki-field-templates.handlebars
@@ -395,9 +395,9 @@
{{#*inline "sentence-furigana"}}
{{~#if definition.cloze~}}
{{~#if (hasMedia "textFurigana" definition.cloze.sentence)~}}
- {{getMedia "textFurigana" definition.cloze.sentence escape=false}}
+ {{{getMedia "textFurigana" definition.cloze.sentence escape=false}}}
{{~else~}}
- {{definition.cloze.sentence}}
+ {{{definition.cloze.sentence}}}
{{~/if~}}
{{~/if~}}
{{/inline}}
diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js
index f2d085fe..cac2f82d 100644
--- a/ext/js/data/options-util.js
+++ b/ext/js/data/options-util.js
@@ -532,7 +532,8 @@ export class OptionsUtil {
this._updateVersion23,
this._updateVersion24,
this._updateVersion25,
- this._updateVersion26
+ this._updateVersion26,
+ this._updateVersion27
];
/* eslint-enable @typescript-eslint/unbound-method */
if (typeof targetVersion === 'number' && targetVersion < result.length) {
@@ -1156,9 +1157,11 @@ export class OptionsUtil {
*/
async _updateVersion25(options) {
for (const profile of options.profiles) {
- for (const hotkey of profile.options.inputs.hotkeys) {
- if (hotkey.action === 'viewNote') {
- hotkey.action = 'viewNotes';
+ if ('inputs' in profile.options && 'hotkeys' in profile.options.inputs) {
+ for (const hotkey of profile.options.inputs.hotkeys) {
+ if (hotkey.action === 'viewNote') {
+ hotkey.action = 'viewNotes';
+ }
}
}
}
@@ -1188,6 +1191,14 @@ export class OptionsUtil {
}
}
+ /**
+ * - Updated handlebars.
+ * @type {import('options-util').UpdateFunction}
+ */
+ async _updateVersion27(options) {
+ await this._applyAnkiFieldTemplatesPatch(options, '/data/templates/anki-field-templates-upgrade-v27.handlebars');
+ }
+
/**
* @param {string} url
diff --git a/test/options-util.test.js b/test/options-util.test.js
index 8c2bd775..9ccbd8ad 100644
--- a/test/options-util.test.js
+++ b/test/options-util.test.js
@@ -599,7 +599,7 @@ function createOptionsUpdatedTestData1() {
}
],
profileCurrent: 0,
- version: 26,
+ version: 27,
global: {
database: {
prefixWildcardsSupported: false
@@ -1690,6 +1690,33 @@ describe('OptionsUtil', () => {
{{~#*inline "pitch-accent-categories"~}}
{{~#each (pitchCategories @root)~}}{{~.~}}{{~#unless @last~}},{{~/unless~}}{{~/each~}}
{{~/inline~}}`.trimStart()
+ },
+ {
+ oldVersion: 24,
+ newVersion: 27,
+ old: `
+{{#*inline "sentence-furigana"}}
+ {{~#if definition.cloze~}}
+ {{~#if (hasMedia "textFurigana" definition.cloze.sentence)~}}
+ {{getMedia "textFurigana" definition.cloze.sentence escape=false}}
+ {{~else~}}
+ {{definition.cloze.sentence}}
+ {{~/if~}}
+ {{~/if~}}
+{{/inline}}
+`.trimStart(),
+
+ expected: `
+{{#*inline "sentence-furigana"}}
+ {{~#if definition.cloze~}}
+ {{~#if (hasMedia "textFurigana" definition.cloze.sentence)~}}
+ {{{getMedia "textFurigana" definition.cloze.sentence escape=false}}}
+ {{~else~}}
+ {{{definition.cloze.sentence}}}
+ {{~/if~}}
+ {{~/if~}}
+{{/inline}}
+`.trimStart()
}
];