Pop-up dictionary browser extension for language learning. Successor to Yomichan. (PERSONAL FORK)

Rename `{selection-text}` to `{popup-selection-text}` (#1207)

* Add popup-selection-text + Deprecate & backward compatibility for selection-text

* Lint

* Update test

* Test backward compatibility

* Refactor to handle field migration

* Update test

* Add test update marker

* Fix lint

* Rename variables

* Update changes from code review

authored by

Khai Truong and committed by
GitHub
8fc09285 502f71c8

+203 -134
+2 -2
docs/anki-integration.md
··· 60 60 | `{reading}` | Kana reading for the term (empty for terms where the expression is the reading). | 61 61 | `{screenshot}` | Screenshot of the web page taken at the time the term was added. | 62 62 | `{search-query}` | The full search query shown on the search page. | 63 - | `{selection-text}` | The selected text on the search page or popup. | 63 + | `{popup-selection-text}` | The selected text on the search page or popup. | 64 64 | `{sentence}` | Sentence, quote, or phrase that the term appears in from the source content. | 65 65 | `{sentence-furigana}` | Sentence, quote, or phrase that the term appears in from the source content, with furigana added. | 66 66 | `{single-glossary-DICT-NAME}` | Same as `{glossary}`, but with entries from only a single dictionary. The dictionary name will likely be modified, use the options from the ▼ dropdown. | ··· 92 92 | `{onyomi-hiragana}` | Onyomi (Chinese reading) for the kanji expressed as hiragana. | 93 93 | `{screenshot}` | Screenshot of the web page taken at the time the kanji was added. | 94 94 | `{search-query}` | The full search query shown on the search page. | 95 - | `{selection-text}` | The selected text on the search page or popup. | 95 + | `{popup-selection-text}` | The selected text on the search page or popup. | 96 96 | `{sentence}` | Sentence, quote, or phrase that the character appears in from the source content. | 97 97 | `{sentence-furigana}` | Sentence, quote, or phrase that the character appears in from the source content, with furigana added. | 98 98 | `{stroke-count}` | Number of strokes that the kanji character has. |
+2 -2
docs/templates.md
··· 773 773 - <code>"screenshot"</code> 774 774 - <code>"clipboardImage"</code> 775 775 - <code>"clipboardText"</code> 776 - - <code>"selectionText"</code> 776 + - <code>"popupSelectionText"</code> 777 777 - <code>"textFurigana" <i>japaneseText</i> <i>readingMode="default|hiragana|katakana"</i></code> 778 778 - <code>"dictionaryMedia" <i>fileName</i> <i>dictionary="Dictionary Name"</i></code> 779 779 </details> ··· 790 790 791 791 {{#if (hasMedia "clipboardText")}}The clipboard text is: {{getMedia "clipboardText"}}{{/if}} 792 792 793 - {{#if (hasMedia "selectionText")}}The selection text is: {{getMedia "selectionText"}}{{/if}} 793 + {{#if (hasMedia "popupSelectionText")}}The popup selection text is: {{getMedia "popupSelectionText"}}{{/if}} 794 794 795 795 {{#if (hasMedia "textFurigana" "日本語")}}This is an example of text with generated furigana: {{getMedia "textFurigana" "日本語" escape=false}}{{/if}} 796 796
+9
ext/data/templates/anki-field-templates-upgrade-v45.handlebars
··· 1 + {{<<<<<<<}} 2 + {{#*inline "selection-text"}} 3 + {{~#if (hasMedia "selectionText")}}{{{getMedia "selectionText"}}}{{/if~}} 4 + {{/inline}} 5 + {{=======}} 6 + {{#*inline "popup-selection-text"}} 7 + {{~#if (hasMedia "popupSelectionText")}}{{{getMedia "popupSelectionText"}}}{{/if~}} 8 + {{/inline}} 9 + {{>>>>>>>}}
+2 -2
ext/data/templates/default-anki-field-templates.handlebars
··· 454 454 {{~#multiLine}}{{context.fullQuery}}{{/multiLine~}} 455 455 {{/inline}} 456 456 457 - {{#*inline "selection-text"}} 458 - {{~#if (hasMedia "selectionText")}}{{{getMedia "selectionText"}}}{{/if~}} 457 + {{#*inline "popup-selection-text"}} 458 + {{~#if (hasMedia "popupSelectionText")}}{{{getMedia "popupSelectionText"}}}{{/if~}} 459 459 {{/inline}} 460 460 461 461 {{#*inline "sentence-furigana"}}
+3 -3
ext/js/app/frontend.js
··· 190 190 this._application.crossFrame.registerHandlers([ 191 191 ['frontendClosePopup', this._onApiClosePopup.bind(this)], 192 192 ['frontendCopySelection', this._onApiCopySelection.bind(this)], 193 - ['frontendGetSelectionText', this._onApiGetSelectionText.bind(this)], 193 + ['frontendGetPopupSelectionText', this._onApiGetPopupSelectionText.bind(this)], 194 194 ['frontendGetPopupInfo', this._onApiGetPopupInfo.bind(this)], 195 195 ['frontendGetPageInfo', this._onApiGetPageInfo.bind(this)], 196 196 ]); ··· 298 298 document.execCommand('copy'); 299 299 } 300 300 301 - /** @type {import('cross-frame-api').ApiHandler<'frontendGetSelectionText'>} */ 302 - _onApiGetSelectionText() { 301 + /** @type {import('cross-frame-api').ApiHandler<'frontendGetPopupSelectionText'>} */ 302 + _onApiGetPopupSelectionText() { 303 303 const selection = document.getSelection(); 304 304 return selection !== null ? selection.toString() : ''; 305 305 }
+5 -5
ext/js/data/anki-note-builder.js
··· 389 389 let injectScreenshot = false; 390 390 let injectClipboardImage = false; 391 391 let injectClipboardText = false; 392 - let injectSelectionText = false; 392 + let injectPopupSelectionText = false; 393 393 /** @type {import('anki-note-builder').TextFuriganaDetails[]} */ 394 394 const textFuriganaDetails = []; 395 395 /** @type {import('api').InjectAnkiNoteMediaDictionaryMediaDetails[]} */ ··· 401 401 case 'screenshot': injectScreenshot = true; break; 402 402 case 'clipboardImage': injectClipboardImage = true; break; 403 403 case 'clipboardText': injectClipboardText = true; break; 404 - case 'selectionText': injectSelectionText = true; break; 404 + case 'popupSelectionText': injectPopupSelectionText = true; break; 405 405 case 'textFurigana': 406 406 { 407 407 const {text, readingMode} = requirement; ··· 451 451 } 452 452 453 453 // Inject media 454 - const selectionText = injectSelectionText ? this._getSelectionText() : null; 454 + const popupSelectionText = injectPopupSelectionText ? this._getPopupSelectionText() : null; 455 455 const injectedMedia = await this._api.injectAnkiNoteMedia( 456 456 timestamp, 457 457 dictionaryEntryDetails, ··· 480 480 screenshot: (typeof screenshotFileName === 'string' ? {value: screenshotFileName} : void 0), 481 481 clipboardImage: (typeof clipboardImageFileName === 'string' ? {value: clipboardImageFileName} : void 0), 482 482 clipboardText: (typeof clipboardText === 'string' ? {value: clipboardText} : void 0), 483 - selectionText: (typeof selectionText === 'string' ? {value: selectionText} : void 0), 483 + popupSelectionText: (typeof popupSelectionText === 'string' ? {value: popupSelectionText} : void 0), 484 484 textFurigana, 485 485 dictionaryMedia, 486 486 }; ··· 490 490 /** 491 491 * @returns {string} 492 492 */ 493 - _getSelectionText() { 493 + _getPopupSelectionText() { 494 494 const selection = document.getSelection(); 495 495 return selection !== null ? selection.toString() : ''; 496 496 }
+1 -1
ext/js/data/anki-note-data-creator.js
··· 49 49 screenshot: void 0, 50 50 clipboardImage: void 0, 51 51 clipboardText: void 0, 52 - selectionText: void 0, 52 + popupSelectionText: void 0, 53 53 textFurigana: [], 54 54 dictionaryMedia: {}, 55 55 };
+2 -2
ext/js/data/anki-template-util.js
··· 59 59 'reading', 60 60 'screenshot', 61 61 'search-query', 62 - 'selection-text', 62 + 'popup-selection-text', 63 63 'sentence', 64 64 'sentence-furigana', 65 65 'tags', ··· 86 86 'onyomi-hiragana', 87 87 'screenshot', 88 88 'search-query', 89 - 'selection-text', 89 + 'popup-selection-text', 90 90 'sentence', 91 91 'sentence-furigana', 92 92 'stroke-count',
+21
ext/js/data/options-util.js
··· 556 556 this._updateVersion42, 557 557 this._updateVersion43, 558 558 this._updateVersion44, 559 + this._updateVersion45, 559 560 ]; 560 561 /* eslint-enable @typescript-eslint/unbound-method */ 561 562 if (typeof targetVersion === 'number' && targetVersion < result.length) { ··· 1386 1387 profile.options.general.fontFamily = 'sans-serif'; 1387 1388 profile.options.general.fontSize = 14; 1388 1389 profile.options.general.lineHeight = '1.5'; 1390 + } 1391 + } 1392 + 1393 + /** 1394 + * - Renamed `selection-text` to `popup-selection-text` 1395 + * @type {import('options-util').UpdateFunction} 1396 + */ 1397 + async _updateVersion45(options) { 1398 + await this._applyAnkiFieldTemplatesPatch(options, '/data/templates/anki-field-templates-upgrade-v45.handlebars'); 1399 + const oldMarkerRegex = new RegExp('{selection-text}', 'g'); 1400 + const newMarker = '{popup-selection-text}'; 1401 + for (const profile of options.profiles) { 1402 + const termsFields = profile.options.anki.terms.fields; 1403 + for (const key of Object.keys(termsFields)) { 1404 + termsFields[key] = termsFields[key].replace(oldMarkerRegex, newMarker); 1405 + } 1406 + const kanjiFields = profile.options.anki.kanji.fields; 1407 + for (const key of Object.keys(kanjiFields)) { 1408 + kanjiFields[key] = kanjiFields[key].replace(oldMarkerRegex, newMarker); 1409 + } 1389 1410 } 1390 1411 } 1391 1412
+1 -1
ext/js/display/display.js
··· 1889 1889 /** @type {string} */ 1890 1890 let text; 1891 1891 try { 1892 - text = await this.invokeContentOrigin('frontendGetSelectionText', void 0); 1892 + text = await this.invokeContentOrigin('frontendGetPopupSelectionText', void 0); 1893 1893 } catch (e) { 1894 1894 break; 1895 1895 }
+1 -1
ext/js/templates/template-renderer-media-provider.js
··· 101 101 case 'screenshot': return this._getSimpleMediaData(media, 'screenshot'); 102 102 case 'clipboardImage': return this._getSimpleMediaData(media, 'clipboardImage'); 103 103 case 'clipboardText': return this._getSimpleMediaData(media, 'clipboardText'); 104 - case 'selectionText': return this._getSimpleMediaData(media, 'selectionText'); 104 + case 'popupSelectionText': return this._getSimpleMediaData(media, 'popupSelectionText'); 105 105 case 'textFurigana': return this._getTextFurigana(media, args[1], namedArgs); 106 106 case 'dictionaryMedia': return this._getDictionaryMedia(media, args[1], namedArgs); 107 107 default: return null;
+1 -1
ext/settings.html
··· 3300 3300 <td>The full search query shown on the search page.</td> 3301 3301 </tr> 3302 3302 <tr> 3303 - <td><code class="anki-field-marker">{selection-text}</code></td> 3303 + <td><code class="anki-field-marker">{popup-selection-text}</code></td> 3304 3304 <td>The selected text on the search page or popup.</td> 3305 3305 </tr> 3306 3306 <tr>
+105 -105
test/data/anki-note-builder-test-results.json
··· 22 22 "onyomi-hiragana": "だ, だあす", 23 23 "screenshot": "", 24 24 "search-query": "fullQuery", 25 - "selection-text": "", 25 + "popup-selection-text": "", 26 26 "sentence": "cloze-prefix打cloze-suffix", 27 27 "sentence-furigana": "cloze-prefix打cloze-suffix", 28 28 "stroke-count": "Stroke count: Unknown", ··· 54 54 "onyomi-hiragana": "", 55 55 "screenshot": "", 56 56 "search-query": "fullQuery", 57 - "selection-text": "", 57 + "popup-selection-text": "", 58 58 "sentence": "cloze-prefix込cloze-suffix", 59 59 "sentence-furigana": "cloze-prefix込cloze-suffix", 60 60 "stroke-count": "Stroke count: Unknown", ··· 105 105 "reading": "だ", 106 106 "screenshot": "", 107 107 "search-query": "fullQuery", 108 - "selection-text": "", 108 + "popup-selection-text": "", 109 109 "sentence": "cloze-prefix打cloze-suffix", 110 110 "sentence-furigana": "cloze-prefix打cloze-suffix", 111 111 "tags": "n", ··· 146 146 "reading": "ダース", 147 147 "screenshot": "", 148 148 "search-query": "fullQuery", 149 - "selection-text": "", 149 + "popup-selection-text": "", 150 150 "sentence": "cloze-prefix打cloze-suffix", 151 151 "sentence-furigana": "cloze-prefix打cloze-suffix", 152 152 "tags": "abbr, n", ··· 192 192 "reading": "うつ", 193 193 "screenshot": "", 194 194 "search-query": "fullQuery", 195 - "selection-text": "", 195 + "popup-selection-text": "", 196 196 "sentence": "cloze-prefix打つcloze-suffix", 197 197 "sentence-furigana": "cloze-prefix打つcloze-suffix", 198 198 "tags": "vt", ··· 233 233 "reading": "ぶつ", 234 234 "screenshot": "", 235 235 "search-query": "fullQuery", 236 - "selection-text": "", 236 + "popup-selection-text": "", 237 237 "sentence": "cloze-prefix打つcloze-suffix", 238 238 "sentence-furigana": "cloze-prefix打つcloze-suffix", 239 239 "tags": "vt", ··· 274 274 "reading": "うつ", 275 275 "screenshot": "", 276 276 "search-query": "fullQuery", 277 - "selection-text": "", 277 + "popup-selection-text": "", 278 278 "sentence": "cloze-prefix打つcloze-suffix", 279 279 "sentence-furigana": "cloze-prefix打つcloze-suffix", 280 280 "tags": "vt", ··· 315 315 "reading": "ぶつ", 316 316 "screenshot": "", 317 317 "search-query": "fullQuery", 318 - "selection-text": "", 318 + "popup-selection-text": "", 319 319 "sentence": "cloze-prefix打つcloze-suffix", 320 320 "sentence-furigana": "cloze-prefix打つcloze-suffix", 321 321 "tags": "vt", ··· 356 356 "reading": "だ", 357 357 "screenshot": "", 358 358 "search-query": "fullQuery", 359 - "selection-text": "", 359 + "popup-selection-text": "", 360 360 "sentence": "cloze-prefix打cloze-suffix", 361 361 "sentence-furigana": "cloze-prefix打cloze-suffix", 362 362 "tags": "n", ··· 397 397 "reading": "ダース", 398 398 "screenshot": "", 399 399 "search-query": "fullQuery", 400 - "selection-text": "", 400 + "popup-selection-text": "", 401 401 "sentence": "cloze-prefix打cloze-suffix", 402 402 "sentence-furigana": "cloze-prefix打cloze-suffix", 403 403 "tags": "abbr, n", ··· 443 443 "reading": "うちこむ", 444 444 "screenshot": "", 445 445 "search-query": "fullQuery", 446 - "selection-text": "", 446 + "popup-selection-text": "", 447 447 "sentence": "cloze-prefix打ち込むcloze-suffix", 448 448 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 449 449 "tags": "vt", ··· 484 484 "reading": "ぶちこむ", 485 485 "screenshot": "", 486 486 "search-query": "fullQuery", 487 - "selection-text": "", 487 + "popup-selection-text": "", 488 488 "sentence": "cloze-prefix打ち込むcloze-suffix", 489 489 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 490 490 "tags": "vt", ··· 525 525 "reading": "うちこむ", 526 526 "screenshot": "", 527 527 "search-query": "fullQuery", 528 - "selection-text": "", 528 + "popup-selection-text": "", 529 529 "sentence": "cloze-prefix打ち込むcloze-suffix", 530 530 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 531 531 "tags": "vt", ··· 566 566 "reading": "ぶちこむ", 567 567 "screenshot": "", 568 568 "search-query": "fullQuery", 569 - "selection-text": "", 569 + "popup-selection-text": "", 570 570 "sentence": "cloze-prefix打ち込むcloze-suffix", 571 571 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 572 572 "tags": "vt", ··· 607 607 "reading": "うつ", 608 608 "screenshot": "", 609 609 "search-query": "fullQuery", 610 - "selection-text": "", 610 + "popup-selection-text": "", 611 611 "sentence": "cloze-prefix打ちcloze-suffix", 612 612 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 613 613 "tags": "vt", ··· 648 648 "reading": "ぶつ", 649 649 "screenshot": "", 650 650 "search-query": "fullQuery", 651 - "selection-text": "", 651 + "popup-selection-text": "", 652 652 "sentence": "cloze-prefix打ちcloze-suffix", 653 653 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 654 654 "tags": "vt", ··· 689 689 "reading": "うつ", 690 690 "screenshot": "", 691 691 "search-query": "fullQuery", 692 - "selection-text": "", 692 + "popup-selection-text": "", 693 693 "sentence": "cloze-prefix打ちcloze-suffix", 694 694 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 695 695 "tags": "vt", ··· 730 730 "reading": "ぶつ", 731 731 "screenshot": "", 732 732 "search-query": "fullQuery", 733 - "selection-text": "", 733 + "popup-selection-text": "", 734 734 "sentence": "cloze-prefix打ちcloze-suffix", 735 735 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 736 736 "tags": "vt", ··· 771 771 "reading": "だ", 772 772 "screenshot": "", 773 773 "search-query": "fullQuery", 774 - "selection-text": "", 774 + "popup-selection-text": "", 775 775 "sentence": "cloze-prefix打cloze-suffix", 776 776 "sentence-furigana": "cloze-prefix打cloze-suffix", 777 777 "tags": "n", ··· 812 812 "reading": "ダース", 813 813 "screenshot": "", 814 814 "search-query": "fullQuery", 815 - "selection-text": "", 815 + "popup-selection-text": "", 816 816 "sentence": "cloze-prefix打cloze-suffix", 817 817 "sentence-furigana": "cloze-prefix打cloze-suffix", 818 818 "tags": "abbr, n", ··· 858 858 "reading": "がぞう", 859 859 "screenshot": "", 860 860 "search-query": "fullQuery", 861 - "selection-text": "", 861 + "popup-selection-text": "", 862 862 "sentence": "cloze-prefix画像cloze-suffix", 863 863 "sentence-furigana": "cloze-prefix画像cloze-suffix", 864 864 "tags": "n", ··· 904 904 "reading": "だ", 905 905 "screenshot": "", 906 906 "search-query": "fullQuery", 907 - "selection-text": "", 907 + "popup-selection-text": "", 908 908 "sentence": "cloze-prefixだcloze-suffix", 909 909 "sentence-furigana": "cloze-prefixだcloze-suffix", 910 910 "tags": "n", ··· 950 950 "reading": "ダース", 951 951 "screenshot": "", 952 952 "search-query": "fullQuery", 953 - "selection-text": "", 953 + "popup-selection-text": "", 954 954 "sentence": "cloze-prefixダースcloze-suffix", 955 955 "sentence-furigana": "cloze-prefixダースcloze-suffix", 956 956 "tags": "abbr, n", ··· 991 991 "reading": "だ", 992 992 "screenshot": "", 993 993 "search-query": "fullQuery", 994 - "selection-text": "", 994 + "popup-selection-text": "", 995 995 "sentence": "cloze-prefixダcloze-suffix", 996 996 "sentence-furigana": "cloze-prefixダcloze-suffix", 997 997 "tags": "n", ··· 1037 1037 "reading": "うつ", 1038 1038 "screenshot": "", 1039 1039 "search-query": "fullQuery", 1040 - "selection-text": "", 1040 + "popup-selection-text": "", 1041 1041 "sentence": "cloze-prefixうつcloze-suffix", 1042 1042 "sentence-furigana": "cloze-prefixうつcloze-suffix", 1043 1043 "tags": "vt", ··· 1078 1078 "reading": "うつ", 1079 1079 "screenshot": "", 1080 1080 "search-query": "fullQuery", 1081 - "selection-text": "", 1081 + "popup-selection-text": "", 1082 1082 "sentence": "cloze-prefixうつcloze-suffix", 1083 1083 "sentence-furigana": "cloze-prefixうつcloze-suffix", 1084 1084 "tags": "vt", ··· 1124 1124 "reading": "ぶつ", 1125 1125 "screenshot": "", 1126 1126 "search-query": "fullQuery", 1127 - "selection-text": "", 1127 + "popup-selection-text": "", 1128 1128 "sentence": "cloze-prefixぶつcloze-suffix", 1129 1129 "sentence-furigana": "cloze-prefixぶつcloze-suffix", 1130 1130 "tags": "vt", ··· 1165 1165 "reading": "ぶつ", 1166 1166 "screenshot": "", 1167 1167 "search-query": "fullQuery", 1168 - "selection-text": "", 1168 + "popup-selection-text": "", 1169 1169 "sentence": "cloze-prefixぶつcloze-suffix", 1170 1170 "sentence-furigana": "cloze-prefixぶつcloze-suffix", 1171 1171 "tags": "vt", ··· 1211 1211 "reading": "うちこむ", 1212 1212 "screenshot": "", 1213 1213 "search-query": "fullQuery", 1214 - "selection-text": "", 1214 + "popup-selection-text": "", 1215 1215 "sentence": "cloze-prefixうちこむcloze-suffix", 1216 1216 "sentence-furigana": "cloze-prefixうちこむcloze-suffix", 1217 1217 "tags": "vt", ··· 1252 1252 "reading": "うちこむ", 1253 1253 "screenshot": "", 1254 1254 "search-query": "fullQuery", 1255 - "selection-text": "", 1255 + "popup-selection-text": "", 1256 1256 "sentence": "cloze-prefixうちこむcloze-suffix", 1257 1257 "sentence-furigana": "cloze-prefixうちこむcloze-suffix", 1258 1258 "tags": "vt", ··· 1293 1293 "reading": "うつ", 1294 1294 "screenshot": "", 1295 1295 "search-query": "fullQuery", 1296 - "selection-text": "", 1296 + "popup-selection-text": "", 1297 1297 "sentence": "cloze-prefixうちcloze-suffix", 1298 1298 "sentence-furigana": "cloze-prefixうちcloze-suffix", 1299 1299 "tags": "vt", ··· 1334 1334 "reading": "うつ", 1335 1335 "screenshot": "", 1336 1336 "search-query": "fullQuery", 1337 - "selection-text": "", 1337 + "popup-selection-text": "", 1338 1338 "sentence": "cloze-prefixうちcloze-suffix", 1339 1339 "sentence-furigana": "cloze-prefixうちcloze-suffix", 1340 1340 "tags": "vt", ··· 1380 1380 "reading": "ぶちこむ", 1381 1381 "screenshot": "", 1382 1382 "search-query": "fullQuery", 1383 - "selection-text": "", 1383 + "popup-selection-text": "", 1384 1384 "sentence": "cloze-prefixぶちこむcloze-suffix", 1385 1385 "sentence-furigana": "cloze-prefixぶちこむcloze-suffix", 1386 1386 "tags": "vt", ··· 1421 1421 "reading": "ぶちこむ", 1422 1422 "screenshot": "", 1423 1423 "search-query": "fullQuery", 1424 - "selection-text": "", 1424 + "popup-selection-text": "", 1425 1425 "sentence": "cloze-prefixぶちこむcloze-suffix", 1426 1426 "sentence-furigana": "cloze-prefixぶちこむcloze-suffix", 1427 1427 "tags": "vt", ··· 1462 1462 "reading": "ぶつ", 1463 1463 "screenshot": "", 1464 1464 "search-query": "fullQuery", 1465 - "selection-text": "", 1465 + "popup-selection-text": "", 1466 1466 "sentence": "cloze-prefixぶちcloze-suffix", 1467 1467 "sentence-furigana": "cloze-prefixぶちcloze-suffix", 1468 1468 "tags": "vt", ··· 1503 1503 "reading": "ぶつ", 1504 1504 "screenshot": "", 1505 1505 "search-query": "fullQuery", 1506 - "selection-text": "", 1506 + "popup-selection-text": "", 1507 1507 "sentence": "cloze-prefixぶちcloze-suffix", 1508 1508 "sentence-furigana": "cloze-prefixぶちcloze-suffix", 1509 1509 "tags": "vt", ··· 1549 1549 "reading": "がぞう", 1550 1550 "screenshot": "", 1551 1551 "search-query": "fullQuery", 1552 - "selection-text": "", 1552 + "popup-selection-text": "", 1553 1553 "sentence": "cloze-prefixがぞうcloze-suffix", 1554 1554 "sentence-furigana": "cloze-prefixがぞうcloze-suffix", 1555 1555 "tags": "n", ··· 1607 1607 "reading": "うちこむ", 1608 1608 "screenshot": "", 1609 1609 "search-query": "fullQuery", 1610 - "selection-text": "", 1610 + "popup-selection-text": "", 1611 1611 "sentence": "cloze-prefix打ち込むcloze-suffix", 1612 1612 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 1613 1613 "tags": "vt", ··· 1648 1648 "reading": "ぶちこむ", 1649 1649 "screenshot": "", 1650 1650 "search-query": "fullQuery", 1651 - "selection-text": "", 1651 + "popup-selection-text": "", 1652 1652 "sentence": "cloze-prefix打ち込むcloze-suffix", 1653 1653 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 1654 1654 "tags": "vt", ··· 1689 1689 "reading": "うつ", 1690 1690 "screenshot": "", 1691 1691 "search-query": "fullQuery", 1692 - "selection-text": "", 1692 + "popup-selection-text": "", 1693 1693 "sentence": "cloze-prefix打ちcloze-suffix", 1694 1694 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 1695 1695 "tags": "vt", ··· 1730 1730 "reading": "ぶつ", 1731 1731 "screenshot": "", 1732 1732 "search-query": "fullQuery", 1733 - "selection-text": "", 1733 + "popup-selection-text": "", 1734 1734 "sentence": "cloze-prefix打ちcloze-suffix", 1735 1735 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 1736 1736 "tags": "vt", ··· 1771 1771 "reading": "だ", 1772 1772 "screenshot": "", 1773 1773 "search-query": "fullQuery", 1774 - "selection-text": "", 1774 + "popup-selection-text": "", 1775 1775 "sentence": "cloze-prefix打cloze-suffix", 1776 1776 "sentence-furigana": "cloze-prefix打cloze-suffix", 1777 1777 "tags": "n", ··· 1812 1812 "reading": "ダース", 1813 1813 "screenshot": "", 1814 1814 "search-query": "fullQuery", 1815 - "selection-text": "", 1815 + "popup-selection-text": "", 1816 1816 "sentence": "cloze-prefix打cloze-suffix", 1817 1817 "sentence-furigana": "cloze-prefix打cloze-suffix", 1818 1818 "tags": "abbr, n", ··· 1858 1858 "reading": "うちこむ、ぶちこむ", 1859 1859 "screenshot": "", 1860 1860 "search-query": "fullQuery", 1861 - "selection-text": "", 1861 + "popup-selection-text": "", 1862 1862 "sentence": "cloze-prefix打ち込むcloze-suffix", 1863 1863 "sentence-furigana": "cloze-prefix打ち込むcloze-suffix", 1864 1864 "tags": "vt", ··· 1899 1899 "reading": "うつ、ぶつ", 1900 1900 "screenshot": "", 1901 1901 "search-query": "fullQuery", 1902 - "selection-text": "", 1902 + "popup-selection-text": "", 1903 1903 "sentence": "cloze-prefix打ちcloze-suffix", 1904 1904 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 1905 1905 "tags": "vt", ··· 1940 1940 "reading": "だ", 1941 1941 "screenshot": "", 1942 1942 "search-query": "fullQuery", 1943 - "selection-text": "", 1943 + "popup-selection-text": "", 1944 1944 "sentence": "cloze-prefix打cloze-suffix", 1945 1945 "sentence-furigana": "cloze-prefix打cloze-suffix", 1946 1946 "tags": "n", ··· 1981 1981 "reading": "ダース", 1982 1982 "screenshot": "", 1983 1983 "search-query": "fullQuery", 1984 - "selection-text": "", 1984 + "popup-selection-text": "", 1985 1985 "sentence": "cloze-prefix打cloze-suffix", 1986 1986 "sentence-furigana": "cloze-prefix打cloze-suffix", 1987 1987 "tags": "abbr, n", ··· 2027 2027 "reading": "うちこむ", 2028 2028 "screenshot": "", 2029 2029 "search-query": "fullQuery", 2030 - "selection-text": "", 2030 + "popup-selection-text": "", 2031 2031 "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2032 2032 "sentence-furigana": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2033 2033 "tags": "vt", ··· 2068 2068 "reading": "ぶちこむ", 2069 2069 "screenshot": "", 2070 2070 "search-query": "fullQuery", 2071 - "selection-text": "", 2071 + "popup-selection-text": "", 2072 2072 "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2073 2073 "sentence-furigana": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2074 2074 "tags": "vt", ··· 2109 2109 "reading": "うちこむ", 2110 2110 "screenshot": "", 2111 2111 "search-query": "fullQuery", 2112 - "selection-text": "", 2112 + "popup-selection-text": "", 2113 2113 "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2114 2114 "sentence-furigana": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2115 2115 "tags": "vt", ··· 2150 2150 "reading": "ぶちこむ", 2151 2151 "screenshot": "", 2152 2152 "search-query": "fullQuery", 2153 - "selection-text": "", 2153 + "popup-selection-text": "", 2154 2154 "sentence": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2155 2155 "sentence-furigana": "cloze-prefix打ち込んでいませんでしたcloze-suffix", 2156 2156 "tags": "vt", ··· 2191 2191 "reading": "うつ", 2192 2192 "screenshot": "", 2193 2193 "search-query": "fullQuery", 2194 - "selection-text": "", 2194 + "popup-selection-text": "", 2195 2195 "sentence": "cloze-prefix打ちcloze-suffix", 2196 2196 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 2197 2197 "tags": "vt", ··· 2232 2232 "reading": "ぶつ", 2233 2233 "screenshot": "", 2234 2234 "search-query": "fullQuery", 2235 - "selection-text": "", 2235 + "popup-selection-text": "", 2236 2236 "sentence": "cloze-prefix打ちcloze-suffix", 2237 2237 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 2238 2238 "tags": "vt", ··· 2273 2273 "reading": "うつ", 2274 2274 "screenshot": "", 2275 2275 "search-query": "fullQuery", 2276 - "selection-text": "", 2276 + "popup-selection-text": "", 2277 2277 "sentence": "cloze-prefix打ちcloze-suffix", 2278 2278 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 2279 2279 "tags": "vt", ··· 2314 2314 "reading": "ぶつ", 2315 2315 "screenshot": "", 2316 2316 "search-query": "fullQuery", 2317 - "selection-text": "", 2317 + "popup-selection-text": "", 2318 2318 "sentence": "cloze-prefix打ちcloze-suffix", 2319 2319 "sentence-furigana": "cloze-prefix打ちcloze-suffix", 2320 2320 "tags": "vt", ··· 2355 2355 "reading": "だ", 2356 2356 "screenshot": "", 2357 2357 "search-query": "fullQuery", 2358 - "selection-text": "", 2358 + "popup-selection-text": "", 2359 2359 "sentence": "cloze-prefix打cloze-suffix", 2360 2360 "sentence-furigana": "cloze-prefix打cloze-suffix", 2361 2361 "tags": "n", ··· 2396 2396 "reading": "ダース", 2397 2397 "screenshot": "", 2398 2398 "search-query": "fullQuery", 2399 - "selection-text": "", 2399 + "popup-selection-text": "", 2400 2400 "sentence": "cloze-prefix打cloze-suffix", 2401 2401 "sentence-furigana": "cloze-prefix打cloze-suffix", 2402 2402 "tags": "abbr, n", ··· 2442 2442 "reading": "うちこむ", 2443 2443 "screenshot": "", 2444 2444 "search-query": "fullQuery", 2445 - "selection-text": "", 2445 + "popup-selection-text": "", 2446 2446 "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2447 2447 "sentence-furigana": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2448 2448 "tags": "vt", ··· 2483 2483 "reading": "ぶちこむ", 2484 2484 "screenshot": "", 2485 2485 "search-query": "fullQuery", 2486 - "selection-text": "", 2486 + "popup-selection-text": "", 2487 2487 "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2488 2488 "sentence-furigana": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2489 2489 "tags": "vt", ··· 2524 2524 "reading": "うちこむ", 2525 2525 "screenshot": "", 2526 2526 "search-query": "fullQuery", 2527 - "selection-text": "", 2527 + "popup-selection-text": "", 2528 2528 "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2529 2529 "sentence-furigana": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2530 2530 "tags": "vt", ··· 2565 2565 "reading": "ぶちこむ", 2566 2566 "screenshot": "", 2567 2567 "search-query": "fullQuery", 2568 - "selection-text": "", 2568 + "popup-selection-text": "", 2569 2569 "sentence": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2570 2570 "sentence-furigana": "cloze-prefix打(う)ち込(こ)むcloze-suffix", 2571 2571 "tags": "vt", ··· 2606 2606 "reading": "うつ", 2607 2607 "screenshot": "", 2608 2608 "search-query": "fullQuery", 2609 - "selection-text": "", 2609 + "popup-selection-text": "", 2610 2610 "sentence": "cloze-prefix打(う)ちcloze-suffix", 2611 2611 "sentence-furigana": "cloze-prefix打(う)ちcloze-suffix", 2612 2612 "tags": "vt", ··· 2647 2647 "reading": "ぶつ", 2648 2648 "screenshot": "", 2649 2649 "search-query": "fullQuery", 2650 - "selection-text": "", 2650 + "popup-selection-text": "", 2651 2651 "sentence": "cloze-prefix打(う)ちcloze-suffix", 2652 2652 "sentence-furigana": "cloze-prefix打(う)ちcloze-suffix", 2653 2653 "tags": "vt", ··· 2688 2688 "reading": "うつ", 2689 2689 "screenshot": "", 2690 2690 "search-query": "fullQuery", 2691 - "selection-text": "", 2691 + "popup-selection-text": "", 2692 2692 "sentence": "cloze-prefix打(う)ちcloze-suffix", 2693 2693 "sentence-furigana": "cloze-prefix打(う)ちcloze-suffix", 2694 2694 "tags": "vt", ··· 2729 2729 "reading": "ぶつ", 2730 2730 "screenshot": "", 2731 2731 "search-query": "fullQuery", 2732 - "selection-text": "", 2732 + "popup-selection-text": "", 2733 2733 "sentence": "cloze-prefix打(う)ちcloze-suffix", 2734 2734 "sentence-furigana": "cloze-prefix打(う)ちcloze-suffix", 2735 2735 "tags": "vt", ··· 2770 2770 "reading": "だ", 2771 2771 "screenshot": "", 2772 2772 "search-query": "fullQuery", 2773 - "selection-text": "", 2773 + "popup-selection-text": "", 2774 2774 "sentence": "cloze-prefix打(う)cloze-suffix", 2775 2775 "sentence-furigana": "cloze-prefix打(う)cloze-suffix", 2776 2776 "tags": "n", ··· 2811 2811 "reading": "ダース", 2812 2812 "screenshot": "", 2813 2813 "search-query": "fullQuery", 2814 - "selection-text": "", 2814 + "popup-selection-text": "", 2815 2815 "sentence": "cloze-prefix打(う)cloze-suffix", 2816 2816 "sentence-furigana": "cloze-prefix打(う)cloze-suffix", 2817 2817 "tags": "abbr, n", ··· 2857 2857 "reading": "うちこむ", 2858 2858 "screenshot": "", 2859 2859 "search-query": "fullQuery", 2860 - "selection-text": "", 2860 + "popup-selection-text": "", 2861 2861 "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2862 2862 "sentence-furigana": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2863 2863 "tags": "vt", ··· 2898 2898 "reading": "ぶちこむ", 2899 2899 "screenshot": "", 2900 2900 "search-query": "fullQuery", 2901 - "selection-text": "", 2901 + "popup-selection-text": "", 2902 2902 "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2903 2903 "sentence-furigana": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2904 2904 "tags": "vt", ··· 2939 2939 "reading": "うちこむ", 2940 2940 "screenshot": "", 2941 2941 "search-query": "fullQuery", 2942 - "selection-text": "", 2942 + "popup-selection-text": "", 2943 2943 "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2944 2944 "sentence-furigana": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2945 2945 "tags": "vt", ··· 2980 2980 "reading": "ぶちこむ", 2981 2981 "screenshot": "", 2982 2982 "search-query": "fullQuery", 2983 - "selection-text": "", 2983 + "popup-selection-text": "", 2984 2984 "sentence": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2985 2985 "sentence-furigana": "cloze-prefix(打)(ち)(込)(む)cloze-suffix", 2986 2986 "tags": "vt", ··· 3021 3021 "reading": "うつ", 3022 3022 "screenshot": "", 3023 3023 "search-query": "fullQuery", 3024 - "selection-text": "", 3024 + "popup-selection-text": "", 3025 3025 "sentence": "cloze-prefix(打)(ち)cloze-suffix", 3026 3026 "sentence-furigana": "cloze-prefix(打)(ち)cloze-suffix", 3027 3027 "tags": "vt", ··· 3062 3062 "reading": "ぶつ", 3063 3063 "screenshot": "", 3064 3064 "search-query": "fullQuery", 3065 - "selection-text": "", 3065 + "popup-selection-text": "", 3066 3066 "sentence": "cloze-prefix(打)(ち)cloze-suffix", 3067 3067 "sentence-furigana": "cloze-prefix(打)(ち)cloze-suffix", 3068 3068 "tags": "vt", ··· 3103 3103 "reading": "うつ", 3104 3104 "screenshot": "", 3105 3105 "search-query": "fullQuery", 3106 - "selection-text": "", 3106 + "popup-selection-text": "", 3107 3107 "sentence": "cloze-prefix(打)(ち)cloze-suffix", 3108 3108 "sentence-furigana": "cloze-prefix(打)(ち)cloze-suffix", 3109 3109 "tags": "vt", ··· 3144 3144 "reading": "ぶつ", 3145 3145 "screenshot": "", 3146 3146 "search-query": "fullQuery", 3147 - "selection-text": "", 3147 + "popup-selection-text": "", 3148 3148 "sentence": "cloze-prefix(打)(ち)cloze-suffix", 3149 3149 "sentence-furigana": "cloze-prefix(打)(ち)cloze-suffix", 3150 3150 "tags": "vt", ··· 3185 3185 "reading": "だ", 3186 3186 "screenshot": "", 3187 3187 "search-query": "fullQuery", 3188 - "selection-text": "", 3188 + "popup-selection-text": "", 3189 3189 "sentence": "cloze-prefix(打)cloze-suffix", 3190 3190 "sentence-furigana": "cloze-prefix(打)cloze-suffix", 3191 3191 "tags": "n", ··· 3226 3226 "reading": "ダース", 3227 3227 "screenshot": "", 3228 3228 "search-query": "fullQuery", 3229 - "selection-text": "", 3229 + "popup-selection-text": "", 3230 3230 "sentence": "cloze-prefix(打)cloze-suffix", 3231 3231 "sentence-furigana": "cloze-prefix(打)cloze-suffix", 3232 3232 "tags": "abbr, n", ··· 3272 3272 "reading": "よむ", 3273 3273 "screenshot": "", 3274 3274 "search-query": "fullQuery", 3275 - "selection-text": "", 3275 + "popup-selection-text": "", 3276 3276 "sentence": "cloze-prefixtestcloze-suffix", 3277 3277 "sentence-furigana": "cloze-prefixtestcloze-suffix", 3278 3278 "tags": "vt", ··· 3318 3318 "reading": "つよみ", 3319 3319 "screenshot": "", 3320 3320 "search-query": "fullQuery", 3321 - "selection-text": "", 3321 + "popup-selection-text": "", 3322 3322 "sentence": "cloze-prefixつtestcloze-suffix", 3323 3323 "sentence-furigana": "cloze-prefixつtestcloze-suffix", 3324 3324 "tags": "n", ··· 3364 3364 "reading": "よむ", 3365 3365 "screenshot": "", 3366 3366 "search-query": "fullQuery", 3367 - "selection-text": "", 3367 + "popup-selection-text": "", 3368 3368 "sentence": "cloze-prefixtestましたcloze-suffix", 3369 3369 "sentence-furigana": "cloze-prefixtestましたcloze-suffix", 3370 3370 "tags": "vt", ··· 3410 3410 "reading": "うちこむ、ぶちこむ", 3411 3411 "screenshot": "", 3412 3412 "search-query": "fullQuery", 3413 - "selection-text": "", 3413 + "popup-selection-text": "", 3414 3414 "sentence": "cloze-prefixうちこむcloze-suffix", 3415 3415 "sentence-furigana": "cloze-prefixうちこむcloze-suffix", 3416 3416 "tags": "vt", ··· 3451 3451 "reading": "うつ、ぶつ", 3452 3452 "screenshot": "", 3453 3453 "search-query": "fullQuery", 3454 - "selection-text": "", 3454 + "popup-selection-text": "", 3455 3455 "sentence": "cloze-prefixうちcloze-suffix", 3456 3456 "sentence-furigana": "cloze-prefixうちcloze-suffix", 3457 3457 "tags": "vt", ··· 3497 3497 "reading": "おてまえ", 3498 3498 "screenshot": "", 3499 3499 "search-query": "fullQuery", 3500 - "selection-text": "", 3500 + "popup-selection-text": "", 3501 3501 "sentence": "cloze-prefixお手前cloze-suffix", 3502 3502 "sentence-furigana": "cloze-prefixお手前cloze-suffix", 3503 3503 "tags": "n", ··· 3543 3543 "reading": "ばんごう", 3544 3544 "screenshot": "", 3545 3545 "search-query": "fullQuery", 3546 - "selection-text": "", 3546 + "popup-selection-text": "", 3547 3547 "sentence": "cloze-prefix番号cloze-suffix", 3548 3548 "sentence-furigana": "cloze-prefix番号cloze-suffix", 3549 3549 "tags": "n", ··· 3589 3589 "reading": "ちゅうごし", 3590 3590 "screenshot": "", 3591 3591 "search-query": "fullQuery", 3592 - "selection-text": "", 3592 + "popup-selection-text": "", 3593 3593 "sentence": "cloze-prefix中腰cloze-suffix", 3594 3594 "sentence-furigana": "cloze-prefix中腰cloze-suffix", 3595 3595 "tags": "n", ··· 3635 3635 "reading": "しょぎょう", 3636 3636 "screenshot": "", 3637 3637 "search-query": "fullQuery", 3638 - "selection-text": "", 3638 + "popup-selection-text": "", 3639 3639 "sentence": "cloze-prefix所業cloze-suffix", 3640 3640 "sentence-furigana": "cloze-prefix所業cloze-suffix", 3641 3641 "tags": "n", ··· 3681 3681 "reading": "どぼくこうじ", 3682 3682 "screenshot": "", 3683 3683 "search-query": "fullQuery", 3684 - "selection-text": "", 3684 + "popup-selection-text": "", 3685 3685 "sentence": "cloze-prefix土木工事cloze-suffix", 3686 3686 "sentence-furigana": "cloze-prefix土木工事cloze-suffix", 3687 3687 "tags": "n", ··· 3727 3727 "reading": "すき", 3728 3728 "screenshot": "", 3729 3729 "search-query": "fullQuery", 3730 - "selection-text": "", 3730 + "popup-selection-text": "", 3731 3731 "sentence": "cloze-prefix好きcloze-suffix", 3732 3732 "sentence-furigana": "cloze-prefix好きcloze-suffix", 3733 3733 "tags": "adj-na, n", ··· 3773 3773 "reading": "こうぞう", 3774 3774 "screenshot": "", 3775 3775 "search-query": "fullQuery", 3776 - "selection-text": "", 3776 + "popup-selection-text": "", 3777 3777 "sentence": "cloze-prefix構造cloze-suffix", 3778 3778 "sentence-furigana": "cloze-prefix構造cloze-suffix", 3779 3779 "tags": "n", ··· 3819 3819 "reading": "のたまう", 3820 3820 "screenshot": "", 3821 3821 "search-query": "fullQuery", 3822 - "selection-text": "", 3822 + "popup-selection-text": "", 3823 3823 "sentence": "cloze-prefixのたもうたcloze-suffix", 3824 3824 "sentence-furigana": "cloze-prefixのたもうたcloze-suffix", 3825 3825 "tags": "v5", ··· 3865 3865 "reading": "さんきゅう", 3866 3866 "screenshot": "", 3867 3867 "search-query": "fullQuery", 3868 - "selection-text": "", 3868 + "popup-selection-text": "", 3869 3869 "sentence": "cloze-prefix39cloze-suffix", 3870 3870 "sentence-furigana": "cloze-prefix39cloze-suffix", 3871 3871 "tags": "", ··· 3911 3911 "reading": "English", 3912 3912 "screenshot": "", 3913 3913 "search-query": "fullQuery", 3914 - "selection-text": "", 3914 + "popup-selection-text": "", 3915 3915 "sentence": "cloze-prefixEnglishcloze-suffix", 3916 3916 "sentence-furigana": "cloze-prefixEnglishcloze-suffix", 3917 3917 "tags": "n", ··· 3957 3957 "reading": "ユーエスビー", 3958 3958 "screenshot": "", 3959 3959 "search-query": "fullQuery", 3960 - "selection-text": "", 3960 + "popup-selection-text": "", 3961 3961 "sentence": "cloze-prefixUSBcloze-suffix", 3962 3962 "sentence-furigana": "cloze-prefixUSBcloze-suffix", 3963 3963 "tags": "n", ··· 4003 4003 "reading": "うつ", 4004 4004 "screenshot": "", 4005 4005 "search-query": "fullQuery", 4006 - "selection-text": "", 4006 + "popup-selection-text": "", 4007 4007 "sentence": "cloze-prefixutsucloze-suffix", 4008 4008 "sentence-furigana": "cloze-prefixutsucloze-suffix", 4009 4009 "tags": "vt", ··· 4044 4044 "reading": "うつ", 4045 4045 "screenshot": "", 4046 4046 "search-query": "fullQuery", 4047 - "selection-text": "", 4047 + "popup-selection-text": "", 4048 4048 "sentence": "cloze-prefixutsucloze-suffix", 4049 4049 "sentence-furigana": "cloze-prefixutsucloze-suffix", 4050 4050 "tags": "vt", ··· 4090 4090 "reading": "うつ", 4091 4091 "screenshot": "", 4092 4092 "search-query": "fullQuery", 4093 - "selection-text": "", 4093 + "popup-selection-text": "", 4094 4094 "sentence": "cloze-prefixウツcloze-suffix", 4095 4095 "sentence-furigana": "cloze-prefixウツcloze-suffix", 4096 4096 "tags": "vt", ··· 4131 4131 "reading": "うつ", 4132 4132 "screenshot": "", 4133 4133 "search-query": "fullQuery", 4134 - "selection-text": "", 4134 + "popup-selection-text": "", 4135 4135 "sentence": "cloze-prefixウツcloze-suffix", 4136 4136 "sentence-furigana": "cloze-prefixウツcloze-suffix", 4137 4137 "tags": "vt", ··· 4177 4177 "reading": "テキスト", 4178 4178 "screenshot": "", 4179 4179 "search-query": "fullQuery", 4180 - "selection-text": "", 4180 + "popup-selection-text": "", 4181 4181 "sentence": "cloze-prefixてきすとcloze-suffix", 4182 4182 "sentence-furigana": "cloze-prefixてきすとcloze-suffix", 4183 4183 "tags": "n", ··· 4223 4223 "reading": "うつ", 4224 4224 "screenshot": "", 4225 4225 "search-query": "fullQuery", 4226 - "selection-text": "", 4226 + "popup-selection-text": "", 4227 4227 "sentence": "cloze-prefixウツcloze-suffix", 4228 4228 "sentence-furigana": "cloze-prefixウツcloze-suffix", 4229 4229 "tags": "vt", ··· 4264 4264 "reading": "うつ", 4265 4265 "screenshot": "", 4266 4266 "search-query": "fullQuery", 4267 - "selection-text": "", 4267 + "popup-selection-text": "", 4268 4268 "sentence": "cloze-prefixウツcloze-suffix", 4269 4269 "sentence-furigana": "cloze-prefixウツcloze-suffix", 4270 4270 "tags": "vt", ··· 4310 4310 "reading": "すごい", 4311 4311 "screenshot": "", 4312 4312 "search-query": "fullQuery", 4313 - "selection-text": "", 4313 + "popup-selection-text": "", 4314 4314 "sentence": "cloze-prefixすっっごーーいcloze-suffix", 4315 4315 "sentence-furigana": "cloze-prefixすっっごーーいcloze-suffix", 4316 4316 "tags": "adj-i", ··· 4356 4356 "reading": "English", 4357 4357 "screenshot": "", 4358 4358 "search-query": "fullQuery", 4359 - "selection-text": "", 4359 + "popup-selection-text": "", 4360 4360 "sentence": "cloze-prefixenglishcloze-suffix", 4361 4361 "sentence-furigana": "cloze-prefixenglishcloze-suffix", 4362 4362 "tags": "n", ··· 4402 4402 "reading": "language", 4403 4403 "screenshot": "", 4404 4404 "search-query": "fullQuery", 4405 - "selection-text": "", 4405 + "popup-selection-text": "", 4406 4406 "sentence": "cloze-prefixLANGUAGEcloze-suffix", 4407 4407 "sentence-furigana": "cloze-prefixLANGUAGEcloze-suffix", 4408 4408 "tags": "n", ··· 4448 4448 "reading": "마시다", 4449 4449 "screenshot": "", 4450 4450 "search-query": "fullQuery", 4451 - "selection-text": "", 4451 + "popup-selection-text": "", 4452 4452 "sentence": "cloze-prefix마시거나cloze-suffix", 4453 4453 "sentence-furigana": "cloze-prefix마시거나cloze-suffix", 4454 4454 "tags": "v", ··· 4494 4494 "reading": "English", 4495 4495 "screenshot": "", 4496 4496 "search-query": "fullQuery", 4497 - "selection-text": "", 4497 + "popup-selection-text": "", 4498 4498 "sentence": "cloze-prefixenglishcloze-suffix", 4499 4499 "sentence-furigana": "cloze-prefixenglishcloze-suffix", 4500 4500 "tags": "n",
+44 -5
test/options-util.test.js
··· 125 125 tags: ['yomitan'], 126 126 sentenceExt: 200, 127 127 screenshot: {format: 'png', quality: 92}, 128 - terms: {deck: '', model: '', fields: {}}, 129 - kanji: {deck: '', model: '', fields: {}}, 128 + terms: { 129 + deck: '', 130 + model: '', 131 + fields: { 132 + expression: '{selection-text}', 133 + }, 134 + }, 135 + kanji: { 136 + deck: '', 137 + model: '', 138 + fields: { 139 + expression: '{selection-text}', 140 + }, 141 + }, 130 142 duplicateScope: 'collection', 131 143 fieldTemplates: null, 132 144 }, ··· 445 457 server: 'http://127.0.0.1:8765', 446 458 tags: ['yomitan'], 447 459 screenshot: {format: 'png', quality: 92}, 448 - terms: {deck: '', model: '', fields: {}}, 449 - kanji: {deck: '', model: '', fields: {}}, 460 + terms: { 461 + deck: '', 462 + model: '', 463 + fields: { 464 + expression: '{popup-selection-text}', 465 + }, 466 + }, 467 + kanji: { 468 + deck: '', 469 + model: '', 470 + fields: { 471 + expression: '{popup-selection-text}', 472 + }, 473 + }, 450 474 duplicateBehavior: 'new', 451 475 duplicateScope: 'collection', 452 476 duplicateScopeCheckAllModels: false, ··· 612 636 }, 613 637 ], 614 638 profileCurrent: 0, 615 - version: 44, 639 + version: 45, 616 640 global: { 617 641 database: { 618 642 prefixWildcardsSupported: false, ··· 1791 1815 1792 1816 {{#*inline "selection-text"}} 1793 1817 {{~#if (hasMedia "selectionText")}}{{{getMedia "selectionText"}}}{{/if~}} 1818 + {{/inline}} 1819 + `.trimStart(), 1820 + }, 1821 + { 1822 + oldVersion: 44, 1823 + newVersion: 45, 1824 + old: ` 1825 + {{#*inline "selection-text"}} 1826 + {{~#if (hasMedia "selectionText")}}{{{getMedia "selectionText"}}}{{/if~}} 1827 + {{/inline}} 1828 + `.trimStart(), 1829 + 1830 + expected: ` 1831 + {{#*inline "popup-selection-text"}} 1832 + {{~#if (hasMedia "popupSelectionText")}}{{{getMedia "popupSelectionText"}}}{{/if~}} 1794 1833 {{/inline}} 1795 1834 `.trimStart(), 1796 1835 },
+1 -1
types/ext/anki-note-builder.d.ts
··· 70 70 export type CommonData = AnkiTemplatesInternal.CreateDetails; 71 71 72 72 export type RequirementGeneric = { 73 - type: 'audio' | 'screenshot' | 'clipboardImage' | 'clipboardText' | 'selectionText'; 73 + type: 'audio' | 'screenshot' | 'clipboardImage' | 'clipboardText' | 'popupSelectionText'; 74 74 }; 75 75 76 76 export type RequirementTextFurigana = {
+2 -2
types/ext/anki-templates.d.ts
··· 32 32 screenshot?: MediaObject; 33 33 clipboardImage?: MediaObject; 34 34 clipboardText?: MediaObject; 35 - selectionText?: MediaObject; 35 + popupSelectionText?: MediaObject; 36 36 textFurigana?: TextFuriganaSegment[]; 37 37 dictionaryMedia?: DictionaryMedia; 38 38 }; ··· 44 44 'screenshot' | 45 45 'clipboardImage' | 46 46 'clipboardText' | 47 - 'selectionText' 47 + 'popupSelectionText' 48 48 ); 49 49 50 50 export type TextFuriganaSegment = {
+1 -1
types/ext/cross-frame-api.d.ts
··· 97 97 params: void; 98 98 return: void; 99 99 }; 100 - frontendGetSelectionText: { 100 + frontendGetPopupSelectionText: { 101 101 params: void; 102 102 return: string; 103 103 };