Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {{#*inline "glossary-single"}}
- {{~#if (op "||" (op "===" targetDictionary undefined) (op "===" targetDictionary dictionary))~}}
- {{~#unless brief~}}
- {{~#scope~}}
- {{~#set "any" false}}{{/set~}}
- {{~#each definitionTags~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!" redundant))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{name}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/each~}}
- {{~#unless noDictionaryTag~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!==" dictionary (get "previousDictionary")))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{dictionary}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/unless~}}
- {{~#if (get "any")}})</i> {{/if~}}
- {{~/scope~}}
- {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}
- {{~/unless~}}
- {{~#if (op "<=" glossary.length 1)~}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{/each}}
- {{~else if @root.compactGlossaries~}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}}
- {{~else~}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}<br>{{/each}}
- {{~/if~}}
- {{~#set "previousDictionary" dictionary~}}{{~/set~}}
- {{~/if~}}
- {{/inline}}
- {{~#*inline "glossary-all-jmdict-compact"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single-jmdict-compact definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- {{~#each definition.definitions~}}{{~> glossary-single-jmdict-compact . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single-jmdict-compact . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "glossary-single-jmdict-compact"}}
- {{~#if (op "||" (op "===" targetDictionary undefined) (op "===" targetDictionary dictionary))~}}
- {{~#unless brief~}}
- {{~#scope~}}
- {{~#set "any" false}}{{/set~}}
- {{~#each definitionTags~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!" redundant))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{name}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/each~}}
- {{~#unless noDictionaryTag~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!==" dictionary (get "previousDictionary")))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{dictionary}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/unless~}}
- {{~#if (get "any")}})</i> {{/if~}}
- {{~/scope~}}
- {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}
- {{~/unless~}}
- {{~#if (op "<=" glossary.length 1)~}}
- {{#regexReplace "&#x;" "'"}}
- {{#regexReplace "(.*)\." "$1"}}
- {{#regexReplace "<br>(.*)" "$1"}}
- {{#regexReplace "<br><br>" "<br>"}}
- {{#regexReplace "(((( |)〘[^〘]*〙)+( |))|(( |)(→|↔)([^0-9]+)([0-9]|)( |))|(( |)[0-9]+( |))| \.\.\.)" ""}}
- {{#each glossary}}{{#formatGlossary ../dictionary}}{{#regexReplace "^[^\n].*\n" ""}}{{{.}}}{{/regexReplace}}{{/formatGlossary}}{{/each}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{~else if @root.compactGlossaries~}}
- {{#regexReplace "&#x;" "'"}}
- {{#regexReplace "(.*)\." "$1"}}
- {{#regexReplace "<br>(.*)" "$1"}}
- {{#regexReplace "<br><br>" "<br>"}}
- {{#regexReplace "(((( |)〘[^〘]*〙)+( |))|(( |)(→|↔)([^0-9]+)([0-9]|)( |))|(( |)[0-9]+( |))| \.\.\.)" ""}}
- {{#each glossary}}{{#formatGlossary ../dictionary}}{{#regexReplace "^[^\n].*\n" ""}}{{{.}}}{{/regexReplace}}{{/formatGlossary}}{{#unless @last}} | {{/unless}}{{/each}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{~else~}}
- <ul>{{#each glossary}}<li>{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}</li>{{/each}}</ul>
- {{~/if~}}
- {{~#set "previousDictionary" dictionary~}}{{~/set~}}
- {{~/if~}}
- {{/inline}}
- {{~#*inline "glossary-all-remove-first"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- {{~#each definition.definitions~}}{{~> glossary-single-remove-first . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single-remove-first . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "glossary-single-remove-first"}}
- {{~#if (op "||" (op "===" targetDictionary undefined) (op "===" targetDictionary dictionary))~}}
- {{~#unless brief~}}
- {{~#scope~}}
- {{~#set "any" false}}{{/set~}}
- {{~#each definitionTags~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!" redundant))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{name}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/each~}}
- {{~#unless noDictionaryTag~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!==" dictionary (get "previousDictionary")))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{dictionary}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/unless~}}
- {{~#if (get "any")}})</i> {{/if~}}
- {{~/scope~}}
- {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}
- {{~/unless~}}
- {{~#if (op "<=" glossary.length 1)~}}
- {{#multiLine}}{{#regexReplace "^[^\n].*\n" ""}}{{glossary.[0]}}{{/regexReplace}}{{/multiLine}}
- {{~else if @root.compactGlossaries~}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}}
- {{~else~}}
- {{#regexReplace "^.*?<br>" ""}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}<br>{{/each}}
- {{/regexReplace}}
- {{~/if~}}
- {{~#set "previousDictionary" dictionary~}}{{~/set~}}
- {{~/if~}}
- {{/inline}}
- {{~#*inline "glossary-all-kenkyusha-ne"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- {{~#each definition.definitions~}}{{~> glossary-single-kenkyusha-ne . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single-kenkyusha-ne . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "glossary-single-kenkyusha-ne"}}
- {{~#if (op "||" (op "===" targetDictionary undefined) (op "===" targetDictionary dictionary))~}}
- {{~#unless brief~}}
- {{~#scope~}}
- {{~#set "any" false}}{{/set~}}
- {{~#each definitionTags~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!" redundant))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{name}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/each~}}
- {{~#unless noDictionaryTag~}}
- {{~#if (op "||" (op "!" @root.compactTags) (op "!==" dictionary (get "previousDictionary")))~}}
- {{~#if (get "any")}}, {{else}}<i>({{/if~}}
- {{dictionary}}
- {{~#set "any" true}}{{/set~}}
- {{~/if~}}
- {{~/unless~}}
- {{~#if (get "any")}})</i> {{/if~}}
- {{~/scope~}}
- {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}
- {{~/unless~}}
- {{~#if (op "<=" glossary.length 1)~}}
- {{#multiLine}}
- {{#regexReplace "^[^\n].*\n|►.*?\n" ""}}
- {{#regexReplace "\n・.*?" "\n"}}
- {{glossary.[0]}}
- {{/regexReplace}}
- {{/regexReplace}}
- {{/multiLine}}
- {{~else if @root.compactGlossaries~}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}}
- {{~else~}}
- {{#regexReplace "^.*?<br>" ""}}
- {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}<br>{{/each}}
- {{/regexReplace}}
- {{~/if~}}
- {{~#set "previousDictionary" dictionary~}}{{~/set~}}
- {{~/if~}}
- {{/inline}}
- {{~#*inline "glossary-all-generic"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "audio"}}
- {{~#if (hasMedia "audio")~}}
- [sound:{{#getMedia "audio"}}{{/getMedia}}]
- {{~/if~}}
- {{/inline}}
- {{#*inline "character"}}
- {{~definition.character~}}
- {{/inline}}
- {{#*inline "dictionary"}}
- {{~definition.dictionary~}}
- {{/inline}}
- {{#*inline "expression"}}
- {{~#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~}}
- {{~/if~}}
- {{/inline}}
- {{#*inline "furigana"}}
- {{~#if merge~}}
- {{~#each definition.expressions~}}
- <span class="expression-{{termFrequency}}">{{~#furigana}}{{{.}}}{{/furigana~}}</span>
- {{~#unless @last}}、{{/unless~}}
- {{~/each~}}
- {{~else~}}
- {{#furigana}}{{{definition}}}{{/furigana}}
- {{~/if~}}
- {{/inline}}
- {{#*inline "furigana-plain"}}
- {{~#if merge~}}
- {{~#each definition.expressions~}}
- <span class="expression-{{termFrequency}}">{{~#furiganaPlain}}{{{.}}}{{/furiganaPlain~}}</span>
- {{~#unless @last}}、{{/unless~}}
- {{~/each~}}
- {{~else~}}
- {{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}}
- {{~/if~}}
- {{/inline}}
- {{~#*inline "glossary"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- <ol>{{~#each definition.definitions~}}<li>{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}</li>{{~/each~}}</ol>
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag targetDictionary=../targetDictionary ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "glossary-no-dictionary"}}
- {{~> glossary noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-brief"}}
- {{~> glossary brief=true ~}}
- {{/inline}}
- {{#*inline "kunyomi"}}
- {{~#each definition.kunyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}
- {{/inline}}
- {{#*inline "onyomi"}}
- {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}
- {{/inline}}
- {{#*inline "reading"}}
- {{~#unless modeTermKana~}}
- {{~#if merge~}}
- {{~#each definition.reading~}}
- {{{.}}}
- {{~#unless @last}}、{{/unless~}}
- {{~/each~}}
- {{~else~}}
- {{~definition.reading~}}
- {{~/if~}}
- {{~/unless~}}
- {{/inline}}
- {{#*inline "sentence"}}
- {{~#if definition.cloze}}{{definition.cloze.sentence}}{{/if~}}
- {{/inline}}
- {{#*inline "cloze-prefix"}}
- {{~#if definition.cloze}}{{definition.cloze.prefix}}{{/if~}}
- {{/inline}}
- {{#*inline "cloze-body"}}
- {{~#if definition.cloze}}{{definition.cloze.body}}{{/if~}}
- {{/inline}}
- {{#*inline "cloze-suffix"}}
- {{~#if definition.cloze}}{{definition.cloze.suffix}}{{/if~}}
- {{/inline}}
- {{#*inline "tags"}}
- {{~#mergeTags definition group merge}}{{this}}{{/mergeTags~}}
- {{/inline}}
- {{#*inline "url"}}
- <a href="{{definition.url}}">{{definition.url}}</a>
- {{/inline}}
- {{#*inline "screenshot"}}
- <img src="{{definition.screenshotFileName}}" />
- {{/inline}}
- {{#*inline "document-title"}}
- {{~context.document.title~}}
- {{/inline}}
- {{! Pitch Accents }}
- {{#*inline "pitch-accent-item"}}
- {{~#pronunciation format=format reading=reading downstepPosition=position nasalPositions=nasalPositions devoicePositions=devoicePositions~}}{{~/pronunciation~}}
- {{/inline}}
- {{#*inline "pitch-accent-item-disambiguation"}}
- {{~#scope~}}
- {{~#set "exclusive" (spread exclusiveExpressions exclusiveReadings)}}{{/set~}}
- {{~#if (op ">" (property (get "exclusive") "length") 0)~}}
- {{~#set "separator" ""~}}{{/set~}}
- <em>({{#each (get "exclusive")~}}
- {{~#get "separator"}}{{/get~}}{{{.}}}
- {{~/each}} only) </em>
- {{~/if~}}
- {{~/scope~}}
- {{/inline}}
- {{#*inline "pitch-accent-list"}}
- {{~#if (op ">" pitchCount 0)~}}
- {{~#if (op ">" pitchCount 1)~}}{{~/if~}}
- {{~#each pitches~}}
- {{~#each pitches~}}
- {{~#if (op ">" ../../pitchCount 1)~}}{{~/if~}}
- {{~> pitch-accent-item-disambiguation~}}
- {{~> pitch-accent-item format=../../format~}}
- {{~#if (op ">" ../../pitchCount 1)~}}{{~/if~}}
- {{~/each~}}
- {{~/each~}}
- {{~#if (op ">" pitchCount 1)~}}{{~/if~}}
- {{~else~}}
- {{~/if~}}
- {{/inline}}
- {{#*inline "pitch-accents"}}
- {{~> pitch-accent-list format='text'~}}
- {{/inline}}
- {{#*inline "pitch-accent-graphs"}}
- {{~> pitch-accent-list format='graph'~}}
- {{/inline}}
- {{#*inline "pitch-accent-positions"}}
- {{#regexReplace "<(.|\n)*?>" ""}}{{~> pitch-accent-list format='position'~}}{{/regexReplace}}
- {{/inline}}
- {{! End Pitch Accents }}
- {{#*inline "clipboard-image"}}
- {{~#if (hasMedia "clipboardImage")~}}
- <img src="{{#getMedia "clipboardImage"}}{{/getMedia}}" />
- {{~/if~}}
- {{/inline}}
- {{#*inline "clipboard-text"}}
- {{~#if (hasMedia "clipboardText")}}{{#regexReplace "\n(?!$)" "<br>"}}{{#getMedia "clipboardText"}}{{/getMedia}}{{/regexReplace}}{{/if~}}
- {{/inline}}
- {{#*inline "conjugation"}}
- {{~#if definition.reasons~}}
- {{~#each definition.reasons~}}
- {{~#if (op ">" @index 0)}} « {{/if~}}
- {{.}}
- {{~/each~}}
- {{~/if~}}
- {{/inline}}
- {{#*inline "frequencies"}}
- {{~#if (op ">" definition.frequencies.length 0)~}}
- <ul style="text-align: left;">
- {{~#each definition.frequencies~}}
- <li>
- {{~#if (op "!==" ../definition.type "kanji")~}}
- {{~#if (op "||" (op ">" ../uniqueExpressions.length 1) (op ">" ../uniqueReadings.length 1))~}}(
- {{~#furigana expression reading~}}{{~/furigana~}}
- ) {{/if~}}
- {{~/if~}}
- {{~dictionary}}: {{frequency~}}
- </li>
- {{~/each~}}
- </ul>
- {{~/if~}}
- {{/inline}}
- {{#*inline "stroke-count"}}
- {{~#scope~}}
- {{~#set "found" false}}{{/set~}}
- {{~#each definition.stats.misc~}}
- {{~#if (op "===" name "strokes")~}}
- {{~#set "found" true}}{{/set~}}
- Stroke count: {{value}}
- {{~/if~}}
- {{~/each~}}
- {{~#if (op "!" (get "found"))~}}
- Stroke count: Unknown
- {{~/if~}}
- {{~/scope~}}
- {{/inline}}
- {{~#*inline "one-dict"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~> glossary-single definition.definitions.[0] brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{definition.glossary.[0]}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "one-dict-no-dictionary"}}
- {{~> one-dict noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "one-dict-brief"}}
- {{~> one-dict brief=true ~}}
- {{/inline}}
- {{~#*inline "two-dict"~}}
- {{~#scope~}}
- {{~#if (op "===" definition.type "term")~}}
- {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}
- {{~else if (op "||" (op "===" definition.type "termGrouped") (op "===" definition.type "termMerged"))~}}
- {{~#if (op ">" definition.definitions.length 1)~}}
- <ol>
- <li>{{~> glossary-single definition.definitions.[0] brief=brief noDictionaryTag=noDictionaryTag ~}}</li>
- <li>{{~> glossary-single definition.definitions.[1] brief=brief noDictionaryTag=noDictionaryTag ~}}</li>
- </ol>
- {{~else~}}
- {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag ~}}{{~/each~}}
- {{~/if~}}
- {{~else if (op "===" definition.type "kanji")~}}
- {{~#if (op ">" definition.glossary.length 1)~}}
- <ol>
- <li>{{definition.glossary.[0]}}</li>
- <li>{{definition.glossary.[1]}}</li>
- </ol>
- {{~else~}}
- {{~#each definition.glossary~}}{{.}}{{~/each~}}
- {{~/if~}}
- {{~/if~}}
- {{~/scope~}}
- {{~/inline~}}
- {{#*inline "two-dict-no-dictionary"}}
- {{~> two-dict noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "two-dict-brief"}}
- {{~> two-dict brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-jmdict"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="JMdict (English)" ~}}
- {{~/inline~}}
- {{#*inline "glossary-jmdict-no-dictionary"}}
- {{~> glossary-jmdict noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-jmdict-brief"}}
- {{~> glossary-jmdict brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-jmdict-compact"~}}
- {{~> glossary-all-jmdict-compact brief=brief noDictionaryTag=noDictionaryTag targetDictionary="JMdict (English)" ~}}
- {{~/inline~}}
- {{#*inline "glossary-jmdict-compact-no-dictionary"}}
- {{~> glossary-jmdict-compact noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-jmdict-compact-brief"}}
- {{~> glossary-jmdict-compact brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-kenkyusha"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="研究社 新和英大辞典 第5版" ~}}
- {{~/inline~}}
- {{#*inline "glossary-kenkyusha-no-dictionary"}}
- {{~> glossary-kenkyusha noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-kenkyusha-brief"}}
- {{~> glossary-kenkyusha brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-kenkyusha-ne"~}}
- {{~> glossary-all-kenkyusha-ne brief=brief noDictionaryTag=noDictionaryTag targetDictionary="研究社 新和英大辞典 第5版" ~}}
- {{~/inline~}}
- {{#*inline "glossary-kenkyusha-ne-no-dictionary"}}
- {{~> glossary-kenkyusha-ne noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-kenkyusha-ne-brief"}}
- {{~> glossary-kenkyusha-ne brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-kireicake"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="KireiCake" ~}}
- {{~/inline~}}
- {{#*inline "glossary-kireicake-no-dictionary"}}
- {{~> glossary-kireicake noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-kireicake-brief"}}
- {{~> glossary-kireicake brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-meikyou"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="明鏡国語辞典" ~}}
- {{~/inline~}}
- {{#*inline "glossary-meikyou-no-dictionary"}}
- {{~> glossary-meikyou noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-meikyou-brief"}}
- {{~> glossary-meikyou brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-shinjirin"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="ハイブリッド新辞林" ~}}
- {{~/inline~}}
- {{#*inline "glossary-shinjirin-no-dictionary"}}
- {{~> glossary-shinjirin noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-shinjirin-brief"}}
- {{~> glossary-shinjirin brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-shinmeikai"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="新明解国語辞典 第五版" ~}}
- {{~/inline~}}
- {{#*inline "glossary-shinmeikai-no-dictionary"}}
- {{~> glossary-shinmeikai noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-shinmeikai-brief"}}
- {{~> glossary-shinmeikai brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-jitsuyou"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="実用日本語表現辞典" ~}}
- {{~/inline~}}
- {{#*inline "glossary-jitsuyou-no-dictionary"}}
- {{~> glossary-jitsuyou noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-jitsuyou-brief"}}
- {{~> glossary-jitsuyou brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-daijisen"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="デジタル大辞泉" ~}}
- {{~/inline~}}
- {{#*inline "glossary-daijisen-no-dictionary"}}
- {{~> glossary-daijisen noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-daijisen-brief"}}
- {{~> glossary-daijisen brief=true ~}}
- {{/inline}}
- {{~#*inline "glossary-oukoku"~}}
- {{~> glossary-all-remove-first brief=brief noDictionaryTag=noDictionaryTag targetDictionary="旺文社国語辞典 第十一版" ~}}
- {{~/inline~}}
- {{#*inline "glossary-oukoku-no-dictionary"}}
- {{~> glossary-oukoku noDictionaryTag=true ~}}
- {{/inline}}
- {{#*inline "glossary-oukoku-brief"}}
- {{~> glossary-oukoku brief=true ~}}
- {{/inline}}
- {{#*inline "selection-text"}}
- {{~#if (hasMedia "selectionText")}}{{#getMedia "selectionText"}}{{/getMedia}}{{/if~}}
- {{/inline}}
- {{~> (lookup . "marker") ~}}
- {{#*inline "freq"}}
- {{~! Frequency sort handlebars: v23.02.05.1 ~}}
- {{~! The latest version can be found at https://github.com/MarvNC/JP-Resources ~}}
- {{~#scope~}}
- {{~! Options ~}}
- {{~#set "opt-ignored-freq-dict-regex"~}} ^(JLPT_Level)$ {{~/set~}}
- {{~#set "opt-keep-freqs-past-first-regex"~}} ^()$ {{~/set~}}
- {{~set "opt-no-freq-default-value" 0 ~}}
- {{~set "opt-freq-sorting-method" "harmonic" ~}} {{~! "min", "first", "avg", "harmonic" ~}}
- {{~! End of options ~}}
- {{~! Do not change the code below unless you know what you are doing. ~}}
- {{~set "result-freq" -1 ~}} {{~! -1 is chosen because no frequency dictionaries should have an entry as -1 ~}}
- {{~set "prev-freq-dict" "" ~}}
- {{~set "t" 1 ~}}
- {{~#each definition.frequencies~}}
- {{~! rx-match-ignored-freq is not empty if ignored <=> rx-match-ignored-freq is empty if not ignored ~}}
- {{~#set "rx-match-ignored-freq" ~}}
- {{~#regexMatch (get "opt-ignored-freq-dict-regex") "gu"~}}{{this.dictionary}}{{~/regexMatch~}}
- {{/set~}}
- {{~#if (op "===" (get "rx-match-ignored-freq") "") ~}}
- {{~!
- only uses the 1st frequency of any dictionary.
- For example, if JPDB lists 440 and 26189㋕, only the first 440 will be used.
- ~}}
- {{~set "read-freq" false ~}}
- {{~#if (op "!==" (get "prev-freq-dict") this.dictionary ) ~}}
- {{~set "read-freq" true ~}}
- {{~set "prev-freq-dict" this.dictionary ~}}
- {{/if~}}
- {{~#if (op "!" (get "read-freq") ) ~}}
- {{~#set "rx-match-keep-freqs" ~}}
- {{~#regexMatch (get "opt-keep-freqs-past-first-regex") "gu"~}}{{this.dictionary}}{{~/regexMatch~}}
- {{/set~}}
- {{~! rx-match-keep-freqs is not empty if keep freqs ~}}
- {{~#if (op "!==" (get "rx-match-keep-freqs") "") ~}}
- {{~set "read-freq" true ~}}
- {{/if~}}
- {{/if~}}
- {{~#if (get "read-freq") ~}}
- {{~set "f" (op "+" (regexMatch "\d+" "" this.frequency)) ~}}
- {{~#if (op "===" (get "opt-freq-sorting-method") "min") ~}}
- {{~#if
- (op "||"
- (op "===" (get "result-freq") -1)
- (op ">" (get "result-freq") (get "f"))
- )
- ~}}
- {{~set "result-freq" (op "+" (get "f")) ~}}
- {{~/if~}}
- {{~else if (op "===" (get "opt-freq-sorting-method") "first") ~}}
- {{~#if (op "===" (get "result-freq") -1) ~}}
- {{~set "result-freq" (get "f") ~}}
- {{~/if~}}
- {{~else if (op "===" (get "opt-freq-sorting-method") "avg") ~}}
- {{~#if (op "===" (get "result-freq") -1) ~}}
- {{~set "result-freq" (get "f") ~}}
- {{~else~}}
- {{~!
- iterative mean formula (to prevent floating point overflow):
- $S_{(t+1)} = S_t + \frac{1}{t+1} (x - S_t)$
- - example java implementation: https://stackoverflow.com/a/1934266
- - proof: https://www.heikohoffmann.de/htmlthesis/node134.html
- ~}}
- {{~set "result-freq"
- (op "+"
- (get "result-freq")
- (op "/"
- (op "-"
- (get "f")
- (get "result-freq")
- )
- (get "t")
- )
- )
- }}
- {{~/if~}}
- {{~set "t" (op "+" (get "t") 1) ~}}
- {{~else if (op "===" (get "opt-freq-sorting-method") "harmonic") ~}}
- {{~#if (op ">" (get "f") 0) ~}} {{~! ensures only positive numbers are used ~}}
- {{~#if (op "===" (get "result-freq") -1) ~}}
- {{~set "result-freq" (op "/" 1 (get "f")) ~}}
- {{~else ~}}
- {{~set "result-freq"
- (op "+"
- (get "result-freq")
- (op "/" 1 (get "f"))
- )
- }}
- {{~set "t" (op "+" (get "t") 1) ~}}
- {{~/if~}}
- {{~/if~}}
- {{~else if (op "===" (get "opt-freq-sorting-method") "debug") ~}}
- {{ this.dictionary }}: {{ this.frequency }} -> {{ get "f" }} <br>
- {{~else~}}
- (INVALID opt-freq-sorting-method value)
- {{~/if~}}
- {{~/if~}}
- {{~/if~}}
- {{~/each~}}
- {{~! (x) >> 0 apparently floors x: https://stackoverflow.com/a/4228528 ~}}
- {{~#if (op "===" (get "result-freq") -1) ~}}
- {{~set "result-freq" (get "opt-no-freq-default-value") ~}}
- {{~ else if (op "===" (get "opt-freq-sorting-method") "avg") ~}}
- {{~set "result-freq"
- (op ">>" (get "result-freq") 0 )
- ~}}
- {{~ else if (op "===" (get "opt-freq-sorting-method") "harmonic") ~}}
- {{~set "result-freq"
- (op ">>"
- (op "*"
- (op "/" 1 (get "result-freq"))
- (get "t")
- )
- 0
- )
- ~}}
- {{~/if~}}
- {{~get "result-freq"~}}
- {{~/scope~}}
- {{/inline}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement