Last active
February 26, 2021 03:11
-
-
Save marethyu/ac777ff31db8b6c3abc765ca16f0aeb1 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": "2021-02-25 09:07:34", | |
| "url": "chrome-extension://ogmnaimimemjmbakcfefmnahgdfhfami/", | |
| "manifest": { | |
| "author": "Alex Yatskov", | |
| "background": { | |
| "page": "bg/background.html", | |
| "persistent": true | |
| }, | |
| "browser_action": { | |
| "default_icon": { | |
| "16": "mixed/img/icon16.png", | |
| "19": "mixed/img/icon19.png", | |
| "32": "mixed/img/icon32.png", | |
| "38": "mixed/img/icon38.png", | |
| "48": "mixed/img/icon48.png", | |
| "64": "mixed/img/icon64.png", | |
| "128": "mixed/img/icon128.png" | |
| }, | |
| "default_popup": "bg/context.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": [ | |
| "mixed/js/core.js", | |
| "mixed/js/yomichan.js", | |
| "mixed/js/comm.js", | |
| "mixed/js/api.js", | |
| "mixed/js/dynamic-loader.js", | |
| "mixed/js/frame-client.js", | |
| "mixed/js/text-scanner.js", | |
| "mixed/js/document-util.js", | |
| "mixed/js/hotkey-handler.js", | |
| "fg/js/dom-text-scanner.js", | |
| "fg/js/popup.js", | |
| "fg/js/text-source-range.js", | |
| "fg/js/text-source-element.js", | |
| "fg/js/popup-factory.js", | |
| "fg/js/frame-offset-forwarder.js", | |
| "fg/js/popup-proxy.js", | |
| "fg/js/popup-window.js", | |
| "fg/js/frontend.js", | |
| "fg/js/content-script-main.js" | |
| ], | |
| "match_about_blank": true, | |
| "matches": [ | |
| "http://*/*", | |
| "https://*/*", | |
| "file://*/*" | |
| ] | |
| } | |
| ], | |
| "content_security_policy": "default-src 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *", | |
| "description": "Japanese dictionary with Anki integration", | |
| "differential_fingerprint": "1.4901452084b9fd8371d054d51be29494f2997d3071ab91a8782ccdcd50206823", | |
| "icons": { | |
| "16": "mixed/img/icon16.png", | |
| "19": "mixed/img/icon19.png", | |
| "32": "mixed/img/icon32.png", | |
| "38": "mixed/img/icon38.png", | |
| "48": "mixed/img/icon48.png", | |
| "64": "mixed/img/icon64.png", | |
| "128": "mixed/img/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" | |
| ], | |
| "options_ui": { | |
| "open_in_tab": true, | |
| "page": "bg/settings2.html" | |
| }, | |
| "permissions": [ | |
| "<all_urls>", | |
| "storage", | |
| "clipboardWrite", | |
| "unlimitedStorage", | |
| "nativeMessaging", | |
| "webRequest", | |
| "webRequestBlocking" | |
| ], | |
| "sandbox": { | |
| "content_security_policy": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'", | |
| "pages": [ | |
| "bg/template-renderer.html" | |
| ] | |
| }, | |
| "update_url": "https://clients2.google.com/service/update2/crx", | |
| "version": "21.1.31.1", | |
| "web_accessible_resources": [ | |
| "fg/float.html", | |
| "bg/template-renderer.html" | |
| ] | |
| }, | |
| "environment": { | |
| "browser": "chrome", | |
| "platform": { | |
| "os": "win" | |
| } | |
| }, | |
| "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36", | |
| "permissions": { | |
| "origins": [ | |
| "<all_urls>", | |
| "chrome://favicon/*", | |
| "file:///*", | |
| "http://*/*", | |
| "https://*/*" | |
| ], | |
| "permissions": [ | |
| "clipboardRead", | |
| "clipboardWrite", | |
| "nativeMessaging", | |
| "storage", | |
| "unlimitedStorage", | |
| "webRequest", | |
| "webRequestBlocking" | |
| ] | |
| }, | |
| "options": { | |
| "version": 8, | |
| "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": false, | |
| "popupScaleRelativeToVisualViewport": true, | |
| "showGuide": true, | |
| "compactTags": false, | |
| "glossaryLayoutMode": "default", | |
| "mainDictionary": "研究社 新和英大辞典 第5版", | |
| "popupTheme": "default", | |
| "popupOuterTheme": "default", | |
| "customPopupCss": "", | |
| "customPopupOuterCss": "", | |
| "enableWanakana": true, | |
| "showPitchAccentDownstepNotation": true, | |
| "showPitchAccentPositionNotation": true, | |
| "showPitchAccentGraph": true, | |
| "showIframePopupsInRootFrame": false, | |
| "useSecurePopupFrameUrl": true, | |
| "usePopupShadowDom": true, | |
| "usePopupWindow": false, | |
| "popupCurrentIndicatorMode": "triangle", | |
| "popupActionBarVisibility": "auto", | |
| "popupActionBarLocation": "top" | |
| }, | |
| "audio": { | |
| "enabled": true, | |
| "sources": [ | |
| "jpod101", | |
| "jpod101-alternate", | |
| "jisho", | |
| "text-to-speech" | |
| ], | |
| "volume": 100, | |
| "autoPlay": false, | |
| "customSourceUrl": "", | |
| "textToSpeechVoice": "Google 日本語", | |
| "customSourceType": "audio" | |
| }, | |
| "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 | |
| } | |
| }, | |
| { | |
| "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 | |
| } | |
| } | |
| ], | |
| "preventMiddleMouse": { | |
| "onWebPages": false, | |
| "onPopupPages": false, | |
| "onSearchPages": false, | |
| "onSearchQuery": false | |
| }, | |
| "touchInputEnabled": true, | |
| "pointerEventsEnabled": false, | |
| "selectText": true, | |
| "alphanumeric": true, | |
| "autoHideResults": false, | |
| "delay": 20, | |
| "hideDelay": 0, | |
| "length": 10, | |
| "deepDomScan": false, | |
| "popupNestingMaxDepth": 5, | |
| "enablePopupSearch": true, | |
| "enableOnPopupExpressions": false, | |
| "enableOnSearchPage": true, | |
| "enableSearchTags": false, | |
| "layoutAwareScan": false | |
| }, | |
| "translation": { | |
| "convertHalfWidthCharacters": "true", | |
| "convertNumericCharacters": "true", | |
| "convertAlphabeticCharacters": "true", | |
| "convertHiraganaToKatakana": "false", | |
| "convertKatakanaToHiragana": "variant", | |
| "collapseEmphaticSequences": "false", | |
| "textReplacements": { | |
| "searchOriginal": true, | |
| "groups": [] | |
| } | |
| }, | |
| "dictionaries": { | |
| "研究社 新和英大辞典 第5版": { | |
| "priority": 4, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "KANJIDIC (English)": { | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "Netflix": { | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "Anime & Jdrama Freq:": { | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "JMnedict": { | |
| "priority": 3, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "KireiCake": { | |
| "priority": 3, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "ヨガ日本語アクセント辞典": { | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "JMdict (English)": { | |
| "priority": 3, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "大辞泉": { | |
| "priority": 1, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "三省堂 スーパー大辞林": { | |
| "priority": 1, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "新明解国語辞典 第五版": { | |
| "priority": 2, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| }, | |
| "Kanjium Pitch Accents": { | |
| "priority": 0, | |
| "enabled": true, | |
| "allowSecondarySearches": false | |
| } | |
| }, | |
| "parsing": { | |
| "enableScanningParser": true, | |
| "enableMecabParser": false, | |
| "selectedParser": "scan", | |
| "termSpacing": true, | |
| "readingMode": "hiragana" | |
| }, | |
| "anki": { | |
| "enable": true, | |
| "server": "http://127.0.0.1:8765", | |
| "tags": [ | |
| "yomichan" | |
| ], | |
| "screenshot": { | |
| "format": "png", | |
| "quality": 92 | |
| }, | |
| "terms": { | |
| "deck": "Mining", | |
| "model": "Mining-model1", | |
| "fields": { | |
| "Front": "{expression}", | |
| "Reading": "{reading}", | |
| "Glossary": "{pitch-accent-positions} {test}", | |
| "Audio": "{audio}", | |
| "Graph": "{pitch-accent-graphs}" | |
| } | |
| }, | |
| "kanji": { | |
| "deck": "", | |
| "model": "", | |
| "fields": {} | |
| }, | |
| "duplicateScope": "collection", | |
| "checkForDuplicates": true, | |
| "fieldTemplates": "{{#*inline \"test\"}}\n {{~#scope~}}\n {{~#set \"first-dictionary\" null}}{{/set~}}\n {{~#if modeKanji~}}\n ...\n {{~else if (op \"||\" group merge)~}}\n {{~#each definition.definitions~}}\n {{~#if (op \"===\" null (get \"first-dictionary\"))~}}\n{{~#set \"first-dictionary\" dictionary~}}{{~/set~}}\n {{~/if~}}\n {{~#if (op \"===\" dictionary (get \"first-dictionary\"))~}}\n{{> glossary-single brief=../brief compactGlossaries=../compactGlossaries data=../.}}\n {{~/if~}}\n {{~/each~}}\n {{~else~}}\n {{~> glossary-single definition brief=brief compactGlossaries=compactGlossaries data=.~}}\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n \n{{#*inline \"glossary-single\"}}\n {{~#unless brief~}}\n {{~#if definitionTags~}}{{#each definitionTags}}{{#unless @last}}{{/unless}}{{/each}} {{/if~}}\n {{~#if only~}}({{#each only}}{{{.}}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}\n {{~/unless~}}\n {{~#if glossary.[1]~}}\n {{~#if compactGlossaries~}}\n {{#each glossary}}{{#multiLine}}{{#regexReplace \"^[^\\n]*\\n\" \"\"}}{{.}}{{/regexReplace}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}}\n {{~else~}}\n <ul>{{#each glossary}}<li>{{#multiLine}}{{.}}{{/multiLine}}</li>{{/each}}</ul>\n {{~/if~}}\n {{~else~}}\n {{~#multiLine}}{{#regexReplace \"^[^\\n]*\\n\" \"\"}}{{glossary.[0]}}{{/regexReplace}}{{/multiLine~}}\n {{~/if~}}\n{{/inline}}\n \n{{#*inline \"audio\"}}\n {{~#if definition.audioFileName~}}\n [sound:{{definition.audioFileName}}]\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 <img src=\"{{definition.screenshotFileName}}\" />\n{{/inline}}\n \n{{#*inline \"document-title\"}}\n {{~context.document.title~}}\n{{/inline}}\n \n{{! Pitch Accents }}\n{{#*inline \"pitch-accent-item-downstep-notation\"}}\n {{~#scope~}}\n <span>\n {{~#set \"style1a\"~}}display:inline-block;position:relative;{{~/set~}}\n {{~#set \"style1b\"~}}padding-right:0.1em;margin-right:0.1em;{{~/set~}}\n {{~#set \"style2a\"~}}display:block;user-select:none;pointer-events:none;position:absolute;top:0.1em;left:0;right:0;height:0;border-top:0.1em solid;{{~/set~}}\n {{~#set \"style2b\"~}}right:-0.1em;height:0.4em;border-right:0.1em solid;{{~/set~}}\n {{~#each (getKanaMorae reading)~}}\n {{~#set \"style1\"}}{{#get \"style1a\"}}{{/get}}{{/set~}}\n {{~#set \"style2\"}}{{/set~}}\n {{~#if (isMoraPitchHigh @index ../position)}}\n {{~#set \"style2\"}}{{#get \"style2a\"}}{{/get}}{{/set~}}\n {{~#if (op \"!\" (isMoraPitchHigh (op \"+\" @index 1) ../position))~}}\n {{~#set \"style1\" (op \"+\" (get \"style1\") (get \"style1b\"))}}{{/set~}}\n {{~#set \"style2\" (op \"+\" (get \"style2\") (get \"style2b\"))}}{{/set~}}\n {{~/if~}}\n {{~/if~}}\n <span style=\"{{#get \"style1\"}}{{/get}}\">{{{.}}}<span style=\"{{#get \"style2\"}}{{/get}}\"></span></span>\n {{~/each~}}\n </span>\n {{~/scope~}}\n{{/inline}}\n \n{{#*inline \"pitch-accent-item-graph-position-x\"}}{{#op \"+\" 25 (op \"*\" index 50)}}{{/op}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph-position-y\"}}{{#op \"+\" 25 (op \"?:\" (isMoraPitchHigh index position) 0 50)}}{{/op}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph-position\"}}{{> pitch-accent-item-graph-position-x index=index position=position}} {{> pitch-accent-item-graph-position-y index=index position=position}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph\"}}\n {{~#scope~}}\n {{~#set \"morae\" (getKanaMorae reading)}}{{/set~}}\n {{~#set \"morae-count\" (property (get \"morae\") \"length\")}}{{/set~}}\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 {{#op \"+\" 50 (op \"*\" 50 (get \"morae-count\"))}}{{/op}} 100\" style=\"display:inline-block;height:2em;\">\n <defs>\n <g id=\"term-pitch-accent-graph-dot\"><circle cx=\"0\" cy=\"0\" r=\"15\" style=\"fill:#ffffff;stroke:#ffffff;stroke-width:5;\" /></g>\n <g id=\"term-pitch-accent-graph-dot-downstep\"><circle cx=\"0\" cy=\"0\" r=\"15\" style=\"fill:none;stroke:#ffffff;stroke-width:5;\" /><circle cx=\"0\" cy=\"0\" r=\"5\" style=\"fill:none;stroke:#ffffff;stroke-width:5;\" /></g>\n <g id=\"term-pitch-accent-graph-triangle\"><path d=\"M0 13 L15 -13 L-15 -13 Z\" style=\"fill:none;stroke:#ffffff;stroke-width:5;\" /></g>\n </defs>\n <path style=\"fill:none;stroke:#ffffff;stroke-width:5;\" d=\"\n {{~#set \"cmd\" \"M\"}}{{/set~}}\n {{~#each (get \"morae\")~}}\n {{~#get \"cmd\"}}{{/get~}}\n {{~> pitch-accent-item-graph-position index=@index position=../position~}}\n {{~#set \"cmd\" \"L\"}}{{/set~}}\n {{~/each~}}\n \"></path>\n <path style=\"fill:none;stroke:#ffffff;stroke-width:5;stroke-dasharray:5 5;\" d=\"M{{> pitch-accent-item-graph-position index=(op \"-\" (get \"morae-count\") 1) position=position}} L{{> pitch-accent-item-graph-position index=(get \"morae-count\") position=position}}\"></path>\n {{#each (get \"morae\")}}\n <use href=\"{{#if (op \"&&\" (isMoraPitchHigh @index ../position) (op \"!\" (isMoraPitchHigh (op \"+\" @index 1) ../position)))}}#term-pitch-accent-graph-dot-downstep{{else}}#term-pitch-accent-graph-dot{{/if}}\" x=\"{{> pitch-accent-item-graph-position-x index=@index position=../position}}\" y=\"{{> pitch-accent-item-graph-position-y index=@index position=../position}}\"></use>\n {{/each}}\n <use href=\"#term-pitch-accent-graph-triangle\" x=\"{{> pitch-accent-item-graph-position-x index=(get \"morae-count\") position=position}}\" y=\"{{> pitch-accent-item-graph-position-y index=(get \"morae-count\") position=position}}\"></use>\n</svg>\n {{~/scope~}}\n{{/inline}}\n \n{{#*inline \"pitch-accent-item-position\"~}}\n <span>[{{position}}]</span>\n{{~/inline}}\n \n{{#*inline \"pitch-accent-item\"}}\n {{~#if (op \"==\" format \"downstep-notation\")~}}\n {{~> pitch-accent-item-downstep-notation~}}\n {{~else if (op \"==\" format \"graph\")~}}\n {{~> pitch-accent-item-graph~}}\n {{~else if (op \"==\" format \"position\")~}}\n {{~> pitch-accent-item-position~}}\n {{~/if~}}\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)~}}{{~/if~}}\n {{~#each pitches~}}\n {{~#each pitches~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}{{~/if~}}\n {{~> pitch-accent-item-disambiguation~}}\n {{~> pitch-accent-item format=../../format~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}{{~/if~}}\n {{~/each~}}\n {{~/each~}}\n {{~#if (op \">\" pitchCount 1)~}}{{~/if~}}\n {{~else~}}\n {{~/if~}}\n{{/inline}}\n \n{{#*inline \"pitch-accents\"}}\n {{~> pitch-accent-list format='downstep-notation'~}}\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 definition.clipboardImageFileName~}}\n <img src=\"{{definition.clipboardImageFileName}}\" />\n {{~/if~}}\n{{/inline}}\n \n{{#*inline \"clipboard-text\"}}\n {{~#if definition.clipboardText~}}{{definition.clipboardText}}{{~/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{{~> (lookup . \"marker\") ~}}", | |
| "suspendNewCards": false | |
| }, | |
| "sentenceParsing": { | |
| "scanExtent": 200, | |
| "enableTerminationCharacters": true, | |
| "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 | |
| } | |
| ] | |
| }, | |
| "inputs": { | |
| "hotkeys": [ | |
| { | |
| "action": "close", | |
| "key": "Escape", | |
| "modifiers": [], | |
| "scopes": [ | |
| "popup" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "focusSearchBox", | |
| "key": "Escape", | |
| "modifiers": [], | |
| "scopes": [ | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "previousEntry3", | |
| "key": "PageUp", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "nextEntry3", | |
| "key": "PageDown", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "lastEntry", | |
| "key": "End", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "firstEntry", | |
| "key": "Home", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "previousEntry", | |
| "key": "ArrowUp", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "nextEntry", | |
| "key": "ArrowDown", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "historyBackward", | |
| "key": "KeyB", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "historyForward", | |
| "key": "KeyF", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteKanji", | |
| "key": "KeyK", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteTermKanji", | |
| "key": "KeyE", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "addNoteTermKana", | |
| "key": "KeyR", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "playAudio", | |
| "key": "KeyP", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "viewNote", | |
| "key": "KeyV", | |
| "modifiers": [ | |
| "alt" | |
| ], | |
| "scopes": [ | |
| "popup", | |
| "search" | |
| ], | |
| "enabled": true | |
| }, | |
| { | |
| "action": "copyHostSelection", | |
| "key": "KeyC", | |
| "modifiers": [ | |
| "ctrl" | |
| ], | |
| "scopes": [ | |
| "popup" | |
| ], | |
| "enabled": true | |
| } | |
| ] | |
| }, | |
| "popupWindow": { | |
| "width": 400, | |
| "height": 250, | |
| "left": 0, | |
| "top": 0, | |
| "useLeft": false, | |
| "useTop": false, | |
| "windowType": "popup", | |
| "windowState": "normal" | |
| }, | |
| "clipboard": { | |
| "enableBackgroundMonitor": false, | |
| "enableSearchPageMonitor": false, | |
| "autoSearchContent": true, | |
| "maximumSearchLength": 1000 | |
| } | |
| } | |
| } | |
| ], | |
| "profileCurrent": 0, | |
| "global": { | |
| "database": { | |
| "prefixWildcardsSupported": false | |
| }, | |
| "useSettingsV2": true | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment