"
+ return "
"
+ container.escapeExpression(container.lambda(((stack1 = (depth0 != null ? depth0.glossary : depth0)) != null ? stack1["0"] : stack1), depth0))
+ "
\n";
-},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+},"10":function(container,depth0,helpers,partials,data) {
var stack1, alias1=depth0 != null ? depth0 : {};
- return ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.tags : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,((stack1 = (depth0 != null ? depth0.glossary : depth0)) != null ? stack1["1"] : stack1),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "");
-},"useData":true});
-templates['term-grouped.html'] = template({"1":function(container,depth0,helpers,partials,data) {
+ return "
\n
\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.addable : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.playback : depth0),{"name":"if","hash":{},"fn":container.program(13, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "
\n\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reading : depth0),{"name":"if","hash":{},"fn":container.program(15, data, 0),"inverse":container.program(18, data, 0),"data":data})) != null ? stack1 : "")
+ + "\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reasons : depth0),{"name":"if","hash":{},"fn":container.program(20, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\n
\n"
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.grouped : depth0),{"name":"if","hash":{},"fn":container.program(24, data, 0),"inverse":container.program(30, data, 0),"data":data})) != null ? stack1 : "")
+ + "
\n
\n";
+},"11":function(container,depth0,helpers,partials,data) {
var helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
return "
![](\"img/add_term_kanji.png\")
\n
![](\"img/add_term_kana.png\")
\n";
-},"3":function(container,depth0,helpers,partials,data) {
+},"13":function(container,depth0,helpers,partials,data) {
var helper;
return "
![](\"img/play_audio.png\")
\n";
-},"5":function(container,depth0,helpers,partials,data) {
+},"15":function(container,depth0,helpers,partials,data) {
var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", buffer =
"
";
- stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : alias2),(options={"name":"kanjiLinks","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
+ stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : alias2),(options={"name":"kanjiLinks","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
if (stack1 != null) { buffer += stack1; }
return buffer + "
\n";
-},"6":function(container,depth0,helpers,partials,data) {
+},"16":function(container,depth0,helpers,partials,data) {
var helper;
return container.escapeExpression(((helper = (helper = helpers.expression || (depth0 != null ? depth0.expression : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"expression","hash":{},"data":data}) : helper)));
-},"8":function(container,depth0,helpers,partials,data) {
+},"18":function(container,depth0,helpers,partials,data) {
var stack1, helper, options, buffer =
"
";
- stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : helpers.helperMissing),(options={"name":"kanjiLinks","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},options) : helper));
+ stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : helpers.helperMissing),(options={"name":"kanjiLinks","hash":{},"fn":container.program(16, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},options) : helper));
if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
if (stack1 != null) { buffer += stack1; }
return buffer + "
\n";
-},"10":function(container,depth0,helpers,partials,data) {
+},"20":function(container,depth0,helpers,partials,data) {
var stack1;
return "
\n"
- + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.reasons : depth0),{"name":"each","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.reasons : depth0),{"name":"each","hash":{},"fn":container.program(21, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "
\n";
-},"11":function(container,depth0,helpers,partials,data) {
+},"21":function(container,depth0,helpers,partials,data) {
var stack1;
return "
"
+ container.escapeExpression(container.lambda(depth0, depth0))
+ " "
- + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(22, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "\n";
-},"12":function(container,depth0,helpers,partials,data) {
+},"22":function(container,depth0,helpers,partials,data) {
return "«";
-},"14":function(container,depth0,helpers,partials,data) {
+},"24":function(container,depth0,helpers,partials,data) {
+ var stack1;
+
+ return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},((stack1 = (depth0 != null ? depth0.definitions : depth0)) != null ? stack1["1"] : stack1),{"name":"if","hash":{},"fn":container.program(25, data, 0),"inverse":container.program(28, data, 0),"data":data})) != null ? stack1 : "");
+},"25":function(container,depth0,helpers,partials,data) {
var stack1;
return "
\n"
- + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(15, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(26, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "
\n";
-},"15":function(container,depth0,helpers,partials,data) {
+},"26":function(container,depth0,helpers,partials,data) {
var stack1;
return "
"
- + ((stack1 = container.invokePartial(partials["term-definition.html"],depth0,{"name":"term-definition.html","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
+ + ((stack1 = container.invokePartial(partials.definition,depth0,{"name":"definition","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
+ "\n";
-},"17":function(container,depth0,helpers,partials,data) {
+},"28":function(container,depth0,helpers,partials,data) {
var stack1;
- return ((stack1 = container.invokePartial(partials["term-definition.html"],((stack1 = (depth0 != null ? depth0.definitions : depth0)) != null ? stack1["0"] : stack1),{"name":"term-definition.html","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
-},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- var stack1, alias1=depth0 != null ? depth0 : {};
-
- return "
\n
\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.addable : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.playback : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "
\n\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reading : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(8, data, 0),"data":data})) != null ? stack1 : "")
- + "\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reasons : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "\n
\n"
- + ((stack1 = helpers["if"].call(alias1,((stack1 = (depth0 != null ? depth0.definitions : depth0)) != null ? stack1["1"] : stack1),{"name":"if","hash":{},"fn":container.program(14, data, 0),"inverse":container.program(17, data, 0),"data":data})) != null ? stack1 : "")
- + "
\n
\n";
-},"usePartial":true,"useData":true});
-templates['term-grouped-list.html'] = template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
+ return ((stack1 = container.invokePartial(partials.definition,((stack1 = (depth0 != null ? depth0.definitions : depth0)) != null ? stack1["0"] : stack1),{"name":"definition","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
+},"30":function(container,depth0,helpers,partials,data) {
var stack1;
- return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
-},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
+ return ((stack1 = container.invokePartial(partials.definition,depth0,{"name":"definition","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
+},"32":function(container,depth0,helpers,partials,data,blockParams,depths) {
+ var stack1;
+
+ return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(33, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
+},"33":function(container,depth0,helpers,partials,data,blockParams,depths) {
var stack1;
return " "
- + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.first),{"name":"unless","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.first),{"name":"unless","hash":{},"fn":container.program(34, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ "\n"
- + ((stack1 = container.invokePartial(partials["term-grouped.html"],depth0,{"name":"term-grouped.html","hash":{"playback":(depths[1] != null ? depths[1].playback : depths[1]),"addable":(depths[1] != null ? depths[1].addable : depths[1])},"data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
-},"3":function(container,depth0,helpers,partials,data) {
+ + ((stack1 = container.invokePartial(partials.term,depth0,{"name":"term","hash":{"playback":(depths[1] != null ? depths[1].playback : depths[1]),"addable":(depths[1] != null ? depths[1].addable : depths[1]),"grouped":(depths[1] != null ? depths[1].grouped : depths[1])},"data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
+},"34":function(container,depth0,helpers,partials,data) {
return "
";
-},"5":function(container,depth0,helpers,partials,data) {
+},"36":function(container,depth0,helpers,partials,data) {
return "
No results found
\n";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) {
var stack1;
- return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.program(5, data, 0, blockParams, depths),"data":data})) != null ? stack1 : "");
-},"usePartial":true,"useData":true,"useDepths":true});
-templates['term.html'] = template({"1":function(container,depth0,helpers,partials,data) {
- var helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+ return "\n\n"
+ + ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"if","hash":{},"fn":container.program(32, data, 0, blockParams, depths),"inverse":container.program(36, data, 0, blockParams, depths),"data":data})) != null ? stack1 : "");
+},"main_d": function(fn, props, container, depth0, data, blockParams, depths) {
- return "
![](\"img/add_term_kanji.png\")
\n
![](\"img/add_term_kana.png\")
\n";
-},"3":function(container,depth0,helpers,partials,data) {
- var helper;
+ var decorators = container.decorators;
- return "
![](\"img/play_audio.png\")
\n";
-},"5":function(container,depth0,helpers,partials,data) {
- var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", buffer =
- "
";
- stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : alias2),(options={"name":"kanjiLinks","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));
- if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
- if (stack1 != null) { buffer += stack1; }
- return buffer + "
\n";
-},"6":function(container,depth0,helpers,partials,data) {
- var helper;
+ fn = decorators.inline(fn,props,container,{"name":"inline","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"args":["definition"],"data":data}) || fn;
+ fn = decorators.inline(fn,props,container,{"name":"inline","hash":{},"fn":container.program(10, data, 0, blockParams, depths),"inverse":container.noop,"args":["term"],"data":data}) || fn;
+ return fn;
+ }
- return container.escapeExpression(((helper = (helper = helpers.expression || (depth0 != null ? depth0.expression : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},{"name":"expression","hash":{},"data":data}) : helper)));
-},"8":function(container,depth0,helpers,partials,data) {
- var stack1, helper, options, buffer =
- "
";
- stack1 = ((helper = (helper = helpers.kanjiLinks || (depth0 != null ? depth0.kanjiLinks : depth0)) != null ? helper : helpers.helperMissing),(options={"name":"kanjiLinks","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data}),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : {},options) : helper));
- if (!helpers.kanjiLinks) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}
- if (stack1 != null) { buffer += stack1; }
- return buffer + "
\n";
-},"10":function(container,depth0,helpers,partials,data) {
- var stack1;
-
- return "
\n"
- + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.reasons : depth0),{"name":"each","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "
\n";
-},"11":function(container,depth0,helpers,partials,data) {
- var stack1;
-
- return "
"
- + container.escapeExpression(container.lambda(depth0, depth0))
- + " "
- + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.last),{"name":"unless","hash":{},"fn":container.program(12, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "\n";
-},"12":function(container,depth0,helpers,partials,data) {
- return "«";
-},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
- var stack1, alias1=depth0 != null ? depth0 : {};
-
- return "
\n
\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.addable : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.playback : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "
\n\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reading : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(8, data, 0),"data":data})) != null ? stack1 : "")
- + "\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.reasons : depth0),{"name":"if","hash":{},"fn":container.program(10, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "\n
\n"
- + ((stack1 = container.invokePartial(partials["term-definition.html"],depth0,{"name":"term-definition.html","data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
- + "
\n
\n";
-},"usePartial":true,"useData":true});
-templates['term-list.html'] = template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
- var stack1;
-
- return ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "");
-},"2":function(container,depth0,helpers,partials,data,blockParams,depths) {
- var stack1;
-
- return " "
- + ((stack1 = helpers.unless.call(depth0 != null ? depth0 : {},(data && data.first),{"name":"unless","hash":{},"fn":container.program(3, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "\n"
- + ((stack1 = container.invokePartial(partials["term.html"],depth0,{"name":"term.html","hash":{"playback":(depths[1] != null ? depths[1].playback : depths[1]),"addable":(depths[1] != null ? depths[1].addable : depths[1])},"data":data,"indent":" ","helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
-},"3":function(container,depth0,helpers,partials,data) {
- return "
";
-},"5":function(container,depth0,helpers,partials,data) {
- return "
No results found
\n";
-},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data,blockParams,depths) {
- var stack1;
-
- return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.program(5, data, 0, blockParams, depths),"data":data})) != null ? stack1 : "");
-},"usePartial":true,"useData":true,"useDepths":true});
+,"useDecorators":true,"usePartial":true,"useData":true,"useDepths":true});
})();
\ No newline at end of file
diff --git a/ext/fg/js/frame.js b/ext/fg/js/frame.js
index ad1c32e8..2cf32e3e 100644
--- a/ext/fg/js/frame.js
+++ b/ext/fg/js/frame.js
@@ -34,6 +34,7 @@ class Frame {
const sequence = ++this.sequence;
const context = {
definitions,
+ grouped: options.groupTermResults,
addable: options.ankiMethod !== 'disabled',
playback: options.enableAudioPlayback
};
@@ -65,6 +66,7 @@ class Frame {
const sequence = ++this.sequence;
const context = {
definitions,
+ grouped: options.groupTermResults,
addable: options.ankiMethod !== 'disabled',
playback: options.enableAudioPlayback
};
@@ -73,7 +75,7 @@ class Frame {
this.showSpinner(false);
window.scrollTo(0, 0);
- renderText(context, 'term-grouped-list.html').then(content => {
+ renderText(context, 'term-list.html').then(content => {
$('.content').html(content);
$('.action-add-note').click(this.onAddNote.bind(this));
diff --git a/tmpl/kanji-list.html b/tmpl/kanji-list.html
index 1df22e68..ffc25c24 100644
--- a/tmpl/kanji-list.html
+++ b/tmpl/kanji-list.html
@@ -1,7 +1,58 @@
+{{#*inline kanji}}
+
+
+ {{#if addable}}
+
![](img/add_kanji.png)
+ {{/if}}
+
+
+
{{character}}
+
+
+
+
+ Kunyomi: |
+
+ {{#each kunyomi}}
+ {{.}}{{#unless @last}}, {{/unless}}
+ {{/each}}
+ |
+
+
+ Onyomi: |
+
+ {{#each onyomi}}
+ {{.}}{{#unless @last}}, {{/unless}}
+ {{/each}}
+ |
+
+
+
+
+
+ {{#each tags}}
+ {{name}}
+ {{/each}}
+
+
+
+ {{#if glossary.[1]}}
+
+ {{#each glossary}}
+ - {{.}}
+ {{/each}}
+
+ {{else}}
+
{{glossary.[0]}}
+ {{/if}}
+
+
+{{/inline}}
+
{{#if definitions}}
{{#each definitions}}
{{#unless @first}}
{{/unless}}
- {{> kanji.html addable=../addable root=../root}}
+ {{> kanji addable=../addable root=../root}}
{{/each}}
{{else}}
No results found
diff --git a/tmpl/kanji.html b/tmpl/kanji.html
deleted file mode 100644
index bb4ce61f..00000000
--- a/tmpl/kanji.html
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
- {{#if addable}}
-
![](img/add_kanji.png)
- {{/if}}
-
-
-
{{character}}
-
-
-
-
- Kunyomi: |
-
- {{#each kunyomi}}
- {{.}}{{#unless @last}}, {{/unless}}
- {{/each}}
- |
-
-
- Onyomi: |
-
- {{#each onyomi}}
- {{.}}{{#unless @last}}, {{/unless}}
- {{/each}}
- |
-
-
-
-
-
- {{#each tags}}
- {{name}}
- {{/each}}
-
-
-
- {{#if glossary.[1]}}
-
- {{#each glossary}}
- - {{.}}
- {{/each}}
-
- {{else}}
-
{{glossary.[0]}}
- {{/if}}
-
-
diff --git a/tmpl/term-definition.html b/tmpl/term-definition.html
deleted file mode 100644
index 03356a59..00000000
--- a/tmpl/term-definition.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{{#if tags}}
-
- {{#each tags}}
- {{name}}
- {{/each}}
-
-{{/if}}
-{{#if glossary.[1]}}
-
- {{#each glossary}}
- - {{.}}
- {{/each}}
-
-{{else}}
-
{{glossary.[0]}}
-{{/if}}
diff --git a/tmpl/term-grouped-list.html b/tmpl/term-grouped-list.html
deleted file mode 100644
index 4bc9406c..00000000
--- a/tmpl/term-grouped-list.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{{#if definitions}}
- {{#each definitions}}
- {{#unless @first}}
{{/unless}}
- {{> term-grouped.html addable=../addable playback=../playback}}
- {{/each}}
-{{else}}
-
No results found
-{{/if}}
diff --git a/tmpl/term-grouped.html b/tmpl/term-grouped.html
deleted file mode 100644
index 93281ee9..00000000
--- a/tmpl/term-grouped.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
- {{#if addable}}
-
![](img/add_term_kanji.png)
-
![](img/add_term_kana.png)
- {{/if}}
- {{#if playback}}
-
![](img/play_audio.png)
- {{/if}}
-
-
- {{#if reading}}
-
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
- {{else}}
-
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
- {{/if}}
-
- {{#if reasons}}
-
- {{#each reasons}}
- {{.}} {{#unless @last}}«{{/unless}}
- {{/each}}
-
- {{/if}}
-
-
- {{#if definitions.[1]}}
-
- {{#each definitions}}
- - {{> term-definition.html}}
- {{/each}}
-
- {{else}}
- {{> term-definition.html definitions.[0]}}
- {{/if}}
-
-
diff --git a/tmpl/term-list.html b/tmpl/term-list.html
index 1315d132..3c85b547 100644
--- a/tmpl/term-list.html
+++ b/tmpl/term-list.html
@@ -1,7 +1,70 @@
+{{#*inline "definition"}}
+ {{#if tags}}
+
+ {{#each tags}}
+ {{name}}
+ {{/each}}
+
+ {{/if}}
+ {{#if glossary.[1]}}
+
+ {{#each glossary}}
+ - {{.}}
+ {{/each}}
+
+ {{else}}
+
{{glossary.[0]}}
+ {{/if}}
+{{/inline}}
+
+{{#*inline "term"}}
+
+
+ {{#if addable}}
+
![](img/add_term_kanji.png)
+
![](img/add_term_kana.png)
+ {{/if}}
+ {{#if playback}}
+
![](img/play_audio.png)
+ {{/if}}
+
+
+ {{#if reading}}
+
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
+ {{else}}
+
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
+ {{/if}}
+
+ {{#if reasons}}
+
+ {{#each reasons}}
+ {{.}} {{#unless @last}}«{{/unless}}
+ {{/each}}
+
+ {{/if}}
+
+
+ {{#if grouped}}
+ {{#if definitions.[1]}}
+
+ {{#each definitions}}
+ - {{> definition}}
+ {{/each}}
+
+ {{else}}
+ {{> definition definitions.[0]}}
+ {{/if}}
+ {{else}}
+ {{> definition}}
+ {{/if}}
+
+
+{{/inline}}
+
{{#if definitions}}
{{#each definitions}}
{{#unless @first}}
{{/unless}}
- {{> term.html addable=../addable playback=../playback}}
+ {{> term grouped=../grouped addable=../addable playback=../playback}}
{{/each}}
{{else}}
No results found
diff --git a/tmpl/term.html b/tmpl/term.html
deleted file mode 100644
index 0e19dbf4..00000000
--- a/tmpl/term.html
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- {{#if addable}}
-
![](img/add_term_kanji.png)
-
![](img/add_term_kana.png)
- {{/if}}
- {{#if playback}}
-
![](img/play_audio.png)
- {{/if}}
-
-
- {{#if reading}}
-
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
- {{else}}
-
{{#kanjiLinks}}{{expression}}{{/kanjiLinks}}
- {{/if}}
-
- {{#if reasons}}
-
- {{#each reasons}}
- {{.}} {{#unless @last}}«{{/unless}}
- {{/each}}
-
- {{/if}}
-
-
- {{> term-definition.html}}
-
-