Created
October 3, 2022 04:59
-
-
Save tomodutch/0fa4bdfaccbdb9d656ae8218cdba4fb5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "version": 0, | |
| "date": "2022-10-03 04:58:32", | |
| "url": "chrome-extension://ogmnaimimemjmbakcfefmnahgdfhfami/", | |
| "manifest": { | |
| "author": "Alex Yatskov", | |
| "background": { | |
| "page": "background.html", | |
| "persistent": true | |
| }, | |
| "browser_action": { | |
| "default_icon": { | |
| "16": "images/icon16.png", | |
| "19": "images/icon19.png", | |
| "32": "images/icon32.png", | |
| "38": "images/icon38.png", | |
| "48": "images/icon48.png", | |
| "64": "images/icon64.png", | |
| "128": "images/icon128.png" | |
| }, | |
| "default_popup": "action-popup.html", | |
| "default_title": "Yomichan" | |
| }, | |
| "commands": { | |
| "openInfoPage": { | |
| "description": "Open the info page" | |
| }, | |
| "openPopupWindow": { | |
| "description": "Open the popup window" | |
| }, | |
| "openSearchPage": { | |
| "description": "Open the search page", | |
| "suggested_key": { | |
| "default": "Alt+Insert" | |
| } | |
| }, | |
| "openSettingsPage": { | |
| "description": "Open the settings page" | |
| }, | |
| "toggleTextScanning": { | |
| "description": "Toggle text scanning on/off", | |
| "suggested_key": { | |
| "default": "Alt+Delete" | |
| } | |
| } | |
| }, | |
| "content_scripts": [ | |
| { | |
| "all_frames": true, | |
| "js": [ | |
| "js/core.js", | |
| "js/yomichan.js", | |
| "js/app/frontend.js", | |
| "js/app/popup.js", | |
| "js/app/popup-factory.js", | |
| "js/app/popup-proxy.js", | |
| "js/app/popup-window.js", | |
| "js/app/theme-controller.js", | |
| "js/comm/api.js", | |
| "js/comm/cross-frame-api.js", | |
| "js/comm/frame-ancestry-handler.js", | |
| "js/comm/frame-client.js", | |
| "js/comm/frame-offset-forwarder.js", | |
| "js/data/sandbox/string-util.js", | |
| "js/dom/dom-text-scanner.js", | |
| "js/dom/document-util.js", | |
| "js/dom/text-source-element.js", | |
| "js/dom/text-source-range.js", | |
| "js/input/hotkey-handler.js", | |
| "js/language/text-scanner.js", | |
| "js/script/dynamic-loader.js", | |
| "js/app/content-script-main.js" | |
| ], | |
| "match_about_blank": true, | |
| "matches": [ | |
| "http://*/*", | |
| "https://*/*", | |
| "file://*/*" | |
| ], | |
| "run_at": "document_idle" | |
| } | |
| ], | |
| "content_security_policy": "default-src 'self'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *", | |
| "description": "Japanese dictionary with Anki integration", | |
| "differential_fingerprint": "1.539873214c72c6ad165fa4f098ae3a9b5c94a062f06d64b5950902b7a03cd30c", | |
| "icons": { | |
| "16": "images/icon16.png", | |
| "19": "images/icon19.png", | |
| "32": "images/icon32.png", | |
| "38": "images/icon38.png", | |
| "48": "images/icon48.png", | |
| "64": "images/icon64.png", | |
| "128": "images/icon128.png" | |
| }, | |
| "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAug/0Wtc35jGyy+Jkf4Kt9DUAzvziCJbhwlwzdro0cPnN+2K6Y2rCBVgAJln7SffCKVWa0k6BM3D7m7yydAECgSo8VUn2zUgInXpfQAuI2dG+6OEi0SOu2SkXJFvvAMjM/JAXY0zQRofnxeDRqvT7EtHW9lLwtgLTBuJObuq5zCHAPFa3PZ5ZORvUEmQZ2HDxUxaUZzsFW4kZ/rxPaNXTWe+qM30wqvlk79DBUJVq9zlzsDGM6G5qWcCk3vT5MEGuZVK7IPi6w9dPfOA3myicuywhDxumteg6wFraarMMAR2Stc80Yb9pCZT5Jav9e7eG97DuBAh97IOKrfI6mU8CkwIDAQAB", | |
| "manifest_version": 2, | |
| "minimum_chrome_version": "57.0.0.0", | |
| "name": "Yomichan", | |
| "optional_permissions": [ | |
| "clipboardRead", | |
| "nativeMessaging", | |
| "webNavigation" | |
| ], | |
| "options_ui": { | |
| "open_in_tab": true, | |
| "page": "settings.html" | |
| }, | |
| "permissions": [ | |
| "<all_urls>", | |
| "storage", | |
| "clipboardWrite", | |
| "unlimitedStorage", | |
| "webRequest", | |
| "webRequestBlocking" | |
| ], | |
| "sandbox": { | |
| "content_security_policy": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'unsafe-inline'", | |
| "pages": [ | |
| "template-renderer.html" | |
| ] | |
| }, | |
| "update_url": "https://clients2.google.com/service/update2/crx", | |
| "version": "22.9.9.2", | |
| "web_accessible_resources": [ | |
| "popup.html", | |
| "template-renderer.html" | |
| ] | |
| }, | |
| "environment": { | |
| "browser": "chrome", | |
| "platform": { | |
| "os": "android" | |
| } | |
| }, | |
| "userAgent": "Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Mobile Safari/537.36", | |
| "permissions": { | |
| "origins": [ | |
| "<all_urls>", | |
| "chrome://favicon/*", | |
| "file:///*", | |
| "http://*/*", | |
| "http://docs.google.com/*", | |
| "https://*/*", | |
| "https://docs.google.com/*" | |
| ], | |
| "permissions": [ | |
| "clipboardWrite", | |
| "storage", | |
| "unlimitedStorage", | |
| "webRequest", | |
| "webRequestBlocking" | |
| ] | |
| }, | |
| "options": { | |
| "version": 20, | |
| "profiles": [ | |
| { | |
| "name": "Default", | |
| "conditionGroups": [], | |
| "options": { | |
| "general": { | |
| "enable": true, | |
| "resultOutputMode": "group", | |
| "debugInfo": false, | |
| "maxResults": 32, | |
| "showAdvanced": true, | |
| "popupDisplayMode": "default", | |
| "popupWidth": 400, | |
| "popupHeight": 250, | |
| "popupHorizontalOffset": 0, | |
| "popupVerticalOffset": 10, | |
| "popupHorizontalOffset2": 10, | |
| "popupVerticalOffset2": 0, | |
| "popupHorizontalTextPosition": "below", | |
| "popupVerticalTextPosition": "before", | |
| "popupScalingFactor": 1, | |
| "popupScaleRelativeToPageZoom": true, | |
| "popupScaleRelativeToVisualViewport": false, | |
| "showGuide": true, | |
| "compactTags": false, | |
| "glossaryLayoutMode": "default", | |
| "mainDictionary": "KireiCake", | |
| "popupTheme": "dark", | |
| "popupOuterTheme": "site", | |
| "customPopupCss": "", | |
| "customPopupOuterCss": "", | |
| "enableWanakana": true, | |
| "showPitchAccentDownstepNotation": true, | |
| "showPitchAccentPositionNotation": true, | |
| "showPitchAccentGraph": true, | |
| "showIframePopupsInRootFrame": false, | |
| "useSecurePopupFrameUrl": true, | |
| "usePopupShadowDom": true, | |
| "usePopupWindow": false, | |
| "popupCurrentIndicatorMode": "triangle", | |
| "popupActionBarVisibility": "auto", | |
| "popupActionBarLocation": "top", | |
| "frequencyDisplayMode": "split-tags-grouped", | |
| "termDisplayMode": "ruby", | |
| "sortFrequencyDictionary": null, | |
| "sortFrequencyDictionaryOrder": "descending" | |
| }, | |
| "popupWindow": { | |
| "width": 400, | |
| "height": 250, | |
| "left": 0, | |
| "top": 0, | |
| "useLeft": false, | |
| "useTop": false, | |
| "windowType": "popup", | |
| "windowState": "normal" | |
| }, | |
| "audio": { | |
| "enabled": true, | |
| "sources": [ | |
| { | |
| "type": "custom-json", | |
| "url": "http://localhost:8770/?expression={expression}&reading={reading}", | |
| "voice": "" | |
| }, | |
| { | |
| "type": "jpod101", | |
| "url": "", | |
| "voice": "" | |
| } | |
| ], | |
| "volume": 100, | |
| "autoPlay": false | |
| }, | |
| "scanning": { | |
| "inputs": [ | |
| { | |
| "include": "shift", | |
| "exclude": "mouse0", | |
| "types": { | |
| "mouse": true, | |
| "touch": false, | |
| "pen": false | |
| }, | |
| "options": { | |
| "showAdvanced": false, | |
| "searchTerms": true, | |
| "searchKanji": true, | |
| "scanOnTouchMove": true, | |
| "scanOnPenHover": true, | |
| "scanOnPenPress": true, | |
| "scanOnPenRelease": false, | |
| "preventTouchScrolling": false, | |
| "scanOnPenMove": true, | |
| "scanOnPenReleaseHover": false, | |
| "scanOnTouchPress": true, | |
| "scanOnTouchRelease": false, | |
| "preventPenScrolling": false | |
| } | |
| }, | |
| { | |
| "include": "", | |
| "exclude": "", | |
| "types": { | |
| "mouse": false, | |
| "touch": true, | |
| "pen": true | |
| }, | |
| "options": { | |
| "showAdvanced": false, | |
| "searchTerms": true, | |
| "searchKanji": true, | |
| "scanOnTouchMove": true, | |
| "scanOnPenHover": true, | |
| "scanOnPenPress": true, | |
| "scanOnPenRelease": false, | |
| "preventTouchScrolling": true, | |
| "scanOnPenMove": true, | |
| "scanOnPenReleaseHover": false, | |
| "scanOnTouchPress": true, | |
| "scanOnTouchRelease": false, | |
| "preventPenScrolling": true | |
| } | |
| } | |
| ], | |
| "preventMiddleMouse": { | |
| "onWebPages": false, | |
| "onPopupPages": false, | |
| "onSearchPages": false, | |
| "onSearchQuery": false | |
| }, | |
| "touchInputEnabled": true, | |
| "pointerEventsEnabled": false, | |
| "selectText": true, | |
| "alphanumeric": false, | |
| "autoHideResults": false, | |
| "delay": 20, | |
| "hideDelay": 0, | |
| "length": 10, | |
| "deepDomScan": false, | |
| "popupNestingMaxDepth": 0, | |
| "enablePopupSearch": false, | |
| "enableOnPopupExpressions": false, | |
| "enableOnSearchPage": true, | |
| "enableSearchTags": false, | |
| "layoutAwareScan": false, | |
| "matchTypePrefix": false, | |
| "hidePopupOnCursorExit": false, | |
| "hidePopupOnCursorExitDelay": 0, | |
| "normalizeCssZoom": true | |
| }, | |
| "translation": { | |
| "convertHalfWidthCharacters": "false", | |
| "convertNumericCharacters": "false", | |
| "convertAlphabeticCharacters": "false", | |
| "convertHiraganaToKatakana": "false", | |
| "convertKatakanaToHiragana": "variant", | |
| "collapseEmphaticSequences": "false", | |
| "textReplacements": { | |
| "searchOriginal": true, | |
| "groups": [ | |
| [ | |
| { | |
| "pattern": "(.)々", | |
| "ignoreCase": false, | |
| "replacement": "$1$1" | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "dictionaries": [ | |
| { | |
| "name": "JMdict (English)", | |
| "priority": 5, | |
| "enabled": true, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| }, | |
| { | |
| "name": "Kanjium Pitch Accents", | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| }, | |
| { | |
| "name": "KANJIDIC (English)", | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| }, | |
| { | |
| "name": "JMnedict", | |
| "priority": 0, | |
| "enabled": false, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| }, | |
| { | |
| "name": "JPDB", | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| }, | |
| { | |
| "name": "Innocent Corpus", | |
| "priority": 0, | |
| "enabled": false, | |
| "allowSecondarySearches": false, | |
| "definitionsCollapsible": "not-collapsible" | |
| } | |
| ], | |
| "parsing": { | |
| "enableScanningParser": true, | |
| "enableMecabParser": false, | |
| "selectedParser": "scan", | |
| "termSpacing": true, | |
| "readingMode": "hiragana" | |
| }, | |
| "anki": { | |
| "enable": true, | |
| "server": "http://localhost:8765", | |
| "tags": [ | |
| "yomichan" | |
| ], | |
| "screenshot": { | |
| "format": "jpeg", | |
| "quality": 92 | |
| }, | |
| "terms": { | |
| "deck": "Japanese::Sentences", | |
| "model": "JapaneseYomichan", | |
| "fields": { | |
| "Expression": "{expression}", | |
| "ExpressionReading": "{furigana-plain}", | |
| "ExpressionPitchAccent": "{pitch-accents}", | |
| "ExpressionAudio": "{audio}", | |
| "Sentence": "{sentence}", | |
| "SentenceReading": "{sentence-furigana}", | |
| "Definition": "{glossary}", | |
| "SentenceAudio": "", | |
| "Frequency": "{freq}", | |
| "ClozedSentence": "{cloze-prefix}<span class=\"cloze-body\">{cloze-body}</span>{cloze-suffix}" | |
| } | |
| }, | |
| "kanji": { | |
| "deck": "Japanese::EncounteredKanji", | |
| "model": "YomichanKanji", | |
| "fields": { | |
| "Character": "{character}", | |
| "Kunyomi": "{kunyomi}", | |
| "Onyomi": "{onyomi}", | |
| "Glossary": "{glossary}", | |
| "Sentence": "{sentence}" | |
| } | |
| }, | |
| "duplicateScope": "deck", | |
| "checkForDuplicates": false, | |
| "fieldTemplates": "{{#*inline \"glossary-single\"}}\n {{~#unless brief~}}\n {{~#scope~}}\n {{~#set \"any\" false}}{{/set~}}\n {{~#each definitionTags~}}\n {{~#if (op \"||\" (op \"!\" @root.compactTags) (op \"!\" redundant))~}}\n {{~#if (get \"any\")}}, {{else}}<i>({{/if~}}\n {{name}}\n {{~#set \"any\" true}}{{/set~}}\n {{~/if~}}\n {{~/each~}}\n {{~#unless noDictionaryTag~}}\n {{~#if (op \"||\" (op \"!\" @root.compactTags) (op \"!==\" dictionary (get \"previousDictionary\")))~}}\n {{~#if (get \"any\")}}, {{else}}<i>({{/if~}}\n {{dictionary}}\n {{~#set \"any\" true}}{{/set~}}\n {{~/if~}}\n {{~/unless~}}\n {{~#if (get \"any\")}})</i> {{/if~}}\n {{~/scope~}}\n {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}\n {{~/unless~}}\n {{~#if (op \"<=\" glossary.length 1)~}}\n {{#each glossary}}{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}{{/each}}\n {{~else if @root.compactGlossaries~}}\n {{#each glossary}}{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}{{#unless @last}} | {{/unless}}{{/each}}\n {{~else~}}\n <ul>{{#each glossary}}<li>{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}</li>{{/each}}</ul>\n {{~/if~}}\n {{~#set \"previousDictionary\" dictionary~}}{{~/set~}}\n{{/inline}}\n\n{{#*inline \"audio\"}}\n {{~#if (hasMedia \"audio\")~}}\n [sound:{{#getMedia \"audio\"}}{{/getMedia}}]\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"character\"}}\n {{~definition.character~}}\n{{/inline}}\n\n{{#*inline \"dictionary\"}}\n {{~definition.dictionary~}}\n{{/inline}}\n\n{{#*inline \"expression\"}}\n {{~#if merge~}}\n {{~#if modeTermKana~}}\n {{~#each definition.reading~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~else~}}\n {{~#each definition.expression~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~/each~}}\n {{~else~}}\n {{~#each definition.expression~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~/if~}}\n {{~else~}}\n {{~#if modeTermKana~}}\n {{~#if definition.reading~}}\n {{definition.reading}}\n {{~else~}}\n {{definition.expression}}\n {{~/if~}}\n {{~else~}}\n {{definition.expression}}\n {{~/if~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"furigana\"}}\n {{~#if merge~}}\n {{~#each definition.expressions~}}\n <span class=\"expression-{{termFrequency}}\">{{~#furigana}}{{{.}}}{{/furigana~}}</span>\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{#furigana}}{{{definition}}}{{/furigana}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"furigana-plain\"}}\n {{~#if merge~}}\n {{~#each definition.expressions~}}\n <span class=\"expression-{{termFrequency}}\">{{~#furiganaPlain}}{{{.}}}{{/furiganaPlain~}}</span>\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}}\n {{~/if~}}\n{{/inline}}\n\n{{~#*inline \"glossary\"~}}\n <div style=\"text-align: left;\">\n {{~#scope~}}\n {{~#if (op \"===\" definition.type \"term\")~}}\n {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}\n {{~else if (op \"||\" (op \"===\" definition.type \"termGrouped\") (op \"===\" definition.type \"termMerged\"))~}}\n {{~#if (op \">\" definition.definitions.length 1)~}}\n <ol>{{~#each definition.definitions~}}<li>{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag ~}}</li>{{~/each~}}</ol>\n {{~else~}}\n {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag ~}}{{~/each~}}\n {{~/if~}}\n {{~else if (op \"===\" definition.type \"kanji\")~}}\n {{~#if (op \">\" definition.glossary.length 1)~}}\n <ol>{{#each definition.glossary}}<li>{{.}}</li>{{/each}}</ol>\n {{~else~}}\n {{~#each definition.glossary~}}{{.}}{{~/each~}}\n {{~/if~}}\n {{~/if~}}\n {{~/scope~}}\n </div>\n{{~/inline~}}\n\n{{#*inline \"glossary-no-dictionary\"}}\n {{~> glossary noDictionaryTag=true ~}}\n{{/inline}}\n\n{{#*inline \"glossary-brief\"}}\n {{~> glossary brief=true ~}}\n{{/inline}}\n\n{{#*inline \"kunyomi\"}}\n {{~#each definition.kunyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}\n{{/inline}}\n\n{{#*inline \"onyomi\"}}\n {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}\n{{/inline}}\n\n{{#*inline \"reading\"}}\n {{~#unless modeTermKana~}}\n {{~#if merge~}}\n {{~#each definition.reading~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{~definition.reading~}}\n {{~/if~}}\n {{~/unless~}}\n{{/inline}}\n\n{{#*inline \"sentence\"}}\n {{~#if definition.cloze}}{{definition.cloze.sentence}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-prefix\"}}\n {{~#if definition.cloze}}{{definition.cloze.prefix}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-body\"}}\n {{~#if definition.cloze}}{{definition.cloze.body}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-suffix\"}}\n {{~#if definition.cloze}}{{definition.cloze.suffix}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"tags\"}}\n {{~#mergeTags definition group merge}}{{this}}{{/mergeTags~}}\n{{/inline}}\n\n{{#*inline \"url\"}}\n <a href=\"{{definition.url}}\">{{definition.url}}</a>\n{{/inline}}\n\n{{#*inline \"screenshot\"}}\n {{~#if (hasMedia \"screenshot\")~}}\n <img src=\"{{#getMedia \"screenshot\"}}{{/getMedia}}\" />\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"document-title\"}}\n {{~context.document.title~}}\n{{/inline}}\n\n{{! Pitch Accents }}\n{{#*inline \"pitch-accent-item\"}}\n {{~#pronunciation format=format reading=reading downstepPosition=position nasalPositions=nasalPositions devoicePositions=devoicePositions~}}{{~/pronunciation~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-item-disambiguation\"}}\n {{~#scope~}}\n {{~#set \"exclusive\" (spread exclusiveExpressions exclusiveReadings)}}{{/set~}}\n {{~#if (op \">\" (property (get \"exclusive\") \"length\") 0)~}}\n {{~#set \"separator\" \"\"~}}{{/set~}}\n <em>({{#each (get \"exclusive\")~}}\n {{~#get \"separator\"}}{{/get~}}{{{.}}}\n {{~/each}} only) </em>\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-list\"}}\n {{~#if (op \">\" pitchCount 0)~}}\n {{~#if (op \">\" pitchCount 1)~}}<ol>{{~/if~}}\n {{~#each pitches~}}\n {{~#each pitches~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}<li>{{~/if~}}\n {{~> pitch-accent-item-disambiguation~}}\n {{~> pitch-accent-item format=../../format~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}</li>{{~/if~}}\n {{~/each~}}\n {{~/each~}}\n {{~#if (op \">\" pitchCount 1)~}}</ol>{{~/if~}}\n {{~else~}}\n No pitch accent data\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"pitch-accents\"}}\n {{~> pitch-accent-list format='text'~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-graphs\"}}\n {{~> pitch-accent-list format='graph'~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-positions\"}}\n {{~> pitch-accent-list format='position'~}}\n{{/inline}}\n{{! End Pitch Accents }}\n\n{{#*inline \"clipboard-image\"}}\n {{~#if (hasMedia \"clipboardImage\")~}}\n <img src=\"{{#getMedia \"clipboardImage\"}}{{/getMedia}}\" />\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"clipboard-text\"}}\n {{~#if (hasMedia \"clipboardText\")}}{{#getMedia \"clipboardText\"}}{{/getMedia}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"conjugation\"}}\n {{~#if definition.reasons~}}\n {{~#each definition.reasons~}}\n {{~#if (op \">\" @index 0)}} « {{/if~}}\n {{.}}\n {{~/each~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"frequencies\"}}\n {{~#if (op \">\" definition.frequencies.length 0)~}}\n <ul style=\"text-align: left;\">\n {{~#each definition.frequencies~}}\n <li>\n {{~#if (op \"!==\" ../definition.type \"kanji\")~}}\n {{~#if (op \"||\" (op \">\" ../uniqueExpressions.length 1) (op \">\" ../uniqueReadings.length 1))~}}(\n {{~#furigana expression reading~}}{{~/furigana~}}\n ) {{/if~}}\n {{~/if~}}\n {{~dictionary}}: {{frequency~}}\n </li>\n {{~/each~}}\n </ul>\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"stroke-count\"}}\n {{~#scope~}}\n {{~#set \"found\" false}}{{/set~}}\n {{~#each definition.stats.misc~}}\n {{~#if (op \"===\" name \"strokes\")~}}\n {{~#set \"found\" true}}{{/set~}}\n Stroke count: {{value}}\n {{~/if~}}\n {{~/each~}}\n {{~#if (op \"!\" (get \"found\"))~}}\n Stroke count: Unknown\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"part-of-speech-pretty\"}}\n {{~#if (op \"===\" . \"v1\")~}}Ichidan verb\n {{~else if (op \"===\" . \"v5\")~}}Godan verb\n {{~else if (op \"===\" . \"vk\")~}}Kuru verb\n {{~else if (op \"===\" . \"vs\")~}}Suru verb\n {{~else if (op \"===\" . \"vz\")~}}Zuru verb\n {{~else if (op \"===\" . \"adj-i\")~}}I-adjective\n {{~else if (op \"===\" . \"n\")~}}Noun\n {{~else~}}{{.}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"part-of-speech\"}}\n {{~#scope~}}\n {{~#if (op \"!==\" definition.type \"kanji\")~}}\n {{~#set \"first\" true}}{{/set~}}\n {{~#each definition.expressions~}}\n {{~#each wordClasses~}}\n {{~#unless (get (concat \"used_\" .))~}}\n {{~> part-of-speech-pretty . ~}}\n {{~#unless (get \"first\")}}, {{/unless~}}\n {{~#set (concat \"used_\" .) true~}}{{~/set~}}\n {{~#set \"first\" false~}}{{~/set~}}\n {{~/unless~}}\n {{~/each~}}\n {{~/each~}}\n {{~#if (get \"first\")~}}Unknown{{~/if~}}\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"search-query\"}}\n {{~#multiLine}}{{context.fullQuery}}{{/multiLine~}}\n{{/inline}}\n\n{{#*inline \"selection-text\"}}\n {{~#if (hasMedia \"selectionText\")}}{{#getMedia \"selectionText\"}}{{/getMedia}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"sentence-furigana\"}}\n {{~#if definition.cloze~}}\n {{~#if (hasMedia \"textFurigana\" definition.cloze.sentence)~}}\n {{#getMedia \"textFurigana\" definition.cloze.sentence escape=false}}{{/getMedia}}\n {{~else~}}\n {{definition.cloze.sentence}}\n {{~/if~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"freq\"}}\n {{~#scope~}}\n {{~#set \"min-freq\" 0}}{{/set~}}\n {{#each definition.frequencies}}\n {{~#if (op \"||\" (op \"===\" (get \"min-freq\") 0) (op \">\" (op \"+\" (get \"min-freq\")) (op \"+\" (regexMatch \"\\d\" \"g\" this.frequency))))}}\n {{~#set \"min-freq\" (op \"+\" (regexMatch \"\\d\" \"g\" this.frequency))}}{{/set~}}\n {{~/if~}}\n {{/each}}\n {{get \"min-freq\"}}\n {{~/scope~}}\n{{/inline}}\n\n{{~> (lookup . \"marker\") ~}}", | |
| "suspendNewCards": false, | |
| "displayTags": "never", | |
| "duplicateScopeCheckAllModels": false, | |
| "noteGuiMode": "browse", | |
| "apiKey": "", | |
| "downloadTimeout": 0 | |
| }, | |
| "sentenceParsing": { | |
| "scanExtent": 200, | |
| "terminationCharacters": [ | |
| { | |
| "enabled": true, | |
| "character1": "「", | |
| "character2": "」", | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": false | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "『", | |
| "character2": "』", | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": false | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "\"", | |
| "character2": "\"", | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": false | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "'", | |
| "character2": "'", | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": false | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": ".", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "!", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "?", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": ".", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "。", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "!", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "?", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "…", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "︒", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "︕", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "︖", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| }, | |
| { | |
| "enabled": true, | |
| "character1": "︙", | |
| "character2": null, | |
| "includeCharacterAtStart": false, | |
| "includeCharacterAtEnd": true | |
| } | |
| ], | |
| "terminationCharacterMode": "custom" | |
| }, | |
| "inputs": { | |
| "hotkeys": [ | |
| { | |
| "action": "close", | |
| "argument": "", | |
| "key": "Escape", | |
| "modifiers": [], | |
| "scopes": [ | |
| "popup" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "focusSearchBox", | |
| "argument": "", | |
| "key": "Escape", | |
| "modifiers": [], | |
| "scopes": [ | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "previousEntry", | |
| "argument": "3", | |
| "key": "PageUp", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "nextEntry", | |
| "argument": "3", | |
| "key": "PageDown", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "lastEntry", | |
| "argument": "", | |
| "key": "End", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "firstEntry", | |
| "argument": "", | |
| "key": "Home", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "previousEntry", | |
| "argument": "1", | |
| "key": "ArrowUp", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "nextEntry", | |
| "argument": "1", | |
| "key": "ArrowDown", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "historyBackward", | |
| "argument": "", | |
| "key": "KeyB", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "historyForward", | |
| "argument": "", | |
| "key": "KeyF", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteKanji", | |
| "argument": "", | |
| "key": "KeyK", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteTermKanji", | |
| "argument": "", | |
| "key": "KeyE", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteTermKana", | |
| "argument": "", | |
| "key": "KeyR", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "playAudio", | |
| "argument": "", | |
| "key": "KeyP", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "viewNote", | |
| "argument": "", | |
| "key": "KeyV", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "copyHostSelection", | |
| "argument": "", | |
| "key": "KeyC", | |
| "modifiers": [ | |
| "ctrl" | |
| ], | |
| "scopes": [ | |
| "popup" | |
| ], | |
| "enabled": true | |
| } | |
| ] | |
| }, | |
| "clipboard": { | |
| "enableBackgroundMonitor": false, | |
| "enableSearchPageMonitor": false, | |
| "autoSearchContent": true, | |
| "maximumSearchLength": 1000 | |
| }, | |
| "accessibility": { | |
| "forceGoogleDocsHtmlRendering": false | |
| } | |
| } | |
| } | |
| ], | |
| "profileCurrent": 0, | |
| "global": { | |
| "database": { | |
| "prefixWildcardsSupported": false | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment