diff options
author | marv <rotrobmin@gmail.com> | 2024-02-02 20:44:14 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-03 04:44:14 +0000 |
commit | 97c5c741137ecc363630c58797901f1eb829c1bb (patch) | |
tree | 050bd42fc633d728d1687d51db93714efabbfe81 /docs/templates.md | |
parent | e598a97f27747bef0f850dcce2ad7bdeab89e0cd (diff) |
Add Prettier Formatting for Markdown Files and Pre-Commit Hook (#543)
* Install prettier, add prettierignore
* Add precommit hook for md
* Prettier format md files
Diffstat (limited to 'docs/templates.md')
-rw-r--r-- | docs/templates.md | 506 |
1 files changed, 294 insertions, 212 deletions
diff --git a/docs/templates.md b/docs/templates.md index ddab4390..3f51dc98 100644 --- a/docs/templates.md +++ b/docs/templates.md @@ -5,7 +5,6 @@ Yomitan supports several custom Handlebars helpers for rendering templates. The source code for these templates can be found [here](../ext/js/templates/sandbox/anki-template-renderer.js). - ### `dumpObject` Converts an object to a pretty-printed JSON string. @@ -14,33 +13,38 @@ This function can be helpful for debugging values when creating templates. <details> <summary>Syntax:</summary> - <code>{{dumpObject <i>object</i>}}</code> +<code>{{dumpObject <i>object</i>}}</code> - * _`object`_ <br> - The object to convert. +- _`object`_ <br> +The object to convert. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars <pre>{{dumpObject .}}</pre> ``` - Output: +Output: + +<!-- prettier-ignore --> ```html <pre>{ "key": "value" }</pre> ``` - Preview: +Preview: + +<!-- prettier-ignore --> ```html { "key": "value" } ``` -</details> +</details> ### `furigana` @@ -49,34 +53,37 @@ Converts a definition or expression/reading pair to its furigana representation. <details> <summary>Syntax:</summary> - <code>{{furigana <i>definition</i>}}</code><br> - <code>{{furigana <i>expression</i> <i>reading</i>}}</code><br> +<code>{{furigana <i>definition</i>}}</code><br> +<code>{{furigana <i>expression</i> <i>reading</i>}}</code><br> - * _`definition`_ <br> - The definition to convert. - * _`expression`_ <br> - The expression to convert. - * _`reading`_ <br> - The reading to convert. +- _`definition`_ <br> + The definition to convert. +- _`expression`_ <br> + The expression to convert. +- _`reading`_ <br> +The reading to convert. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{furigana .}} {{furigana "読む" "よむ"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html <ruby>読<rt>よ</rt></ruby>む ``` - Preview +Preview + <pre><ruby>読<rt>よ</rt></ruby>む</pre> </details> - ### `furiganaPlain` Converts a definition or expression/reading pair to its simplified furigana representation. @@ -84,30 +91,33 @@ Converts a definition or expression/reading pair to its simplified furigana repr <details> <summary>Syntax:</summary> - <code>{{furiganaPlain <i>definition</i>}}</code> - <code>{{furiganaPlain <i>expression</i> <i>reading</i>}}</code><br> +<code>{{furiganaPlain <i>definition</i>}}</code> +<code>{{furiganaPlain <i>expression</i> <i>reading</i>}}</code><br> - * _`definition`_ <br> - The definition to convert. - * _`expression`_ <br> - The expression to convert. - * _`reading`_ <br> - The reading to convert. +- _`definition`_ <br> + The definition to convert. +- _`expression`_ <br> + The expression to convert. +- _`reading`_ <br> +The reading to convert. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{~furiganaPlain .~}} {{furiganaPlain "読む" "よむ"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html 読[よ]む ``` -</details> +</details> ### `multiLine` @@ -116,11 +126,13 @@ Replaces newline characters with a forced HTML line break `<br>`. <details> <summary>Syntax:</summary> - <code>{{#multiLine}}<i>text with multiple lines</i>{{/multiLine}}</code> +<code>{{#multiLine}}<i>text with multiple lines</i>{{/multiLine}}</code> + </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#multiLine~}} some @@ -129,16 +141,18 @@ Replaces newline characters with a forced HTML line break `<br>`. {{~/multiLine}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html some<br>multiline<br>text ``` - Preview: +Preview: + <pre>some<br>multiline<br>text</pre> </details> - ### `regexReplace` Uses a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to replace a pattern with the specified text. @@ -146,32 +160,35 @@ Uses a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScr <details> <summary>Syntax:</summary> - <code>{{#regexReplace <i>regex</i> <i>replacement</i> <i>[flags]</i>}}<i>text-to-modify</i>{{/regexReplace}}</code><br> - <code>{{regexReplace <i>regex</i> <i>replacement</i> <i>[flags]</i> <i>[text-to-modify]...</i>}}</code><br> +<code>{{#regexReplace <i>regex</i> <i>replacement</i> <i>[flags]</i>}}<i>text-to-modify</i>{{/regexReplace}}</code><br> +<code>{{regexReplace <i>regex</i> <i>replacement</i> <i>[flags]</i> <i>[text-to-modify]...</i>}}</code><br> - * _`regex`_ <br> - The raw string used to create the regular expression. This value is passed to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. - * _`replacement`_ <br> - The text used to replace pattern matches. This supports the standard [special capture group replacements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter) as supported by the web browser. - * _`flags`_ _(optional)_ <br> - Optional flags to pass to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. - * _`text-to-modify`_ <br> - The text that the regular expression is applied to. - If multiple arguments are present, they are all concatenated. +- _`regex`_ <br> + The raw string used to create the regular expression. This value is passed to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. +- _`replacement`_ <br> + The text used to replace pattern matches. This supports the standard [special capture group replacements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter) as supported by the web browser. +- _`flags`_ _(optional)_ <br> + Optional flags to pass to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. +- _`text-to-modify`_ <br> +The text that the regular expression is applied to. +If multiple arguments are present, they are all concatenated. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#regexReplace "\(([^)]*)\)" "$1" "g"~}}Here is (some) (text) (in) (parentheses){{~/regexReplace}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html Here is some text in parentheses ``` -</details> +</details> ### `regexMatch` @@ -180,30 +197,33 @@ Uses a [regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScr <details> <summary>Syntax:</summary> - <code>{{#regexMatch <i>regex</i> <i>[flags]</i>}}<i>text-to-modify</i>{{/regexMatch}}</code><br> - <code>{{regexMatch <i>regex</i> <i>[flags]</i> <i>[text-to-modify]...</i>}}</code><br> +<code>{{#regexMatch <i>regex</i> <i>[flags]</i>}}<i>text-to-modify</i>{{/regexMatch}}</code><br> +<code>{{regexMatch <i>regex</i> <i>[flags]</i> <i>[text-to-modify]...</i>}}</code><br> - * _`regex`_ <br> - The raw string used to create the regular expression. This value is passed to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. - * _`flags`_ _(optional)_ <br> - Optional flags to pass to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. - * _`text-to-modify`_ <br> - The text that the regular expression is applied to. - If multiple arguments are present, they are all concatenated. +- _`regex`_ <br> + The raw string used to create the regular expression. This value is passed to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. +- _`flags`_ _(optional)_ <br> + Optional flags to pass to the [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/RegExp) constructor. +- _`text-to-modify`_ <br> +The text that the regular expression is applied to. +If multiple arguments are present, they are all concatenated. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#regexMatch "\(([^)]*)\)" "g"~}}Here is (some) (text) (in) (parentheses){{~/regexMatch}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html (some)(text)(in)(parentheses) ``` -</details> +</details> ### `mergeTags` @@ -212,28 +232,31 @@ Creates a set of all unique tags for the definition and returns a text represent <details> <summary>Syntax:</summary> - <code>{{mergeTags <i>definition</i> <i>isGroupMode</i> <i>isMergeMode</i>}}</code> +<code>{{mergeTags <i>definition</i> <i>isGroupMode</i> <i>isMergeMode</i>}}</code> - * _`definition`_ <br> - The root definition object. - * _`isGroupMode`_ _(optional)_ <br> - Whether or not the display mode is the 'group' mode. - * _`isMergeMode`_ <br> - Whether or not the display mode is the 'merge' mode. +- _`definition`_ <br> + The root definition object. +- _`isGroupMode`_ _(optional)_ <br> + Whether or not the display mode is the 'group' mode. +- _`isMergeMode`_ <br> +Whether or not the display mode is the 'merge' mode. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{~mergeTags definition group merge~}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html v5m, vt, JMdict (English) ``` -</details> +</details> ### `#eachUpTo` @@ -243,34 +266,37 @@ If the iterable is falsy or empty, the `else` condition will be used. <details> <summary>Syntax:</summary> - <code>{{#eachUpTo <i>iterable</i> <i>maxCount</i>}}<i>(modification)</i>{{else}}<i>(else-modification)</i>{{/eachUpTo}}</code> +<code>{{#eachUpTo <i>iterable</i> <i>maxCount</i>}}<i>(modification)</i>{{else}}<i>(else-modification)</i>{{/eachUpTo}}</code> - * _`iterable`_ <br> - The object that should be looped over. A JavaScript [`for...of`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop is used, so the object only needs to be iterable. - * _`maxCount`_ _(optional)_ <br> - The maximum number of entries to loop over. - * _`modification`_ <br> - The template used to modify the value. The context is changed to the current item of iteration. - * _`else-modification`_ <br> - The template used in case the iterable is falsy or empty. The context is unchanged. +- _`iterable`_ <br> + The object that should be looped over. A JavaScript [`for...of`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop is used, so the object only needs to be iterable. +- _`maxCount`_ _(optional)_ <br> + The maximum number of entries to loop over. +- _`modification`_ <br> + The template used to modify the value. The context is changed to the current item of iteration. +- _`else-modification`_ <br> +The template used in case the iterable is falsy or empty. The context is unchanged. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{~#eachUpTo someArray 5}}{{{.}}}<br>{{else}}Empty{{/mergeTags~}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html someArray[0]<br>someArray[1]<br>someArray[2]<br>someArray[3]<br>someArray[4]<br> ``` - Preview: +Preview: + <pre>someArray[0]<br>someArray[1]<br>someArray[2]<br>someArray[3]<br>someArray[4]<br></pre> </details> - ### `spread` Uses the JavaScript [spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) operator to convert one or more iterables into a single array. @@ -279,71 +305,77 @@ This allows it to be used similar to an [`Array.concat`](https://developer.mozil <details> <summary>Syntax:</summary> - <code>{{spread <i>iterable1</i> <i>iterable2</i> <i>...</i> <i>iterableN</i>}}</code> +<code>{{spread <i>iterable1</i> <i>iterable2</i> <i>...</i> <i>iterableN</i>}}</code> - * _`iterableN`_ <br> - A variable amount of iterable objects to combine into a single array. +- _`iterableN`_ <br> +A variable amount of iterable objects to combine into a single array. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#each (spread array1 array2)}}{{{.}}}<br>{{/each}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html array1[0]<br>array1[1]<br>array2[0]<br>array2[1]<br> ``` - Preview: +Preview: + <pre>array1[0]<br>array1[1]<br>array2[0]<br>array2[1]<br></pre> </details> - ### `op` Performs a simple operation on one, two, or three arguments. The operations available are: -* Unary operators: `+`, `-`, `~`, `!` -* Binary operators: `+`, `-`, `/`, `*`, `%`, `**`, `==`, `!=`, `===`, `!==`, `<`, `<=`, `>`, `>=`, `<<`, `>>`, `>>>`, `&`, `|`, `^`, `&&`, `||` -* Ternary operators: `?:` +- Unary operators: `+`, `-`, `~`, `!` +- Binary operators: `+`, `-`, `/`, `*`, `%`, `**`, `==`, `!=`, `===`, `!==`, `<`, `<=`, `>`, `>=`, `<<`, `>>`, `>>>`, `&`, `|`, `^`, `&&`, `||` +- Ternary operators: `?:` If an unknown operator is specified, the `undefined` value is returned. <details> <summary>Syntax:</summary> - <code>{{op <i>operator</i> <i>operand1</i> <i>[operand2]</i> <i>[operand3]</i>}}</code> +<code>{{op <i>operator</i> <i>operand1</i> <i>[operand2]</i> <i>[operand3]</i>}}</code> - * _`operator`_ <br> - One of the unary, binary, or ternary operators. - * _`operand1`_ <br> - The first operand of the operation. - * _`operand2`_ _(Optional)_<br> - The second operand of the operation. - * _`operand3`_ _(Optional)_<br> - The third operand of the operation. +- _`operator`_ <br> + One of the unary, binary, or ternary operators. +- _`operand1`_ <br> + The first operand of the operation. +- _`operand2`_ _(Optional)_<br> + The second operand of the operation. +- _`operand3`_ _(Optional)_<br> +The third operand of the operation. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#if (op "===" value1 value2)}}Values are equal{{/if~}}<br> {{~#op "-" value1}}{{/op~}}<br> {{~op "?:" value1 "a" "b"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html Values are equal<br>-32<br>a ``` - Preview: +Preview: + <pre>Values are equal<br>-32<br>a</pre> </details> - ### `get` Gets a value from the custom state stack. @@ -351,24 +383,27 @@ Gets a value from the custom state stack. <details> <summary>Syntax:</summary> - <code>{{get <i>name</i>}}</code> +<code>{{get <i>name</i>}}</code> - * _`name`_ <br> - The name of the variable to get. +- _`name`_ <br> +The name of the variable to get. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{get "some-text"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html This is the value of some-text! ``` -</details> +</details> ### `set` @@ -377,27 +412,30 @@ Assigns a value to the custom state stack. <details> <summary>Syntax:</summary> - <code>{{#set <i>name</i>}}<i>value</i>{{/get}}</code><br> - <code>{{set <i>name</i> <i>value</i>}}</code><br> +<code>{{#set <i>name</i>}}<i>value</i>{{/get}}</code><br> +<code>{{set <i>name</i> <i>value</i>}}</code><br> - * _`name`_ <br> - The name of the variable to assign. - * _`value`_ <br> - The value of the variable. +- _`name`_ <br> + The name of the variable to assign. +- _`value`_ <br> +The value of the variable. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#set "some-text"}}This is the value of some-text!{{/set~}} {{~set "some-number" 32}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html ``` -</details> +</details> ### `#scope` @@ -408,16 +446,17 @@ and variable lookups will start from the most recent scope and work backwards un <details> <summary>Syntax:</summary> - <code>{{#scope}}<i>content</i>{{/scope}}</code> +<code>{{#scope}}<i>content</i>{{/scope}}</code> - * _`name`_ <br> - The name of the variable to assign. - * _`value`_ <br> - The value of the variable. +- _`name`_ <br> + The name of the variable to assign. +- _`value`_ <br> +The value of the variable. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{~set "key" 32~}} {{~get "key"~}}, @@ -429,12 +468,14 @@ and variable lookups will start from the most recent scope and work backwards un {{~get "key"~}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html 32,32,64,32 ``` -</details> +</details> ### `property` @@ -443,26 +484,29 @@ Repeatedly gets a property of an object. <details> <summary>Syntax:</summary> - <code>{{property <i>object</i> <i>property1</i> <i>property2</i> <i>...</i> <i>propertyN</i>}}</code> +<code>{{property <i>object</i> <i>property1</i> <i>property2</i> <i>...</i> <i>propertyN</i>}}</code> - * _`object`_ <br> - The initial object to use. - * _`propertyN`_ <br> - A chain of property names to get on the object. +- _`object`_ <br> + The initial object to use. +- _`propertyN`_ <br> +A chain of property names to get on the object. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{property someObject "field" 0 "toString"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html function toString() { [native code] } ``` -</details> +</details> ### `noop` @@ -471,21 +515,25 @@ No-op. Returns the inner contents of the template. <details> <summary>Syntax:</summary> - <code>{{#noop}}<i>content</i>{{/noop}}</code> +<code>{{#noop}}<i>content</i>{{/noop}}</code> + </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{noop}}Unchanged content{{/noop}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html Unchanged content ``` -</details> +</details> ### `isMoraPitchHigh` @@ -494,21 +542,25 @@ Returns whether or not a mora will have a high pitch, given the index of the mor <details> <summary>Syntax:</summary> - <code>{{isMoraPitchHigh <i>index</i> <i>position</i>}}</code> +<code>{{isMoraPitchHigh <i>index</i> <i>position</i>}}</code> + </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#if (isMoraPitchHigh 1 2)}}High pitch{{else}}Low pitch{{/if}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html High pitch ``` -</details> +</details> ### `getKanaMorae` @@ -517,25 +569,29 @@ Returns an array of the mora for a kana string. <details> <summary>Syntax:</summary> - <code>{{getKanaMorae <i>kana-string</i>}}</code> +<code>{{getKanaMorae <i>kana-string</i>}}</code> + </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#each (getKanaMorae "よみたん")}}{{{.}}}<br>{{/each}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html よ<br>み<br>た<br>ん<br> ``` - Preview: +Preview: + <pre>よ<br>み<br>た<br>ん<br></pre> </details> - ### `typeof` Returns the type of a value. `#typeof` in the block form will always return `'string'`. @@ -543,29 +599,32 @@ Returns the type of a value. `#typeof` in the block form will always return `'st <details> <summary>Syntax:</summary> - <code>{{typeof <i>value</i>}}</code><br> - <code>{{#typeof}}<i>value</i>{{/typeof}}</code><br> +<code>{{typeof <i>value</i>}}</code><br> +<code>{{#typeof}}<i>value</i>{{/typeof}}</code><br> - * _`value`_ <br> - The value to check. +- _`value`_ <br> +The value to check. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{typeof "よみたん"}} {{typeof 1}} {{#typeof}}よみたん{{/typeof}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html string number string ``` -</details> +</details> ### `join` @@ -574,27 +633,30 @@ Joins the arguments to a single string with a separator, flattening any argument <details> <summary>Syntax:</summary> - <code>{{join <i>separator</i> <i>value1</i> <i>value2</i> <i>valueN</i>...}}</code><br> +<code>{{join <i>separator</i> <i>value1</i> <i>value2</i> <i>valueN</i>...}}</code><br> - * _`separator`_ <br> - The separator string to use between values. - * _`valueN`_ <br> - An individual value to join into the resulting string +- _`separator`_ <br> + The separator string to use between values. +- _`valueN`_ <br> +An individual value to join into the resulting string </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{set "index" 32~}} {{~join "_" "yomitan" (get "index") "value"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html yomitan_32_value ``` -</details> +</details> ### `concat` @@ -603,25 +665,28 @@ Joins the arguments to a single string, without flattening arguments that are ar <details> <summary>Syntax:</summary> - <code>{{concat <i>value1</i> <i>value1</i> <i>valueN</i>...}}</code><br> +<code>{{concat <i>value1</i> <i>value1</i> <i>valueN</i>...}}</code><br> - * _`valueN`_ <br> - A value to join into the resulting string +- _`valueN`_ <br> +A value to join into the resulting string </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{set "index" 32~}} {{~concat "yomitan_" (get "index") "_value"}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html yomitan_32_value ``` -</details> +</details> ### `pitchCategories` @@ -630,24 +695,27 @@ Returns an array representing the different pitch categories for a specific term <details> <summary>Syntax:</summary> - <code>{{pitchCategories @root}}</code><br> +<code>{{pitchCategories @root}}</code><br> - * _`@root`_ <br> - The argument passed should always be the root data object. +- _`@root`_ <br> +The argument passed should always be the root data object. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars [{{#each (pitchCategories @root)}}{{.}}{{#unless @last}}, {{/unless}}{{/each}}] ``` - Output: +Output: + +<!-- prettier-ignore --> ```html [heiban, kifuku] ``` -</details> +</details> ### `formatGlossary` @@ -657,26 +725,29 @@ structured-content generation. <details> <summary>Syntax:</summary> - <code>{{formatGlossary <i>dictionary</i> <i>definitionEntry</i>}}</code><br> +<code>{{formatGlossary <i>dictionary</i> <i>definitionEntry</i>}}</code><br> - * _`dictionary`_ <br> - The dictionary that the glossary entry belongs to. - * _`definitionEntry`_ <br> - The definition entry object in raw form. +- _`dictionary`_ <br> + The dictionary that the glossary entry belongs to. +- _`definitionEntry`_ <br> +The definition entry object in raw form. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{#each glossary}}{{formatGlossary ../dictionary .}}{{/each}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html Here is the content of a gloss, which may include formatted HTML. ``` -</details> +</details> ### `hasMedia` & `getMedia` @@ -686,29 +757,30 @@ These functions are used together in order to request media and other types of o <details> <summary>Syntax:</summary> - <code>{{hasMedia <i>type</i> <i>args</i>...}}</code><br> - <code>{{getMedia <i>type</i> <i>args</i>... <i>[escape=true|false]</i>}}</code><br> +<code>{{hasMedia <i>type</i> <i>args</i>...}}</code><br> +<code>{{getMedia <i>type</i> <i>args</i>... <i>[escape=true|false]</i>}}</code><br> - * _`type`_ <br> - The type of media to check for. - * _`args`_ <br> - Additional arguments for the media. The arguments depend on the media type. - * _`escape`_ _(optional)_ <br> - Whether or not the resulting text should be HTML-escaped. If omitted, defaults to `true`. +- _`type`_ <br> + The type of media to check for. +- _`args`_ <br> + Additional arguments for the media. The arguments depend on the media type. +- _`escape`_ _(optional)_ <br> + Whether or not the resulting text should be HTML-escaped. If omitted, defaults to `true`. - **Available media types and arguments** +**Available media types and arguments** - * <code>"audio"</code> - * <code>"screenshot"</code> - * <code>"clipboardImage"</code> - * <code>"clipboardText"</code> - * <code>"selectionText"</code> - * <code>"textFurigana" <i>japaneseText</i> <i>readingMode="default|hiragana|katakana"</i></code> - * <code>"dictionaryMedia" <i>fileName</i> <i>dictionary="Dictionary Name"</i></code> +- <code>"audio"</code> +- <code>"screenshot"</code> +- <code>"clipboardImage"</code> +- <code>"clipboardText"</code> +- <code>"selectionText"</code> +- <code>"textFurigana" <i>japaneseText</i> <i>readingMode="default|hiragana|katakana"</i></code> +- <code>"dictionaryMedia" <i>fileName</i> <i>dictionary="Dictionary Name"</i></code> </details> <details> <summary>Examples:</summary> +<!-- prettier-ignore --> ```handlebars {{#if (hasMedia "audio")}}The audio file name is: {{getMedia "audio"}}{{/if}} @@ -725,7 +797,9 @@ These functions are used together in order to request media and other types of o {{#if (hasMedia "dictionaryMedia" "image.png" dictionary="Example Dictionary")}}The remapped file name for image.png is: {{getMedia "dictionaryMedia" "image.png" dictionary="Example Dictionary"}}{{/if}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html The audio file name is: yomitan_audio_にほんご_日本語.mp3 @@ -743,8 +817,8 @@ These functions are used together in order to request media and other types of o The remapped file name for image.png is: yomitan_dictionary_media_1_にほんご_日本語.png ``` -</details> +</details> ### `pronunciation` @@ -754,30 +828,31 @@ same as the system used for generating popup and search page dictionary entries. <details> <summary>Syntax:</summary> - <code>{{pronunciation <i>format=string</i> <i>reading=string</i> <i>downstepPosition=integer</i> <i>[nasalPositions=array]</i> <i>[devoicePositions=array]</i>}}</code><br> +<code>{{pronunciation <i>format=string</i> <i>reading=string</i> <i>downstepPosition=integer</i> <i>[nasalPositions=array]</i> <i>[devoicePositions=array]</i>}}</code><br> - * _`format`_ <br> - The format of the HTML to generate. This can be any of the following values: - * `'text'` - * `'graph'` - * `'position'` - * _`reading`_ <br> - The kana reading of the term. - * _`downstepPosition`_ <br> - The mora position of the downstep in the reading. - * _`nasalPositions`_ _(optional)_ <br> - An array of indices of mora that have a nasal pronunciation. - * _`devoicePositions`_ _(optional)_ <br> - An array of indices of mora that are devoiced. +- _`format`_ <br> + The format of the HTML to generate. This can be any of the following values: + - `'text'` + - `'graph'` + - `'position'` +- _`reading`_ <br> + The kana reading of the term. +- _`downstepPosition`_ <br> + The mora position of the downstep in the reading. +- _`nasalPositions`_ _(optional)_ <br> + An array of indices of mora that have a nasal pronunciation. +- _`devoicePositions`_ _(optional)_ <br> +An array of indices of mora that are devoiced. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{~pronunciation format='text' reading='よむ' downstepPosition=1~}} ``` -</details> +</details> ### `hiragana` @@ -786,18 +861,19 @@ Converts katakana text to hiragana. <details> <summary>Syntax:</summary> - <code>{{hiragana <i>value</i> <i>[keepProlongedSoundMarks=true|false]</i>}}</code><br> - <code>{{#hiragana <i>[keepProlongedSoundMarks=true|false]</i>}}<i>value</i>{{/hiragana}}</code><br> +<code>{{hiragana <i>value</i> <i>[keepProlongedSoundMarks=true|false]</i>}}</code><br> +<code>{{#hiragana <i>[keepProlongedSoundMarks=true|false]</i>}}<i>value</i>{{/hiragana}}</code><br> - * _`value`_ <br> - The text to convert. - * _`keepProlongedSoundMarks`_ _(optional)_ <br> - Whether or not the `ー` character should be kept or converted to a vowel character. - Defaults to `false` if not specified. +- _`value`_ <br> + The text to convert. +- _`keepProlongedSoundMarks`_ _(optional)_ <br> +Whether or not the `ー` character should be kept or converted to a vowel character. +Defaults to `false` if not specified. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{hiragana "よみたん ヨミたん ヨミタン"}} {{#hiragana}}よみたん ヨミたん ヨミタン{{/hiragana}} @@ -805,15 +881,17 @@ Converts katakana text to hiragana. {{#hiragana keepProlongedSoundMarks=true}}ローマ字{{/hiragana}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html よみたん よみたん よみたん よみたん よみたん よみたん ろうま字 ろーま字 ``` -</details> +</details> ### `katakana` @@ -822,23 +900,27 @@ Converts hiragana text to katakana. <details> <summary>Syntax:</summary> - <code>{{katakana <i>text</i>}}</code><br> - <code>{{#katakana}}<i>text</i>{{/katakana}}</code><br> +<code>{{katakana <i>text</i>}}</code><br> +<code>{{#katakana}}<i>text</i>{{/katakana}}</code><br> - * _`text`_ <br> - The text to convert. +- _`text`_ <br> +The text to convert. </details> <details> <summary>Example:</summary> +<!-- prettier-ignore --> ```handlebars {{katakana "よみたん ヨミたん ヨミタン"}} {{#katakana}}よみたん ヨミたん ヨミタン{{/katakana}} ``` - Output: +Output: + +<!-- prettier-ignore --> ```html ヨミタン ヨミタン ヨミタン ヨミタン ヨミタン ヨミタン ``` + </details> |