merged mode: Anki support
This commit is contained in:
parent
1edeabdaa8
commit
81f0a61651
@ -368,7 +368,8 @@ async function dictFieldFormat(field, definition, mode, options) {
|
||||
merge: options.general.resultOutputMode === 'merge',
|
||||
modeTermKanji: mode === 'term-kanji',
|
||||
modeTermKana: mode === 'term-kana',
|
||||
modeKanji: mode === 'kanji'
|
||||
modeKanji: mode === 'kanji',
|
||||
compactGlossaries: options.general.compactGlossaries
|
||||
};
|
||||
|
||||
const html = await apiTemplateRender(options.anki.fieldTemplates, data, true);
|
||||
|
@ -21,10 +21,15 @@ function optionsFieldTemplates() {
|
||||
return `
|
||||
{{#*inline "glossary-single"}}
|
||||
{{~#unless brief~}}
|
||||
{{~#if tags~}}<i>({{#each tags}}{{name}}{{#unless @last}}, {{/unless}}{{/each}})</i> {{/if~}}
|
||||
{{~#if definitionTags~}}<i>({{#each definitionTags}}{{name}}{{#unless @last}}, {{/unless}}{{/each}})</i> {{/if~}}
|
||||
{{~#if only~}}({{#each only}}{{{.}}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}
|
||||
{{~/unless~}}
|
||||
{{~#if glossary.[1]~}}
|
||||
<ul>{{#each glossary}}<li>{{#multiLine}}{{.}}{{/multiLine}}</li>{{/each}}</ul>
|
||||
{{~#if compactGlossaries~}}
|
||||
{{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}}
|
||||
{{~else~}}
|
||||
<ul>{{#each glossary}}<li>{{#multiLine}}{{.}}{{/multiLine}}</li>{{/each}}</ul>
|
||||
{{~/if~}}
|
||||
{{~else~}}
|
||||
{{~#multiLine}}{{glossary.[0]}}{{/multiLine~}}
|
||||
{{~/if~}}
|
||||
@ -41,23 +46,56 @@ function optionsFieldTemplates() {
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "expression"}}
|
||||
{{~#if modeTermKana~}}
|
||||
{{~#if definition.reading~}}
|
||||
{{definition.reading}}
|
||||
{{~#if merge~}}
|
||||
{{~#if modeTermKana~}}
|
||||
{{~#each definition.reading~}}
|
||||
{{{.}}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~else~}}
|
||||
{{~#each definition.expression~}}
|
||||
{{{.}}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~/each~}}
|
||||
{{~/each~}}
|
||||
{{~else~}}
|
||||
{{~#each definition.expression~}}
|
||||
{{{.}}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~/each~}}
|
||||
{{~/if~}}
|
||||
{{~else~}}
|
||||
{{~#if modeTermKana~}}
|
||||
{{~#if definition.reading~}}
|
||||
{{definition.reading}}
|
||||
{{~else~}}
|
||||
{{definition.expression}}
|
||||
{{~/if~}}
|
||||
{{~else~}}
|
||||
{{definition.expression}}
|
||||
{{~/if~}}
|
||||
{{~else~}}
|
||||
{{definition.expression}}
|
||||
{{~/if~}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "furigana"}}
|
||||
{{#furigana}}{{{definition}}}{{/furigana}}
|
||||
{{~#if merge~}}
|
||||
{{~#each definition.expressions~}}
|
||||
{{~#furigana}}{{{.}}}{{/furigana~}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~/each~}}
|
||||
{{~else~}}
|
||||
{{#furigana}}{{{definition}}}{{/furigana}}
|
||||
{{~/if~}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "furigana-plain"}}
|
||||
{{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}}
|
||||
{{~#if merge~}}
|
||||
{{~#each definition.expressions~}}
|
||||
{{~#furiganaPlain}}{{{.}}}{{/furiganaPlain~}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~/each~}}
|
||||
{{~else~}}
|
||||
{{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}}
|
||||
{{~/if~}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "glossary"}}
|
||||
@ -71,12 +109,18 @@ function optionsFieldTemplates() {
|
||||
{{~else~}}
|
||||
{{~#if group~}}
|
||||
{{~#if definition.definitions.[1]~}}
|
||||
<ol>{{#each definition.definitions}}<li>{{> glossary-single brief=../brief}}</li>{{/each}}</ol>
|
||||
<ol>{{#each definition.definitions}}<li>{{> glossary-single brief=../brief compactGlossaries=../compactGlossaries}}</li>{{/each}}</ol>
|
||||
{{~else~}}
|
||||
{{~> glossary-single definition.definitions.[0] brief=brief~}}
|
||||
{{~> glossary-single definition.definitions.[0] brief=brief compactGlossaries=compactGlossaries~}}
|
||||
{{~/if~}}
|
||||
{{~else if merge~}}
|
||||
{{~#if definition.definitions.[1]~}}
|
||||
<ol>{{#each definition.definitions}}<li>{{> glossary-single brief=../brief compactGlossaries=../compactGlossaries}}</li>{{/each}}</ol>
|
||||
{{~else~}}
|
||||
{{~> glossary-single definition.definitions.[0] brief=brief compactGlossaries=compactGlossaries~}}
|
||||
{{~/if~}}
|
||||
{{~else~}}
|
||||
{{~> glossary-single definition brief=brief~}}
|
||||
{{~> glossary-single definition brief=brief compactGlossaries=compactGlossaries~}}
|
||||
{{~/if~}}
|
||||
{{~/if~}}
|
||||
</div>
|
||||
@ -95,7 +139,16 @@ function optionsFieldTemplates() {
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "reading"}}
|
||||
{{~#unless modeTermKana}}{{definition.reading}}{{/unless~}}
|
||||
{{~#unless modeTermKana~}}
|
||||
{{~#if merge~}}
|
||||
{{~#each definition.reading~}}
|
||||
{{{.}}}
|
||||
{{~#unless @last}}, {{/unless~}}
|
||||
{{~/each~}}
|
||||
{{~else~}}
|
||||
{{~definition.reading~}}
|
||||
{{~/if~}}
|
||||
{{~/unless~}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "sentence"}}
|
||||
@ -115,7 +168,7 @@ function optionsFieldTemplates() {
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "tags"}}
|
||||
{{~#each definition.tags}}{{name}}{{#unless @last}}, {{/unless}}{{/each~}}
|
||||
{{~#each definition.definitionTags}}{{name}}{{#unless @last}}, {{/unless}}{{/each~}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline "url"}}
|
||||
|
@ -128,8 +128,9 @@ class Translator {
|
||||
|
||||
result.expressions = expressions;
|
||||
|
||||
// result.expression = Array.from(result.expression).join(', ');
|
||||
// result.reading = Array.from(result.reading).join(', ');
|
||||
result.expression = Array.from(result.expression);
|
||||
result.reading = Array.from(result.reading);
|
||||
|
||||
definitionsMerged.push(result);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user