diff options
author | rhgg2 <richard.garner@mq.edu.au> | 2024-05-21 11:58:06 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-21 01:58:06 +0000 |
commit | ee04cf6de3037a92524bad5c65349ca1e7b4174f (patch) | |
tree | 0950cca0af45f5f414bd3d040370c62d4a669e83 | |
parent | ee0302295817a5face5a2e3e0de2cc08fbe141e8 (diff) |
Add onyomi-hiragana handlebars (#960)
* Add onyomi-hiragana handlebars
* Add onyomi-hiragana handlebars
* Add docs
* Fix typo in documentation of kunyomi/onyomi handlebars
* Update ext/data/templates/anki-field-templates-upgrade-v36.handlebars
Co-authored-by: StefanVukovic99 <stefanvukovic44@gmail.com>
Signed-off-by: rhgg2 <richard.garner@mq.edu.au>
* Update tests for onyomi-hiragana handlebars
* Update tests for onyomi-hiragana handlebars
* Fix typo in code
---------
Signed-off-by: rhgg2 <richard.garner@mq.edu.au>
Co-authored-by: StefanVukovic99 <stefanvukovic44@gmail.com>
-rw-r--r-- | docs/anki-integration.md | 5 | ||||
-rw-r--r-- | ext/data/templates/anki-field-templates-upgrade-v36.handlebars | 3 | ||||
-rw-r--r-- | ext/data/templates/default-anki-field-templates.handlebars | 4 | ||||
-rw-r--r-- | ext/js/data/anki-template-util.js | 1 | ||||
-rw-r--r-- | ext/js/data/options-util.js | 10 | ||||
-rw-r--r-- | ext/settings.html | 6 | ||||
-rw-r--r-- | test/data/anki-note-builder-test-results.json | 2 | ||||
-rw-r--r-- | test/options-util.test.js | 2 |
8 files changed, 28 insertions, 5 deletions
diff --git a/docs/anki-integration.md b/docs/anki-integration.md index f12c1268..5aa9e10c 100644 --- a/docs/anki-integration.md +++ b/docs/anki-integration.md @@ -87,8 +87,9 @@ Flashcard fields can be configured with the following steps: | `{frequency-average-rank}` | The average of frequency data for the current kanji. Defaults to rank 9999999 when frequency data is not found, indicating extremely low rank-based kanji usage. | | `{frequency-average-occurrence}` | The average of frequency data for the current kanji. Defaults to 0 occurrences when frequency data is not found, the lowest possible occurrence-based kanji usage. | | `{glossary}` | List of definitions for the kanji. | - | `{kunyomi}` | Kunyomi (Japanese reading) for the kanji expressed as katakana. | - | `{onyomi}` | Onyomi (Chinese reading) for the kanji expressed as hiragana. | + | `{kunyomi}` | Kunyomi (Japanese reading) for the kanji expressed as hiragana. | + | `{onyomi}` | Onyomi (Chinese reading) for the kanji expressed as katakana. | + | `{onyomi-hiragana}` | Onyomi (Chinese reading) for the kanji expressed as hiragana. | | `{screenshot}` | Screenshot of the web page taken at the time the kanji was added. | | `{search-query}` | The full search query shown on the search page. | | `{selection-text}` | The selected text on the search page or popup. | diff --git a/ext/data/templates/anki-field-templates-upgrade-v36.handlebars b/ext/data/templates/anki-field-templates-upgrade-v36.handlebars new file mode 100644 index 00000000..0b07e483 --- /dev/null +++ b/ext/data/templates/anki-field-templates-upgrade-v36.handlebars @@ -0,0 +1,3 @@ +{{#*inline "onyomi-hiragana"}} + {{~#each definition.onyomi}}{{hiragana .}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}}
\ No newline at end of file diff --git a/ext/data/templates/default-anki-field-templates.handlebars b/ext/data/templates/default-anki-field-templates.handlebars index 53dab1c1..bbeff830 100644 --- a/ext/data/templates/default-anki-field-templates.handlebars +++ b/ext/data/templates/default-anki-field-templates.handlebars @@ -173,6 +173,10 @@ {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}} {{/inline}} +{{#*inline "onyomi-hiragana"}} + {{~#each definition.onyomi}}{{hiragana .}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + {{#*inline "reading"}} {{~#unless modeTermKana~}} {{~#if merge~}} diff --git a/ext/js/data/anki-template-util.js b/ext/js/data/anki-template-util.js index 20170dae..1c74d747 100644 --- a/ext/js/data/anki-template-util.js +++ b/ext/js/data/anki-template-util.js @@ -83,6 +83,7 @@ export function getStandardFieldMarkers(type) { 'glossary', 'kunyomi', 'onyomi', + 'onyomi-hiragana', 'screenshot', 'search-query', 'selection-text', diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js index 521b4c9b..e2fd2789 100644 --- a/ext/js/data/options-util.js +++ b/ext/js/data/options-util.js @@ -542,7 +542,8 @@ export class OptionsUtil { this._updateVersion32, this._updateVersion33, this._updateVersion34, - this._updateVersion35 + this._updateVersion35, + this._updateVersion36 ]; /* eslint-enable @typescript-eslint/unbound-method */ if (typeof targetVersion === 'number' && targetVersion < result.length) { @@ -1286,6 +1287,13 @@ export class OptionsUtil { await this._applyAnkiFieldTemplatesPatch(options, '/data/templates/anki-field-templates-upgrade-v35.handlebars'); } + /** + * - Added handlebars for onyomi reading in hiragana. + * @type {import('options-util').UpdateFunction} + */ + async _updateVersion36(options) { + await this._applyAnkiFieldTemplatesPatch(options, '/data/templates/anki-field-templates-upgrade-v36.handlebars'); + } /** * @param {string} url diff --git a/ext/settings.html b/ext/settings.html index 14342a5b..525e99b1 100644 --- a/ext/settings.html +++ b/ext/settings.html @@ -3088,10 +3088,14 @@ </tr> <tr> <td><code class="anki-field-marker">{kunyomi}</code></td> - <td>Kunyomi (Japanese reading) for the kanji, expressed as katakana.</td> + <td>Kunyomi (Japanese reading) for the kanji, expressed as hiragana.</td> </tr> <tr> <td><code class="anki-field-marker">{onyomi}</code></td> + <td>Onyomi (Chinese reading) for the kanji, expressed as katakana.</td> + </tr> + <tr> + <td><code class="anki-field-marker">{onyomi-hiragana}</code></td> <td>Onyomi (Chinese reading) for the kanji, expressed as hiragana.</td> </tr> <tr> diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index 49e0d8fe..1c78c0db 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -19,6 +19,7 @@ "glossary": "<div style=\"text-align: left;\"><ol><li>utsu meaning 1</li><li>utsu meaning 2</li><li>utsu meaning 3</li><li>utsu meaning 4</li><li>utsu meaning 5</li></ol></div>", "kunyomi": "う.つ, う.ち-, ぶ.つ", "onyomi": "ダ, ダアス", + "onyomi-hiragana": "だ, だあす", "screenshot": "", "search-query": "fullQuery", "selection-text": "", @@ -50,6 +51,7 @@ "glossary": "<div style=\"text-align: left;\"><ol><li>komu meaning 1</li><li>komu meaning 2</li><li>komu meaning 3</li><li>komu meaning 4</li><li>komu meaning 5</li></ol></div>", "kunyomi": "-こ.む, こ.む, こ.み, -こ.み, こ.める", "onyomi": "", + "onyomi-hiragana": "", "screenshot": "", "search-query": "fullQuery", "selection-text": "", diff --git a/test/options-util.test.js b/test/options-util.test.js index 8fb07263..70404ce5 100644 --- a/test/options-util.test.js +++ b/test/options-util.test.js @@ -605,7 +605,7 @@ function createOptionsUpdatedTestData1() { } ], profileCurrent: 0, - version: 35, + version: 36, global: { database: { prefixWildcardsSupported: false |