diff options
Diffstat (limited to 'ext/settings-old.html')
| -rw-r--r-- | ext/settings-old.html | 1335 | 
1 files changed, 0 insertions, 1335 deletions
| diff --git a/ext/settings-old.html b/ext/settings-old.html deleted file mode 100644 index 562ca95d..00000000 --- a/ext/settings-old.html +++ /dev/null @@ -1,1335 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -    <head> -        <meta charset="UTF-8"> -        <meta name="viewport" content="width=device-width,initial-scale=1"> -        <title>Yomichan Options (Old)</title> -        <link rel="icon" type="image/png" href="/images/icon16.png" sizes="16x16"> -        <link rel="icon" type="image/png" href="/images/icon19.png" sizes="19x19"> -        <link rel="icon" type="image/png" href="/images/icon32.png" sizes="32x32"> -        <link rel="icon" type="image/png" href="/images/icon38.png" sizes="38x38"> -        <link rel="icon" type="image/png" href="/images/icon48.png" sizes="48x48"> -        <link rel="icon" type="image/png" href="/images/icon64.png" sizes="64x64"> -        <link rel="icon" type="image/png" href="/images/icon128.png" sizes="128x128"> -        <link rel="stylesheet" type="text/css" href="/lib/bootstrap/css/bootstrap.min.css"> -        <link rel="stylesheet" type="text/css" href="/lib/bootstrap/css/bootstrap-theme.min.css"> -        <link rel="stylesheet" type="text/css" href="/css/settings-old.css"> -    </head> -    <body> -        <div class="container"> -            <div class="page-header"> -                <h1>Yomichan Options</h1> -            </div> - -            <div class="alert alert-danger"> -                This is the old version of the settings page, it will be removed in the next version. -                Please use <a href="/settings.html">the new settings page</a> -                and feel free to share any feedback -                <a href="https://github.com/FooSoft/yomichan/issues/1000" target="_blank" rel="noopener noreferrer">on Github</a>. -            </div> - -            <div class="profile-form ignore-form-changes"> -                <h3>Profiles</h3> - -                <p class="help-block"> -                    Profiles allow you to create multiple configurations and quickly switch between them or use them in different contexts. -                </p> - -                <div class="form-group"> -                    <label for="profile-active-select">Active profile</label> -                    <select class="form-control" id="profile-active-select"></select> -                </div> - -                <div class="form-group"> -                    <label for="profile-target-select">Modifying profile</label> -                    <div class="input-group"> -                        <div class="input-group-btn"> -                            <button class="btn btn-default" id="profile-add-button" title="Add"><span class="glyphicon glyphicon-plus"></span></button> -                            <button class="btn btn-default" id="profile-move-up-button" title="Move up"><span class="glyphicon glyphicon-arrow-up"></span></button> -                            <button class="btn btn-default" id="profile-move-down-button" title="Move down"><span class="glyphicon glyphicon-arrow-down"></span></button> -                            <button class="btn btn-default" id="profile-copy-button" title="Copy"><span class="glyphicon glyphicon-copy"></span></button> -                        </div> -                        <select class="form-control profile-form-manual" id="profile-target-select"></select> -                        <div class="input-group-btn"> -                            <button class="btn btn-danger" id="profile-remove-button" title="Remove"><span class="glyphicon glyphicon-remove"></span></button> -                        </div> -                    </div> -                </div> - -                <div class="form-group"> -                    <label for="profile-name-input">Profile name</label> -                    <input type="text" id="profile-name-input" class="form-control"> -                </div> - -                <div class="form-group"> -                    <label>Usage conditions</label> - -                    <p class="help-block"> -                        Usage conditions can be assigned such that certain profiles are automatically used in different contexts. -                        For example, when <a href="#popup-content-scanning">Popup Content Scanning</a> is enabled, different profiles can be used -                        depending on the level of the popup. -                    </p> - -                    <p class="help-block"> -                        Conditions are organized into groups which represent how the conditions are checked. -                        If all of the conditions in any group are met, then the profile will automatically be used for that context. -                        If no conditions are specified, the profile will only be used if it is selected as the <strong>Active profile</strong>. -                    </p> - -                    <div class="profile-condition-groups" id="profile-condition-groups"></div> -                </div> -                <div class="form-group"> -                    <button class="btn btn-default" id="profile-add-condition-group">Add Condition Group</button> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="profile-copy"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Copy Profile</h4> -                            </div> -                            <div class="modal-body"> -                                <p>Select which profile to copy options from:</p> -                                <select class="form-control" id="profile-copy-source-select"></select> -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-primary" id="profile-copy-confirm-button">Copy Profile</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="profile-remove"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Confirm profile removal</h4> -                            </div> -                            <div class="modal-body"> -                                Are you sure you want to delete the profile <em id="profile-remove-name"></em>? -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-danger" id="profile-remove-confirm-button">Remove Profile</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <template id="profile-condition-group-template"><div class="profile-condition-group"> -                    <div class="profile-condition-list"></div> -                    <div class="profile-condition-group-options"> -                        <button class="btn btn-default profile-condition-add-button"><span class="glyphicon glyphicon-plus"></span></button> -                    </div> -                    <div class="profile-condition-group-separator-label">OR</div> -                </div></template> -                <template id="profile-condition-template"><div class="input-group condition"> -                    <div class="input-group-addon profile-condition-prefix"></div> -                    <div class="input-group-btn"><select class="form-control btn btn-default profile-condition-type"><optgroup label="Type"></optgroup></select></div> -                    <div class="input-group-btn"><select class="form-control btn btn-default profile-condition-operator"><optgroup label="Operator"></optgroup></select></div> -                    <div class="profile-condition-line-break"></div> -                    <div class="profile-condition-input-container"><input type="text" class="form-control profile-condition-input"></div> -                    <div class="input-group-btn"><button class="btn btn-default mouse-button mouse-button-container" title="Mouse button"><span class="mouse-button-icon"></span></button><button class="btn btn-danger profile-condition-remove" title="Remove"><span class="glyphicon glyphicon-remove"></span></button></div> -                </div></template> -            </div> - -            <div> -                <h3>General Options</h3> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="enable" data-setting="general.enable"> Enable content scanning</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="show-usage-guide" data-setting="general.showGuide"> Show usage guide on startup</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="compact-tags" data-setting="general.compactTags"> Compact tags</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="show-advanced-options" data-setting="general.showAdvanced" -                        data-transform='{ -                            "type": "setAttribute", -                            "selector": ":root", -                            "attribute": "data-options-general-show-advanced" -                        }' -                    > Show advanced options</label> -                </div> - -                <div class="checkbox options-advanced ignore-form-changes" data-hide-for-browser="firefox-mobile"> -                    <label><input type="checkbox" class="permissions-toggle" data-permissions-setting="clipboard.enableBackgroundMonitor" data-required-permissions="clipboardRead"> Enable native popups when copying Japanese text</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="popup-scale-relative-to-page-zoom" data-setting="general.popupScaleRelativeToPageZoom"> Change popup size relative to page zoom level</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="popup-scale-relative-to-visual-viewport" data-setting="general.popupScaleRelativeToVisualViewport"> Change popup size relative to page viewport</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="show-pitch-accent-downstep-notation" data-setting="general.showPitchAccentDownstepNotation"> Show downstep notation for pitch accents</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="show-pitch-accent-position-notation" data-setting="general.showPitchAccentPositionNotation"> Show position notation for pitch accents</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="show-pitch-accent-graph" data-setting="general.showPitchAccentGraph"> Show graph for pitch accents</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="show-iframe-popups-in-root-frame" data-setting="general.showIframePopupsInRootFrame"> Show iframe popups in root frame</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" data-setting="general.usePopupWindow"> Use a native popup window when scanning text on web pages</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" data-setting="general.useSecurePopupFrameUrl"> Use secure popup frame URL</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" data-setting="general.usePopupShadowDom"> Use shadow DOM container for popup</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="show-debug-info" data-setting="general.debugInfo" -                        data-transform='{ -                            "type": "setAttribute", -                            "selector": ":root", -                            "attribute": "data-options-general-debug-info" -                        }' -                    > Show debug information</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" data-setting="global.useSettingsV2" data-scope="global"> Use the <a href="/settings.html">v2 settings page</a> by default</label> -                </div> - -                <div class="form-group"> -                    <label for="result-output-mode">Result grouping</label> -                    <select class="form-control" id="result-output-mode" data-setting="general.resultOutputMode" -                        data-transform='{ -                            "type": "setAttribute", -                            "selector": ":root", -                            "attribute": "data-options-general-result-output-mode" -                        }' -                    > -                        <option value="group">Group results by term-reading pairs</option> -                        <option value="merge">Group results by main dictionary entry</option> -                        <option value="split">Split definitions to their own results</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="popup-scaling-factor">Popup size multiplier</label> -                    <input type="number" min="0" id="popup-scaling-factor" data-setting="general.popupScalingFactor" class="form-control"> -                </div> - -                <div class="form-group options-advanced"> -                    <label for="max-displayed-results">Maximum displayed results</label> -                    <input type="number" min="1" id="max-displayed-results" class="form-control" data-setting="general.maxResults"> -                </div> - -                <div class="form-group"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-horizontal-text-position">Popup position for horizontal text</label> -                            <select class="form-control" id="popup-horizontal-text-position" data-setting="general.popupHorizontalTextPosition"> -                                <option value="below">Below text</option> -                                <option value="above">Above text</option> -                            </select> -                        </div> -                        <div class="col-xs-6"> -                            <label for="popup-vertical-text-position">Popup position for vertical text</label> -                            <select class="form-control" id="popup-vertical-text-position" data-setting="general.popupVerticalTextPosition"> -                                <option value="default">Same as for horizontal text</option> -                                <option value="before">Before text reading direction</option> -                                <option value="after">After text reading direction</option> -                                <option value="left">Left of text</option> -                                <option value="right">Right of text</option> -                            </select> -                        </div> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-width">Popup width <span class="label-light">(in pixels)</span></label> -                            <input type="number" min="1" id="popup-width" class="form-control" data-setting="general.popupWidth"> -                        </div> -                        <div class="col-xs-6"> -                            <label for="popup-height">Popup height <span class="label-light">(in pixels)</span></label> -                            <input type="number" min="1" id="popup-height" class="form-control" data-setting="general.popupHeight"> -                        </div> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-horizontal-offset">Horizontal popup offset <span class="label-light">(in pixels)</span></label> -                            <input type="number" id="popup-horizontal-offset" class="form-control" data-setting="general.popupHorizontalOffset"> -                        </div> -                        <div class="col-xs-6"> -                            <label for="popup-vertical-offset">Vertical popup offset <span class="label-light">(in pixels)</span></label> -                            <input type="number" id="popup-vertical-offset" class="form-control" data-setting="general.popupVerticalOffset"> -                        </div> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-horizontal-offset2">Horizontal popup offset for vertical text <span class="label-light">(in pixels)</span></label> -                            <input type="number" id="popup-horizontal-offset2" class="form-control" data-setting="general.popupHorizontalOffset2"> -                        </div> -                        <div class="col-xs-6"> -                            <label for="popup-vertical-offset2">Vertical popup offset for vertical text <span class="label-light">(in pixels)</span></label> -                            <input type="number" id="popup-vertical-offset2" class="form-control" data-setting="general.popupVerticalOffset2"> -                        </div> -                    </div> -                </div> - -                <div class="form-group"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-display-mode">Popup display mode</label> -                            <select class="form-control" id="popup-display-mode" data-setting="general.popupDisplayMode"> -                                <option value="default">Default</option> -                                <option value="full-width">Full width</option> -                            </select> -                        </div> -                        <div class="col-xs-6"> -                            <label for="glossary-layout-mode">Glossary layout mode</label> -                            <select class="form-control" id="glossary-layout-mode" data-setting="general.glossaryLayoutMode"> -                                <option value="default">Default</option> -                                <option value="compact">Compact</option> -                            </select> -                        </div> -                    </div> -                </div> - -                <div class="form-group"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="popup-theme">Popup theme</label> -                            <select class="form-control" id="popup-theme" data-setting="general.popupTheme"> -                                <option value="default">Light</option> -                                <option value="dark">Dark</option> -                            </select> -                        </div> -                        <div class="col-xs-6"> -                            <label for="popup-outer-theme">Popup shadow theme</label> -                            <select class="form-control" id="popup-outer-theme" data-setting="general.popupOuterTheme"> -                                <option value="auto">Auto-detect</option> -                                <option value="default">Light</option> -                                <option value="dark">Dark</option> -                            </select> -                        </div> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="custom-popup-css">Custom popup CSS</label> -                            <div><textarea autocomplete="off" spellcheck="false" wrap="soft" id="custom-popup-css" class="form-control" data-setting="general.customPopupCss"></textarea></div> -                        </div> -                        <div class="col-xs-6"> -                            <label for="custom-popup-outer-css">Custom popup outer CSS</label> -                            <div><textarea autocomplete="off" spellcheck="false" wrap="soft" id="custom-popup-outer-css" class="form-control" data-setting="general.customPopupOuterCss" placeholder="iframe.yomichan-popup { /*styles*/ }"></textarea></div> -                        </div> -                    </div> -                </div> - -                <div class="form-group ignore-form-changes" style="display: none;" id="settings-popup-preview-settings"> -                    <label for="settings-popup-preview-text">Popup preview text</label> -                    <input type="text" id="settings-popup-preview-text" class="form-control" value="読め" placeholder="Preview text"> -                </div> - -                <div class="form-group ignore-form-changes"> -                    <div id="settings-popup-preview-button-container"> -                        <button class="btn btn-default" id="settings-popup-preview-button">Show popup preview</button> -                    </div> -                    <div id="settings-popup-preview-container"></div> -                </div> -            </div> - -            <div> -                <h3>Audio Options</h3> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="audio-playback-enabled" data-setting="audio.enabled"> Enable audio playback in search results</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="auto-play-audio" data-setting="audio.autoPlay"> Play audio automatically</label> -                </div> - -                <div class="form-group"> -                    <label for="audio-playback-volume">Audio playback volume <span class="label-light">(percent)</span></label> -                    <input type="number" min="0" max="100" id="audio-playback-volume" class="form-control" data-setting="audio.volume"> -                </div> - -                <div class="form-group" id="text-to-speech-voice-container"> -                    <label for="text-to-speech-voice">Text-to-speech voice</label> -                    <div class="input-group"> -                        <select class="form-control" id="text-to-speech-voice" data-setting="audio.textToSpeechVoice"></select> -                        <div class="input-group-btn"> -                            <button class="btn btn-default" id="text-to-speech-voice-test" title="Test voice"><span class="glyphicon glyphicon-volume-up"></span></button> -                        </div> -                    </div> -                    <input type="text" value="よみちゃん" id="text-to-speech-voice-test-text" hidden> -                </div> - -                <div class="form-group options-advanced"> -                    <label for="audio-custom-source">Custom audio source <span class="label-light">(URL)</span></label> -                    <input type="text" id="audio-custom-source" class="form-control" data-setting="audio.customSourceUrl" placeholder="Example: http://localhost/audio.mp3?expression={expression}&reading={reading}"> -                </div> - -                <div class="form-group ignore-form-changes"> -                    <label>Audio playback sources</label> -                    <div class="audio-source-list generic-input-list" id="audio-source-list"></div> -                    <div class="input-group audio-source-options"> -                        <button class="btn btn-default audio-source-add" title="Add audio playback source" id="audio-source-add"><span class="glyphicon glyphicon-plus"></span></button> -                    </div> - -                    <template id="audio-source-template"><div class="input-group audio-source"> -                        <div class="input-group-addon generic-input-prefix"></div> -                        <select class="form-control audio-source-select"> -                            <option value="jpod101">JapanesePod101</option> -                            <option value="jpod101-alternate">JapanesePod101 (Alternate)</option> -                            <option value="jisho">Jisho.org</option> -                            <option value="text-to-speech">Text-to-speech</option> -                            <option value="text-to-speech-reading">Text-to-speech (Kana reading)</option> -                            <option value="custom">Custom</option> -                        </select> -                        <div class="input-group-btn"><button class="btn btn-danger audio-source-remove" title="Remove"><span class="glyphicon glyphicon-remove"></span></button></div> -                    </div></template> -                </div> -            </div> - -            <div> -                <h3>Scanning Options</h3> - -                <div class="checkbox options-non-advanced"> -                    <label><input type="checkbox" id="middle-mouse-button-scan"> Middle mouse button scans</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="select-matched-text" data-setting="scanning.selectText"> Select matched text</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="search-alphanumeric" data-setting="scanning.alphanumeric"> Search alphanumeric text</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="auto-hide-results" data-setting="scanning.autoHideResults"> Automatically hide results</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="layout-aware-scan" data-setting="scanning.layoutAwareScan"> Layout-aware scan</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="touch-input-enabled" data-setting="scanning.touchInputEnabled"> Touch input enabled</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" data-setting="scanning.pointerEventsEnabled"> Pointer events input enabled</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <label><input type="checkbox" id="deep-dom-scan" data-setting="scanning.deepDomScan"> Deep content scan</label> -                </div> - -                <div class="checkbox options-advanced"> -                    <strong>Prevent middle mouse button actions on:</strong> -                    <div style="margin-left: 1em;"> -                    <label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onWebPages"> Webpages</label><br> -                    <label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onPopupPages"> Popups</label><br> -                    <label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onSearchPages"> Search page</label><br> -                    <label><input type="checkbox" data-setting="scanning.preventMiddleMouse.onSearchQuery"> Search query</label><br> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <div class="row"> -                        <div class="col-xs-6"> -                            <label for="scan-delay">Scan delay <span class="label-light">(in milliseconds)</span></label> -                            <input type="number" min="0" id="scan-delay" class="form-control" data-setting="scanning.delay"> -                        </div> -                        <div class="col-xs-6"> -                            <label for="scan-close-delay">Auto-hide delay <span class="label-light">(in milliseconds)</span></label> -                            <input type="number" min="0" id="scan-close-delay" class="form-control" data-setting="scanning.hideDelay"> -                        </div> -                    </div> -                </div> - -                <div class="form-group options-advanced"> -                    <label for="scan-length">Scan length <span class="label-light">(in characters)</span></label> -                    <input type="number" min="1" step="1" id="scan-length" class="form-control" data-setting="scanning.length"> -                </div> - -                <div class="form-group options-non-advanced"> -                    <label for="main-scan-modifier-key">Scan modifier key</label> -                    <select class="form-control" id="main-scan-modifier-key"></select> -                </div> - -                <div class="form-group options-advanced"> -                    <label>Scan inputs</label> -                    <div class="scan-input-list" id="scan-input-list"></div> -                    <button class="btn btn-default" id="scan-input-add" title="Add scan input"><span class="glyphicon glyphicon-plus"></span></button> - -                    <template id="scan-input-template"><div class="scan-input"> -                        <div class="scan-input-grid"> -                            <div class="scan-input-index-cell"><div class="scan-input-index"></div></div> - -                            <div class="scan-input-prefix-cell" data-property="include"><div class="scan-input-prefix">Include</div></div> -                            <div class="scan-input-content-cell" data-property="include"><div class="scan-input-input-cell-inner"> -                                <input type="text" class="form-control scan-input-field" placeholder="No inputs" data-property="include"> -                                <button class="btn btn-default mouse-button" title="Mouse button" data-property="include"><span class="mouse-button-icon"></span></button> -                            </div></div> -                            <div class="scan-input-suffix-cell"><button class="btn btn-danger scan-input-remove" title="Remove"><span class="glyphicon glyphicon-remove"></span></button></div> - -                            <div class="scan-input-prefix-cell" data-property="exclude"><div class="scan-input-prefix">Exclude</div></div> -                            <div class="scan-input-content-cell" data-property="exclude"><div class="scan-input-input-cell-inner"> -                                <input type="text" class="form-control scan-input-field" placeholder="No inputs" data-property="exclude"> -                                <button class="btn btn-default mouse-button" title="Mouse button" data-property="exclude"><span class="mouse-button-icon"></span></button> -                            </div></div> - -                            <div class="scan-input-prefix-cell" data-property="types"><div class="scan-input-prefix">Types</div></div> -                            <div class="scan-input-content-cell" data-property="types"><div class="scan-input-input-cell-inner"> -                                <div class="scan-input-type-list-container form-control"><div class="scan-input-type-list"> -                                    <label class="scan-input-toggle scan-input-type"><input type="checkbox" class="scan-input-settings-checkbox" data-property="types.mouse"><span>Mouse</span></label> -                                    <label class="scan-input-toggle scan-input-type"><input type="checkbox" class="scan-input-settings-checkbox" data-property="types.touch"><span>Touch</span></label> -                                    <label class="scan-input-toggle scan-input-type"><input type="checkbox" class="scan-input-settings-checkbox" data-property="types.pen"><span>Pen</span></label> -                                    <label class="scan-input-toggle scan-input-type"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.showAdvanced" -                                        data-transform='{ -                                            "type": "setAttribute", -                                            "ancestorDistance": 7, -                                            "attribute": "data-show-advanced" -                                        }' -                                    ><span>Advanced</span></label> -                                </div></div> -                            </div></div> - -                            <div class="scan-input-prefix-cell" data-property="options"><div class="scan-input-prefix">Options</div></div> -                            <div class="scan-input-content-cell" data-property="options"><div class="scan-input-input-cell-inner"> -                                <div class="scan-input-type-list-container form-control"><div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.searchTerms"><span>Search for terms</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.searchKanji"><span>Search for kanji</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.scanOnTouchMove"><span>Scan on touch move</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.scanOnPenHover"><span>Scan on pen hover</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.scanOnPenPress"><span>Scan on pen press</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.scanOnPenRelease"><span>Scan on pen release</span></label></div> -                                    <div><label class="scan-input-toggle"><input type="checkbox" class="scan-input-settings-checkbox" data-property="options.preventTouchScrolling"><span>Prevent touch/pen scrolling</span></label></div> -                                </div></div> -                            </div></div> -                        </div> -                    </div></template> -                </div> -            </div> - -            <div> -                <h3>Translation Options</h3> - -                <p class="help-block"> -                    The following options can be used during the translation process to provide alternate versions of the input text to search for. -                    This can be helpful when the input text doesn't exactly match the term or expression found in the database. -                </p> - -                <p class="help-block"> -                    The conversion options below are listed in the order that the conversions are applied to the input text. -                    Conversions commonly have three possible values: -                </p> - -                <ul class="help-block"> -                    <li> -                        <strong>Disabled</strong><br> -                        This conversion will never be applied to the input text. -                    </li> -                    <li> -                        <strong>Enabled</strong><br> -                        This conversion will always be applied to the input text. -                    </li> -                    <li> -                        <strong>Use both variants</strong><br> -                        The translator will check the database for two variations: the raw input text and the converted input text. -                        When multiple options use variants, the translator will search for combinations of the converted text. -                    </li> -                </ul> - -                <div class="form-group"> -                    <label for="translation-convert-half-width-characters">Convert half width characters to full width <span class="label-light">(ヨミチャン → ヨミチャン)</span></label> -                    <select class="form-control" id="translation-convert-half-width-characters" data-setting="translation.convertHalfWidthCharacters"> -                        <option value="false">Disabled</option> -                        <option value="true">Enabled</option> -                        <option value="variant">Use both variants</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="translation-convert-numeric-characters">Convert numeric characters to full width <span class="label-light">(1234 → 1234)</span></label> -                    <select class="form-control" id="translation-convert-numeric-characters" data-setting="translation.convertNumericCharacters"> -                        <option value="false">Disabled</option> -                        <option value="true">Enabled</option> -                        <option value="variant">Use both variants</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="translation-convert-alphabetic-characters">Convert alphabetic characters to hiragana <span class="label-light">(yomichan → よみちゃん)</span></label> -                    <select class="form-control" id="translation-convert-alphabetic-characters" data-setting="translation.convertAlphabeticCharacters"> -                        <option value="false">Disabled</option> -                        <option value="true">Enabled</option> -                        <option value="variant">Use both variants</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="translation-convert-hiragana-to-katakana">Convert hiragana to katakana <span class="label-light">(よみちゃん → ヨミチャン)</span></label> -                    <select class="form-control" id="translation-convert-hiragana-to-katakana" data-setting="translation.convertHiraganaToKatakana"> -                        <option value="false">Disabled</option> -                        <option value="true">Enabled</option> -                        <option value="variant">Use both variants</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="translation-convert-katakana-to-hiragana">Convert katakana to hiragana <span class="label-light">(ヨミチャン → よみちゃん)</span></label> -                    <select class="form-control" id="translation-convert-katakana-to-hiragana" data-setting="translation.convertKatakanaToHiragana"> -                        <option value="false">Disabled</option> -                        <option value="true">Enabled</option> -                        <option value="variant">Use both variants</option> -                    </select> -                </div> - -                <div class="form-group"> -                    <label for="translation-collapse-emphatic-sequences">Collapse emphatic character sequences <span class="label-light">(すっっごーーい → すっごーい / すごい)</span></label> -                    <select class="form-control" id="translation-collapse-emphatic-sequences" data-setting="translation.collapseEmphaticSequences"> -                        <option value="false">Disabled</option> -                        <option value="true">Collapse into single character</option> -                        <option value="full">Remove all characters</option> -                    </select> -                </div> -            </div> - -            <div id="popup-content-scanning"> -                <h3>Popup Content Scanning Options</h3> - -                <p class="help-block"> -                    Yomichan is able to create additional popups in order to scan the content of other popups. -                    This feature can be enabled if the <strong>Maximum number of additional popups</strong> option is set to a value greater than 0. -                </p> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="enable-search-within-first-popup" data-setting="scanning.enablePopupSearch"> Enable search when clicking glossary entries and tags</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="enable-scanning-on-search-page" data-setting="scanning.enableOnSearchPage"> Enable scanning on search page</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="enable-scanning-of-popup-expressions" data-setting="scanning.enableOnPopupExpressions"> Enable scanning of expressions in search results</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="enable-search-tags" data-setting="scanning.enableSearchTags"> Enable clickable and scannable tags for searching expressions and their readings</label> -                </div> - -                <div class="form-group"> -                    <label for="popup-nesting-max-depth">Maximum number of additional popups</label> -                    <input type="number" min="0" step="1" id="popup-nesting-max-depth" class="form-control" data-setting="scanning.popupNestingMaxDepth"> -                </div> -            </div> - -            <div id="text-parsing"> -                <h3>Text Parsing Options</h3> - -                <p class="help-block"> -                    Yomichan can attempt to parse entire sentences or longer text blocks on the search page, -                    adding furigana above words and a small space between words. -                </p> - -                <p class="help-block"> -                    Two types of parsers are supported. The first one, enabled by default, works using the built-in -                    scanning functionality by automatically advancing in the sentence after a matching word. -                </p> - -                <p class="help-block"> -                    The second type is an external program called <a href="https://en.wikipedia.org/wiki/MeCab" target="_blank" rel="noopener">MeCab</a> -                    that uses its own dictionaries and a special parsing algorithm. To get it working, you must first -                    install it and <a href="https://github.com/siikamiika/yomichan-mecab-installer" target="_blank" rel="noopener">a native messaging component</a> -                    that acts as a bridge between the program and Yomichan. -                </p> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="parsing-scan-enable" data-setting="parsing.enableScanningParser"> Enable text parsing using installed dictionaries</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="parsing-mecab-enable" class="permissions-toggle" data-permissions-setting="parsing.enableMecabParser" data-required-permissions="nativeMessaging"> Enable text parsing using MeCab</label> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="parsing-term-spacing" data-setting="parsing.termSpacing"> Enable small spaces between parsed words</label> -                </div> - -                <div class="form-group"> -                    <label for="parsing-reading-mode">Reading mode</label> -                    <select class="form-control" id="parsing-reading-mode" data-setting="parsing.readingMode"> -                        <option value="hiragana">ひらがな</option> -                        <option value="katakana">カタカナ</option> -                        <option value="romaji">Romaji</option> -                        <option value="none">Disabled</option> -                    </select> -                </div> -            </div> - -            <div class="ignore-form-changes"> -                <div> -                    <img src="/images/spinner.gif" class="pull-right" id="dictionary-spinner" alt="" hidden> -                    <h3>Dictionaries</h3> -                </div> - -                <p class="help-block"> -                    Yomichan can import and use a variety of dictionary formats. Unneeded dictionaries can be disabled. -                </p> - -                <div class="form-group" id="dictionary-main-group"> -                    <label for="dictionary-main">Main dictionary for merged mode</label> -                    <select class="form-control" id="dictionary-main" data-setting="general.mainDictionary"></select> -                </div> - -                <div class="text-danger" id="dictionary-delete-all-status" hidden>Dictionary data is being purged, please be patient...</div> -                <div class="alert alert-warning no-dictionaries-installed-warning" hidden>No dictionaries have been installed</div> -                <div class="alert alert-danger" id="dictionary-error" hidden></div> - -                <div id="dictionary-list"></div> -                <div id="dictionary-list-extra"></div> - -                <div id="dictionary-import-progress-container" hidden> -                    Dictionary data is being imported, please be patient... -                    <span id="dictionary-import-info" hidden></span> -                    <div class="progress"> -                        <div class="progress-bar progress-bar-striped" style="width: 0%"></div> -                    </div> -                </div> - -                <div> -                    <p class="help-block"> -                        Select a dictionary to import for use below. Please visit the Yomichan homepage to -                        <a href="https://foosoft.net/projects/yomichan" target="_blank" rel="noopener">download free dictionaries</a> -                        for use with this extension and to learn about importing proprietary EPWING dictionaries. -                    </p> -                    <div> -                        <button class="btn btn-primary dictionary-database-mutating-input" id="dictionary-import-file-button">Import Dictionary</button> -                        <button class="btn btn-danger dictionary-database-mutating-input" id="dictionary-delete-all-button">Purge Database</button> -                        <button class="btn btn-default dictionary-database-mutating-input" id="dictionary-check-integrity">Check integrity</button> -                    </div> -                    <div hidden><input type="file" id="dictionary-import-file-input" accept=".zip,application/zip" multiple></div> -                </div> - -                <div> -                    <h3>Dictionary Options</h3> -                </div> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="database-enable-prefix-wildcard-searches" data-setting="global.database.prefixWildcardsSupported" data-scope="global"> Enable prefix wildcard searches</label> -                    <p class="help-block"> -                        This option only applies to newly imported dictionaries. -                        Enabling this option will also cause dictionary data to take up slightly more storage space. -                    </p> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="dictionary-confirm-delete-all"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Confirm database purge</h4> -                            </div> -                            <div class="modal-body"> -                                Are you sure you want to delete all data in the database? -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-danger" id="dictionary-confirm-delete-all-button">Purge Database</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="dictionary-confirm-delete"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Confirm dictionary deletion</h4> -                            </div> -                            <div class="modal-body"> -                                Are you sure you want to delete the dictionary <em id="dictionary-confirm-delete-name"></em>? -                                This operation may take some time and the responsiveness of this browser tab may be reduced. -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-danger dictionary-database-mutating-input" id="dictionary-confirm-delete-button">Delete Dictionary</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <template id="dictionary-template"><div class="well well-sm"> -                    <h4><span class="text-muted glyphicon glyphicon-book"></span> <span class="dictionary-title"></span> <small class="dictionary-version"></small></h4> -                    <p class="text-warning dictionary-outdated-notification" hidden>This dictionary is outdated and may not support new extension features; please import the latest version.</p> - -                    <div class="checkbox"> -                        <label><input type="checkbox" class="dictionary-enabled"> Enable search</label> -                    </div> -                    <div class="checkbox options-advanced"> -                        <label><input type="checkbox" class="dictionary-allow-secondary-searches"> Allow secondary searches</label> -                    </div> -                    <div class="checkbox"> -                        <label><input type="checkbox" class="dictionary-prefix-wildcard-searches-supported" disabled> Prefix wildcard searches supported</label> -                    </div> -                    <div class="form-group options-advanced"> -                        <label>Result priority</label> -                        <input type="number" class="form-control dictionary-priority"> -                    </div> -                    <div class="dictionary-details-container"> -                        <a class="dictionary-details-toggle-link">Details...</a> -                        <div class="dictionary-details" hidden><div class="dictionary-details-table"></div></div> -                    </div> -                    <div class="dictionary-delete-table"> -                        <div> -                            <button class="btn btn-default dictionary-delete-button dictionary-database-mutating-input">Delete Dictionary</button> -                        </div> -                        <div class="progress-container" hidden> -                            <div class="progress"> -                                <div class="progress-bar progress-bar-striped" style="width: 0%"></div> -                            </div> -                        </div> -                    </div> -                    <pre class="debug dictionary-counts" hidden></pre> -                </div></template> - -                <template id="dictionary-details-entry-template"><div class="dictionary-details-entry"> -                    <span class="dictionary-details-entry-label"></span> -                    <span class="dictionary-details-entry-info"></span> -                </div></template> - -                <template id="dictionary-extra-template"><div class="well well-sm"> -                    <h4><span class="text-muted glyphicon glyphicon-alert"></span> <span class="dictionary-title">Unassociated Data</span> <small class="dictionary-total-count"></small></h4> -                    <p class="text-warning"> -                        The database contains extra data which is not associated with any installed dictionary. -                        Purging the database can fix this issue. -                    </p> -                    <pre class="debug dictionary-counts" hidden></pre> -                </div></template> -            </div> - -            <div id="storage-info"> -                <div> -                    <h3>Storage</h3> -                </div> - -                <div id="storage-persistent-info" hidden> -                    <p class="help-block"> -                        Web browsers may sometimes clear stored data if the device is running low on storage space. -                        This can result in the stored dictionary data being deleted unexpectedly, causing Yomichan to stop working for no apparent reason. -                        In order to prevent this, persistent storage must be enable by clicking the "Persistent Storage" button below. -                    </p> -                </div> - -                <div id="storage-use"> -                    <p class="help-block storage-use-invalid"> -                        Yomichan is using an indeterminate amount of storage. -                    </p> -                    <p class="help-block storage-use-finite" hidden> -                        Yomichan is using approximately <strong class="storage-usage"></strong> of <strong class="storage-quota"></strong>. -                    </p> -                    <p class="help-block storage-use-infinite" hidden> -                        Yomichan is permitted <strong>unlimited storage</strong>. -                    </p> -                </div> - -                <div id="storage-error" hidden> -                    <p class="help-block"> -                        Could not detect how much storage Yomichan is using. -                    </p> -                    <div data-show-for-browser="firefox firefox-mobile"><div class="alert alert-danger options-advanced"> -                        On Firefox and Firefox for Android, the storage information feature may be hidden behind a browser flag. - -                        If you would like to enable this flag, open <a href="about:config" target="_blank" rel="noopener">about:config</a> and search for the -                        <strong>dom.storageManager.enabled</strong> option. If this option has a value of <strong>false</strong>, toggling it to -                        <strong>true</strong> may allow storage information to be calculated. -                    </div></div> -                </div> - -                <div data-show-for-browser="firefox-mobile"><div class="alert alert-warning"> -                    If you are using Firefox for Android, you will have to make sure you have enough free space on your device to install dictionaries. -                </div></div> - -                <div> -                    <button class="btn btn-default" id="storage-refresh"><span class="btn-inner-middle">Refresh</span></button> -                    <button class="btn btn-default ignore-form-changes" id="storage-persistent-button" hidden><span class="storage-button-inner"><input type="checkbox" class="btn-inner-middle storage-button-checkbox" id="storage-persistent-checkbox" readonly><span class="btn-inner-middle">Persistent Storage</span></span></button> -                </div> - -                <p></p> - -                <div id="storage-persistent-fail-warning" hidden> -                    <div data-show-for-browser="firefox-mobile"><div class="alert alert-warning"> -                        <p>It may not be possible to enable Persistent Storage on Firefox for Android.</p> -                    </div></div> - -                    <div data-show-for-browser="chrome"><div class="alert alert-warning"> -                        <p> -                            It may not be possible to enable Persistent Storage on Chrome-based browsers. -                            However, the Yomichan extension has permission for unlimited storage which should -                            prevent Chrome from deleting data.<sup><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=680392#c15" target="_blank" rel="noopener">[1]</a></sup> -                        </p> -                    </div></div> -                </div> -            </div> - -            <div> -                <div> -                    <img src="/images/spinner.gif" class="pull-right" id="anki-spinner" alt="" hidden> -                    <h3>Anki Options</h3> -                </div> - -                <p class="help-block"> -                    Yomichan supports automatic flashcard creation for <a href="https://apps.ankiweb.net/" target="_blank" rel="noopener">Anki</a>, a free application -                    designed to help you remember. This feature requires installation of the -                    <a href="https://foosoft.net/projects/anki-connect/" target="_blank" rel="noopener">AnkiConnect</a> plugin. -                </p> - -                <div class="checkbox"> -                    <label><input type="checkbox" id="anki-enable" data-setting="anki.enable" -                        data-transform='{ -                            "type": "setAttribute", -                            "selector": ":root", -                            "attribute": "data-options-anki-enable" -                        }' -                    > Enable Anki integration</label> -                </div> - -                <div id="anki-general"> -                    <div data-show-for-operating-system="mac"> -                        <div class="alert alert-warning" id="anki-mac-warning"> -                            Notice for Mac OS X users: -                            If Yomichan has issues connecting to AnkiConnect, you may have to tweak some system settings. -                            See <a href="https://foosoft.net/projects/anki-connect/#notes-for-mac-os-x-users" target="_blank" rel="noopener">this link</a> for more details. -                        </div> -                    </div> - -                    <div class="alert alert-danger" id="anki-error" hidden> -                        <span id="anki-error-message"></span><a id="anki-error-message-details-toggle">…</a> -                        <div id="anki-error-message-details-container" hidden><div id="anki-error-message-details"></div></div> -                    </div> - -                    <div class="alert alert-danger" id="anki-error-invalid-response-info" hidden> -                        Attempting to connect to Anki can sometimes return an error message which includes "Invalid response", -                        which may indicate that the value of the <strong>Interface server</strong> option is incorrect. -                        The <strong>Show advanced options</strong> checkbox under General Options must be ticked ticked to show this option. -                        Resetting it to the default value may fix issues that are occurring. -                    </div> - -                    <div class="form-group"> -                        <label for="card-tags">Card tags <span class="label-light">(comma or space separated)</span></label> -                        <input type="text" id="card-tags" class="form-control" data-setting="anki.tags" -                            data-transform='[ -                                {"type": "splitTags", "step": "pre"}, -                                {"type": "joinTags", "step": "post"} -                            ]' -                        > -                    </div> - -                    <div class="form-group options-advanced"> -                        <label for="sentence-detection-extent">Sentence detection extent <span class="label-light">(in characters)</span></label> -                        <input type="number" min="0" step="1" id="sentence-detection-extent" class="form-control" data-setting="sentenceParsing.scanExtent"> -                    </div> - -                    <div class="form-group options-advanced"> -                        <label for="interface-server">Interface server <span class="label-light">(Default: http://127.0.0.1:8765)</span></label> -                        <input type="text" id="interface-server" class="form-control" data-setting="anki.server"> -                    </div> - -                    <div class="form-group options-advanced"> -                        <label>Duplicates</label><br> -                        <label style="font-weight: normal;"><input type="checkbox" data-setting="anki.checkForDuplicates"> Check for duplicate cards</label><br> -                    </div> - -                    <div class="form-group options-advanced"> -                        <label for="duplicate-scope">Duplicate scope</label> -                        <select class="form-control" id="duplicate-scope" data-setting="anki.duplicateScope"> -                            <option value="collection">Collection</option> -                            <option value="deck">Deck</option> -                            <option value="deck-root">Deck root</option> -                        </select> -                    </div> - -                    <div class="form-group options-advanced"> -                        <label for="screenshot-format">Screenshot format</label> -                        <select class="form-control" id="screenshot-format" data-setting="anki.screenshot.format"> -                            <option value="png">PNG</option> -                            <option value="jpeg">JPEG</option> -                        </select> -                    </div> - -                    <div class="form-group options-advanced"> -                        <label for="screenshot-quality">Screenshot quality <span class="label-light">(JPEG only)</span></label> -                        <input type="number" min="0" max="100" step="1" id="screenshot-quality" class="form-control" data-setting="anki.screenshot.quality"> -                    </div> - -                    <div id="anki-format"> -                        <p class="help-block"> -                            Specify the information you would like included in your flashcards in the field editor below. -                            As Anki requires the first field in the model to be unique, it is recommended -                            that you set it to <code>{expression}</code> for term flashcards and <code>{character}</code> for -                            Kanji flashcards. You can use multiple markers per field by typing them in directly. -                            See <a href="https://foosoft.net/projects/yomichan#flashcard-configuration" target="_blank" rel="noopener">Flashcard Configuration</a> -                            on the Yomichan homepage for descriptions of the available markers. -                        </p> - -                        <ul class="nav nav-tabs"> -                            <li class="active"><a href="#terms" data-toggle="tab">Terms</a></li> -                            <li><a href="#kanji" data-toggle="tab">Kanji</a></li> -                        </ul> - -                        <div class="tab-content ignore-form-changes" id="anki-fields-container"> -                            <div id="terms" class="tab-pane fade in active anki-card" data-anki-card-type="terms"> -                                <div class="row"> -                                    <div class="form-group col-xs-6"> -                                        <label for="anki-terms-deck">Deck</label> -                                        <select class="form-control anki-card-deck" id="anki-terms-deck" data-anki-card-type="terms"></select> -                                    </div> - -                                    <div class="form-group col-xs-6"> -                                        <label for="anki-terms-model">Model</label> -                                        <select class="form-control anki-card-model" id="anki-terms-model" data-anki-card-type="terms"></select> -                                    </div> -                                </div> - -                                <table class="table table-bordered anki-fields"> -                                    <thead><tr><th>Field</th><th>Value</th></tr></thead> -                                    <tbody class="anki-card-fields"></tbody> -                                </table> -                            </div> - -                            <div id="kanji" class="tab-pane fade anki-card" data-anki-card-type="kanji"> -                                <div class="row"> -                                    <div class="form-group col-xs-6"> -                                        <label for="anki-kanji-deck">Deck</label> -                                        <select class="form-control anki-card-deck" id="anki-kanji-deck" data-anki-card-type="kanji"></select> -                                    </div> - -                                    <div class="form-group col-xs-6"> -                                        <label for="anki-kanji-model">Model</label> -                                        <select class="form-control anki-card-model" id="anki-kanji-model" data-anki-card-type="kanji"></select> -                                    </div> -                                </div> - -                                <table class="table table-bordered anki-fields"> -                                    <thead><tr><th>Field</th><th>Value</th></tr></thead> -                                    <tbody class="anki-card-fields"></tbody> -                                </table> -                            </div> -                        </div> - -                        <div class="options-advanced"> -                            <p class="help-block"> -                                Fields are formatted using the <a href="https://handlebarsjs.com/" target="_blank" rel="noopener">Handlebars.js</a> template rendering -                                engine. Advanced users can modify these templates for ultimate control of what information gets included in -                                their Anki cards. If you encounter problems with your changes, you can always reset to the default template settings. -                            </p> -                            <div class="ignore-form-changes"> -                                <textarea autocomplete="off" spellcheck="false" wrap="soft" class="form-control" rows="10" id="anki-card-templates-textarea"></textarea> -                            </div> -                            <div> -                                <button class="btn btn-danger" id="anki-card-templates-reset-button">Reset Templates</button> -                            </div> -                            <p></p> -                            <pre id="anki-card-templates-compile-result" hidden></pre> - -                            <p>Templates can be tested using the inputs below.</p> - -                            <div class="form-group"> -                                <div class="row"> -                                    <div class="col-xs-6"> -                                        <label for="anki-card-templates-test-text-input">Preview text</label> -                                        <input type="text" id="anki-card-templates-test-text-input" class="form-control" value="読め" placeholder="Preview text"> -                                    </div> -                                    <div class="col-xs-6"> -                                        <label for="anki-card-templates-test-field-input">Test field</label> -                                        <div class="input-group"> -                                            <div class="input-group-btn"> -                                                <button class="btn btn-default" id="anki-card-templates-test-render-button" title="Test"><span class="glyphicon glyphicon-play"></span></button> -                                            </div> -                                            <input type="text" class="form-control" id="anki-card-templates-test-field-input" value="{expression}" placeholder="{marker}"> -                                            <div class="input-group-btn"> -                                                <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> -                                                <ul class="dropdown-menu dropdown-menu-right" id="anki-card-templates-field-list"></ul> -                                            </div> -                                        </div> -                                    </div> -                                </div> -                            </div> - -                            <p></p> -                            <pre id="anki-card-templates-render-result" hidden></pre> -                        </div> - -                        <div class="modal fade" tabindex="-1" role="dialog" id="anki-card-templates-reset"> -                            <div class="modal-dialog modal-dialog-centered"> -                                <div class="modal-content"> -                                    <div class="modal-header"> -                                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                        <h4 class="modal-title">Confirm template reset</h4> -                                    </div> -                                    <div class="modal-body"> -                                        Are you sure you want to reset the field templates to the default value? -                                        Any changes you made will be lost. -                                    </div> -                                    <div class="modal-footer"> -                                        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                        <button type="button" class="btn btn-danger" id="anki-card-templates-reset-button-confirm">Reset Templates</button> -                                    </div> -                                </div> -                            </div> -                        </div> - -                        <template id="anki-card-field-template"><tr> -                            <td class="col-sm-2 anki-card-field-name-container"><span class="anki-card-field-name"></span></td> -                            <td class="col-sm-10"> -                                <div class="input-group anki-card-field-value-container"> -                                    <input type="text" class="anki-card-field-value form-control" data-field="" value=""> -                                    <div class="input-group-btn"> -                                        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> -                                            <span class="caret"></span> -                                        </button> -                                        <ul class="dropdown-menu dropdown-menu-right anki-card-field-marker-list"></ul> -                                    </div> -                                </div> -                            </td> -                        </tr></template> - -                        <template id="anki-card-field-marker-template"><li><a class="marker-link" href="#"></a></li></template> -                    </div> -                </div> -            </div> - -            <div> -                <h3>Keyboard Shortcuts</h3> - -                <p class="help-block"> -                    Yomichan includes keyboard shortcuts for common actions which can be adjusted -                    using the web browser's settings. -                    Instructions on how to access this settings page are listed below for a few browsers. -                </p> - -                <h4>Chrome</h4> -                <ul class="help-block"> -                    <li>Open the settings page (<a href="chrome://settings/">chrome://settings/</a>)</li> -                    <li>Click the "Extensions" link in the left sidebar (<a href="chrome://extensions/">chrome://extensions/</a>)</li> -                    <li>Open the left side panel using the hamburger (<strong>≡</strong>) menu button, then click "Keyboard shortcuts"</li> -                </ul> - -                <h4>Firefox</h4> -                <ul class="help-block"> -                    <li>Open the extensions page (<a href="about:addons">about:addons</a>)</li> -                    <li>Click the button on the right with the gear icon, then click "Manage Extension Shortcuts"</li> -                </ul> -            </div> - - -            <div> -                <h3>Backup</h3> - -                <p class="help-block"> -                    Yomichan can import and export settings files which can be used to restore settings, -                    share settings across devices, or help to debug problems. -                    These files will only contain settings and will not contain dictionaries. -                    Dictionaries must be imported separately. -                </p> - -                <div> -                    <button class="btn btn-default" id="settings-export-button">Export Settings</button> -                    <button class="btn btn-default" id="settings-import-button">Import Settings</button> -                    <button class="btn btn-danger" id="settings-reset-button">Reset Default Settings</button> -                </div> - -                <div hidden><input type="file" id="settings-import-file" accept=".json,application/json"></div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="settings-import-error"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Import Error</h4> -                            </div> -                            <div class="modal-body"> -                                <p> -                                    An error occurred while trying to import the settings file: -                                </p> -                                <p class="text-danger" id="settings-import-error-message"></p> -                                <p> -                                    Additional info can be found in the developer console. -                                </p> -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="settings-import-warning"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Import Security Warning</h4> -                            </div> -                            <div class="modal-body"> -                                <p> -                                    Settings file contains settings which may pose a security risk. -                                    Only import settings from sources you trust. -                                </p> -                                <ul class="text-danger" id="settings-import-warning-message"></ul> -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-danger settings-import-warning-import-button">Import</button> -                                <button type="button" class="btn btn-primary settings-import-warning-import-button" data-import-sanitize="true">Sanitize and Import</button> -                            </div> -                        </div> -                    </div> -                </div> - -                <div class="modal fade" tabindex="-1" role="dialog" id="settings-reset"> -                    <div class="modal-dialog modal-dialog-centered"> -                        <div class="modal-content"> -                            <div class="modal-header"> -                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> -                                <h4 class="modal-title">Settings Reset</h4> -                            </div> -                            <div class="modal-body"> -                                <p class="text-danger"> -                                    You are about to reset all Yomichan settings back to their default values. -                                    This will delete all custom profiles you may have created. -                                    <strong>This action cannot be undone.</strong> -                                </p> -                                <p> -                                    Consider making a backup using the "Export Settings" button before resetting -                                    if you want to be able to revert. -                                </p> -                                <p> -                                    Dictionary data will not be deleted, but any installed dictionaries -                                    will need to be re-enabled. -                                </p> -                            </div> -                            <div class="modal-footer"> -                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> -                                <button type="button" class="btn btn-danger" id="settings-reset-confirm-button">Reset All Settings</button> -                            </div> -                        </div> -                    </div> -                </div> -            </div> - -            <div> -                <h3>Support Development</h3> - -                <p class="help-block"> -                    Yomichan is provided to you <em>completely free</em> of charge. Unlike numerous other "free" services, you are not -                    shown ads, pestered with "offers", or have your browser usage information analyzed and sold to third parties. -                </p> -                <p class="help-block"> -                    If you find Yomichan useful, please consider making a small donation as a way to show your appreciation for the -                    countless hours that I have devoted to this extension. -                </p> -                <p> -                    <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4DBTN9A3CUAFN" target="_blank" rel="noopener"><img src="/images/paypal.gif" alt=""></a> -                </p> -            </div> - -            <div class="pull-right bottom-links"> -                <small><span id="extension-info"></span> • <a href="/search.html">Search</a> • <a href="https://foosoft.net/projects/yomichan/" target="_blank" rel="noopener">Homepage</a> • <a href="/legal.html">Legal</a></small> -            </div> -        </div> - -        <script src="/lib/jquery.min.js"></script> - -        <script src="/lib/bootstrap/js/bootstrap.min.js"></script> -        <script src="/lib/jszip.min.js"></script> -        <script src="/lib/wanakana.min.js"></script> - -        <script src="/js/core.js"></script> - -        <script src="/js/yomichan.js"></script> - -        <script src="/js/background/environment.js"></script> -        <script src="/js/comm/anki.js"></script> -        <script src="/js/comm/api.js"></script> -        <script src="/js/comm/cross-frame-api.js"></script> -        <script src="/js/data/anki-note-builder.js"></script> -        <script src="/js/data/anki-util.js"></script> -        <script src="/js/data/database.js"></script> -        <script src="/js/data/json-schema.js"></script> -        <script src="/js/data/options-util.js"></script> -        <script src="/js/data/permissions-util.js"></script> -        <script src="/js/dom/document-util.js"></script> -        <script src="/js/dom/dom-data-binder.js"></script> -        <script src="/js/dom/html-template-collection.js"></script> -        <script src="/js/dom/selector-observer.js"></script> -        <script src="/js/general/cache-map.js"></script> -        <script src="/js/general/object-property-accessor.js"></script> -        <script src="/js/general/task-accumulator.js"></script> -        <script src="/js/input/hotkey-util.js"></script> -        <script src="/js/language/dictionary-data-util.js"></script> -        <script src="/js/language/dictionary-database.js"></script> -        <script src="/js/language/dictionary-importer.js"></script> -        <script src="/js/language/japanese-util.js"></script> -        <script src="/js/media/audio-system.js"></script> -        <script src="/js/media/media-util.js"></script> -        <script src="/js/media/text-to-speech-audio.js"></script> -        <script src="/js/pages/settings/anki-controller.js"></script> -        <script src="/js/pages/settings/anki-templates-controller.js"></script> -        <script src="/js/pages/settings/audio-controller.js"></script> -        <script src="/js/pages/settings/backup-controller.js"></script> -        <script src="/js/pages/settings/dictionary-controller.js"></script> -        <script src="/js/pages/settings/dictionary-import-controller.js"></script> -        <script src="/js/pages/settings/generic-setting-controller.js"></script> -        <script src="/js/pages/settings/keyboard-mouse-input-field.js"></script> -        <script src="/js/pages/settings/modal-controller.js"></script> -        <script src="/js/pages/settings/modal-jquery.js"></script> -        <script src="/js/pages/settings/permissions-toggle-controller.js"></script> -        <script src="/js/pages/settings/persistent-storage-controller.js"></script> -        <script src="/js/pages/settings/popup-preview-controller.js"></script> -        <script src="/js/pages/settings/profile-conditions-ui.js"></script> -        <script src="/js/pages/settings/profile-controller.js"></script> -        <script src="/js/pages/settings/scan-inputs-controller.js"></script> -        <script src="/js/pages/settings/scan-inputs-simple-controller.js"></script> -        <script src="/js/pages/settings/settings-controller.js"></script> -        <script src="/js/pages/settings/storage-controller.js"></script> -        <script src="/js/templates/template-patcher.js"></script> -        <script src="/js/templates/template-renderer-proxy.js"></script> - -        <script src="/js/pages/settings/main.js"></script> -    </body> -</html> |