Conjugation marker (#988)
* Add {conjugation} marker * Add info * Add upgrade * Update test
This commit is contained in:
parent
255c8b724e
commit
5b9d709d40
@ -159,6 +159,7 @@ Flashcard fields can be configured with the following steps:
|
|||||||
`{cloze-body}` | Raw, inflected term as it appeared before being reduced to dictionary form by Yomichan.
|
`{cloze-body}` | Raw, inflected term as it appeared before being reduced to dictionary form by Yomichan.
|
||||||
`{cloze-prefix}` | Fragment of the containing `{sentence}` starting at the beginning of `{sentence}` until the beginning of `{cloze-body}`.
|
`{cloze-prefix}` | Fragment of the containing `{sentence}` starting at the beginning of `{sentence}` until the beginning of `{cloze-body}`.
|
||||||
`{cloze-suffix}` | Fragment of the containing `{sentence}` starting at the end of `{cloze-body}` until the end of `{sentence}`.
|
`{cloze-suffix}` | Fragment of the containing `{sentence}` starting at the end of `{cloze-body}` until the end of `{sentence}`.
|
||||||
|
`{conjugation}` | Conjugation path from the raw inflected term to the source term.
|
||||||
`{dictionary}` | Name of the dictionary from which the card is being created (unavailable in *grouped* mode).
|
`{dictionary}` | Name of the dictionary from which the card is being created (unavailable in *grouped* mode).
|
||||||
`{document-title}` | Title of the web page that the term appeared in.
|
`{document-title}` | Title of the web page that the term appeared in.
|
||||||
`{expression}` | Term expressed as kanji (will be displayed in kana if kanji is not available).
|
`{expression}` | Term expressed as kanji (will be displayed in kana if kanji is not available).
|
||||||
|
8
ext/bg/data/anki-field-templates-upgrade-v6.handlebars
Normal file
8
ext/bg/data/anki-field-templates-upgrade-v6.handlebars
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{{#*inline "conjugation"}}
|
||||||
|
{{~#if definition.reasons~}}
|
||||||
|
{{~#each definition.reasons~}}
|
||||||
|
{{~#if (op ">" @index 0)}} « {{/if~}}
|
||||||
|
{{.}}
|
||||||
|
{{~/each~}}
|
||||||
|
{{~/if~}}
|
||||||
|
{{/inline}}
|
@ -286,4 +286,13 @@
|
|||||||
{{~#if definition.clipboardText~}}{{definition.clipboardText}}{{~/if~}}
|
{{~#if definition.clipboardText~}}{{definition.clipboardText}}{{~/if~}}
|
||||||
{{/inline}}
|
{{/inline}}
|
||||||
|
|
||||||
|
{{#*inline "conjugation"}}
|
||||||
|
{{~#if definition.reasons~}}
|
||||||
|
{{~#each definition.reasons~}}
|
||||||
|
{{~#if (op ">" @index 0)}} « {{/if~}}
|
||||||
|
{{.}}
|
||||||
|
{{~/each~}}
|
||||||
|
{{~/if~}}
|
||||||
|
{{/inline}}
|
||||||
|
|
||||||
{{~> (lookup . "marker") ~}}
|
{{~> (lookup . "marker") ~}}
|
||||||
|
@ -477,6 +477,10 @@ class OptionsUtil {
|
|||||||
{
|
{
|
||||||
async: false,
|
async: false,
|
||||||
update: this._updateVersion5.bind(this)
|
update: this._updateVersion5.bind(this)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
async: true,
|
||||||
|
update: this._updateVersion6.bind(this)
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@ -604,4 +608,11 @@ class OptionsUtil {
|
|||||||
}
|
}
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async _updateVersion6(options) {
|
||||||
|
// Version 6 changes:
|
||||||
|
// Updated handlebars templates to include "conjugation" definition.
|
||||||
|
await this._addFieldTemplatesToOptions(options, '/bg/data/anki-field-templates-upgrade-v6.handlebars');
|
||||||
|
return options;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,7 @@ class AnkiController {
|
|||||||
'cloze-body',
|
'cloze-body',
|
||||||
'cloze-prefix',
|
'cloze-prefix',
|
||||||
'cloze-suffix',
|
'cloze-suffix',
|
||||||
|
'conjugation',
|
||||||
'dictionary',
|
'dictionary',
|
||||||
'document-title',
|
'document-title',
|
||||||
'expression',
|
'expression',
|
||||||
|
@ -496,7 +496,7 @@ function createOptionsUpdatedTestData1() {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
profileCurrent: 0,
|
profileCurrent: 0,
|
||||||
version: 5,
|
version: 6,
|
||||||
global: {
|
global: {
|
||||||
database: {
|
database: {
|
||||||
prefixWildcardsSupported: false
|
prefixWildcardsSupported: false
|
||||||
@ -554,6 +554,7 @@ async function testFieldTemplatesUpdate(extDir) {
|
|||||||
const loadDataFile = (fileName) => fs.readFileSync(path.join(extDir, fileName), {encoding: 'utf8'});
|
const loadDataFile = (fileName) => fs.readFileSync(path.join(extDir, fileName), {encoding: 'utf8'});
|
||||||
const update2 = loadDataFile('bg/data/anki-field-templates-upgrade-v2.handlebars');
|
const update2 = loadDataFile('bg/data/anki-field-templates-upgrade-v2.handlebars');
|
||||||
const update4 = loadDataFile('bg/data/anki-field-templates-upgrade-v4.handlebars');
|
const update4 = loadDataFile('bg/data/anki-field-templates-upgrade-v4.handlebars');
|
||||||
|
const update6 = loadDataFile('bg/data/anki-field-templates-upgrade-v6.handlebars');
|
||||||
|
|
||||||
const data = [
|
const data = [
|
||||||
// Standard format
|
// Standard format
|
||||||
@ -572,6 +573,7 @@ async function testFieldTemplatesUpdate(extDir) {
|
|||||||
|
|
||||||
${update2}
|
${update2}
|
||||||
${update4}
|
${update4}
|
||||||
|
${update6}
|
||||||
{{~> (lookup . "marker") ~}}`.trimStart()
|
{{~> (lookup . "marker") ~}}`.trimStart()
|
||||||
},
|
},
|
||||||
// Non-standard marker format
|
// Non-standard marker format
|
||||||
@ -590,7 +592,8 @@ ${update4}
|
|||||||
|
|
||||||
{{~> (lookup . "marker2") ~}}
|
{{~> (lookup . "marker2") ~}}
|
||||||
${update2}
|
${update2}
|
||||||
${update4}`.trimStart()
|
${update4}
|
||||||
|
${update6}`.trimStart()
|
||||||
},
|
},
|
||||||
// Empty test
|
// Empty test
|
||||||
{
|
{
|
||||||
@ -600,6 +603,7 @@ ${update4}`.trimStart()
|
|||||||
expected: `
|
expected: `
|
||||||
${update2}
|
${update2}
|
||||||
${update4}
|
${update4}
|
||||||
|
${update6}
|
||||||
{{~> (lookup . "marker") ~}}`.trimStart()
|
{{~> (lookup . "marker") ~}}`.trimStart()
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
Loading…
Reference in New Issue
Block a user