toasted-nutbread
8b6f526dc6
Regex optimizations ( #2132 )
...
* Remove regex construction for SimpleDOMParser.getElementsByClassName
* Remove regex construction for CssStyleApplier._getRulesForClass
* Rename, add jsdoc for clarity
2022-05-14 18:13:04 -04:00
toasted-nutbread
5dcc2315d2
Structured content auto language ( #2131 )
...
* Pass JapaneseUtil instance to StructuredContentGenerator
* Move body of createStructuredContent to an internal function
* Create _createStructuredContentGenericElement
* Wrap structured content in a <span>
* Change _createStructuredContent to _appendStructuredContent
* Add public appendStructuredContent function
* Add missing return
* Remove unused _createDocumentFragment
* Automatically assign lang=ja for content with Japanese characters
without an explicit language
* Add test
2022-05-14 18:12:57 -04:00
Stephen Kraus
6a74746113
Add new structured content features: lists and the HTML lang
attribute ( #2129 )
...
* Add support for structured content lists and `list-style-type` style
A full list of supported style types is documented here:
https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
There's nothing in this code preventing a term bank from assigning,
for example, a `list-style-type` style to a `div` element, but it
doesn't seem like browsers will complain about things like that.
* Add support for `lang` attribute in structured content
Support added for the following node types:
"ruby", "rt", "rp", "table", "thead", "tbody", "tfoot", "tr", "td",
"th", "span", "div", "ol", "ul", "li", "a"
I couldn't get it to work for the alt-hover text on "img" tags.
Tests are included in the file
"test/data/dictionaries/valid-dictionary/term_bank_1.json"
* Add styles for structured content lists
* Add override rules for new structured-content list styles
see: https://github.com/FooSoft/yomichan/pull/2129
Co-authored-by: stephenmk <stephenmk@users.noreply.github.com>
2022-05-14 09:59:38 -04:00
toasted-nutbread
1256e4bab7
Update version
2022-04-04 19:17:43 -04:00
toasted-nutbread
e5b53bb238
Hide popup on cursor exit ( #2109 )
...
* Update phrasing
* Add new options
* Add settings
* Implement
2022-04-03 22:52:53 -04:00
toasted-nutbread
77c4d135c7
Add a warning about the future of the Google docs workaround ( #2108 )
2022-04-03 21:49:33 -04:00
toasted-nutbread
b896724aac
Update Popup to not store the full options object ( #2106 )
2022-04-03 17:09:51 -04:00
toasted-nutbread
f61690ea2c
Theme updates ( #2105 )
...
* Change siteColor to siteTheme
* Fix potential null exception
* Simplify
* Update display theme assignment
* Add a data-browser-theme attribute
* Add "browser" option for theme
* Create ThemeController
* Add theme-controller.js to relevant pages
* Use ThemeController
* Simplify
* Fix 'light' being used instead of 'default'
* Update the settings values to more accurately reflect their usage
* Change default site theme in display.js
* Remove async
* Restore async for consistency
2022-04-03 16:20:55 -04:00
toasted-nutbread
3150da92fe
Update input action prevention settings ( #2104 )
...
* Update styles for the input action prevention modal
* Add information
2022-04-02 15:24:59 -04:00
toasted-nutbread
eb80fb233b
Settings advanced indicators ( #2103 )
...
* Update the advanced toggle to have a custom color
* Add indicators to advanced-only settings
2022-04-02 14:59:16 -04:00
toasted-nutbread
ea1d64c9dd
Settings page mobile layout updates ( #2102 )
...
* Remove use of --settings-group-inner-vertical-margin
* Update alignment
2022-04-02 14:48:57 -04:00
toasted-nutbread
6b88501afd
Text scanner event capture ( #2101 )
...
* Add capture parameter to event listeners
* Enable capture
2022-04-02 13:10:39 -04:00
toasted-nutbread
8a1dcbc9f5
Workaround for Google Docs canvas rendering updates ( #2096 )
2022-04-02 09:38:40 -04:00
toasted-nutbread
7a2ab86609
Structured content links ( #2089 )
...
* Update CSS to JSON converter to generalize the remove-property comment
* Fix navigation not being updated when _clearContent is run
* Add structured content schema for link tags
* Add test links
* Add external-link icon
* Pass Display instance to DisplayContentManager
* Update structured content generation
* Update link styles
2022-03-17 19:01:59 -04:00
toasted-nutbread
8aa060337c
AnkiTemplateRendererContentManager ( #2088 )
...
* Make function private
* Update comments
* Refactor the content manager that is provided to StructuredContentGenerator in AnkiTemplateRenderer
* Update function to not be async, for API parity
2022-03-14 22:32:08 -04:00
toasted-nutbread
4e15f92329
Rename MediaLoader to DisplayContentManager ( #2087 )
2022-03-14 21:42:33 -04:00
toasted-nutbread
59ae55252e
Update ClipboardReader.getImage implementation ( #2085 )
2022-03-13 21:17:48 -04:00
toasted-nutbread
f98f5f9395
Improve Anki storeMediaFile ( #2084 )
...
* Use the return value of storeMediaFile
* Update documentation
2022-03-13 21:17:41 -04:00
toasted-nutbread
1590f5218c
Add additional Anki card marker aliases ( #2083 )
2022-03-13 21:17:35 -04:00
toasted-nutbread
48b2807120
Add support for logging Anki errors on the settings page ( #2073 )
2022-02-20 09:35:54 -05:00
toasted-nutbread
89a939eb39
Update anki card frequency ( #2065 )
...
* Prefer to use displayValue for Anki card frequency values
* Update test data
2022-02-05 21:35:03 -05:00
toasted-nutbread
d48ea4dece
Update version
2022-02-02 20:44:08 -05:00
toasted-nutbread
89ac85afd0
Update copyright date ( #2062 )
...
* Update eslint settings
* Update 2021 files
* Update other files
2022-02-02 20:43:10 -05:00
toasted-nutbread
258f1b629a
Update sentence termination characters ( #2059 )
...
* Add vertical punctuation to terminationCharacters
* Upgrade settings
* Update tests
2022-02-02 20:09:13 -05:00
archiif
faa5ed7184
Set Content-Type
header of AnkiConnect requests to application/json
2022-01-05 01:44:47 +07:00
toasted-nutbread
0e52a1f509
Scanning wildcards ( #2042 )
...
* Add scanning.matchTypePrefix option
* Update TextScanner to use matchTypePrefix option
* Add setting
* Update warning
2021-12-18 12:38:39 -05:00
toasted-nutbread
8a377cabe6
matchType/deinflect distinction ( #2040 )
...
* Pass a "deinflect" option to findTerms
* Update Translator to use deinflect option
* Fix test input options
2021-12-17 17:02:13 -05:00
toasted-nutbread
8e548a17eb
Dictionary database term source info ( #2039 )
...
* Update DictionaryDatabase._findMultiBulk's createResult callback signature
* Simplify _splitField use
* Update sequence
* Expose new fields 'matchType' and 'matchSource' as part of term data
* Expose matchType and matchSource as part of TermSource
* Update sourceTermExactMatchCount calculation
* Update test data
* Expose matchType and matchSource info in HTML attributes
* Add primaryMatchTypes attribute
2021-12-17 16:44:14 -05:00
toasted-nutbread
19ab9df6e4
Replace 'wildcard' parameter with 'matchType' ( #2038 )
2021-12-17 16:11:19 -05:00
toasted-nutbread
fced59a213
Fix source name not being used ( #2036 )
2021-12-14 22:03:34 -05:00
toasted-nutbread
ecbbfa39a2
Fix non-text <input> elements being included in scanning content ( #2034 )
2021-12-14 14:55:24 -05:00
toasted-nutbread
0356241362
Fix typo in comments ( #2032 )
2021-12-14 14:54:36 -05:00
toasted-nutbread
f2102ade4c
Add AccessibilityController class, which dynamically registers ( #2024 )
...
and unregisters the google-docs.js content script
2021-11-23 22:23:14 -05:00
toasted-nutbread
d454b52a18
Google Docs accessibility refactor ( #2023 )
...
* Skip urlRegex if it's used as a filter
* Add getRequiredContentScriptRegistrationPermissions function
* Add a reentrant check to google-docs.js
* Remove script node
* Move forceGoogleDocsHtmlRendering check into google-docs.js
* Replace document-start.js usage with google-docs.js
* Remove documentStart handling
* Add missing parameter descriptions
2021-11-23 22:08:30 -05:00
toasted-nutbread
ecc994a8bb
ScriptManager updates ( #2022 )
...
* Fix spacing
* Add more parameters to injectStylesheet
* Add more parameters to injectScript
* Update ScriptManager to support content script registration
* Add webNavigation as an optional permission
2021-11-23 16:16:13 -05:00
toasted-nutbread
cedf6b25c4
ScriptManager ( #2021 )
...
* Create ScriptManager class
* Use ScriptManager in Backend
2021-11-22 19:29:20 -05:00
toasted-nutbread
b0a0184334
Update sentence parsing settings ( #2020 )
...
* Update description
* Update descriptions of the parsing algorithms
2021-11-21 22:09:58 -05:00
toasted-nutbread
005f9658d9
Action handler name disambiguation ( #2018 )
...
* Disambiguate PopupFactory action handlers
* Update HotkeyHandler action names
* Disambiguate Frontend action handlers
* Disambiguate Display action handlers
* Disambiguate PopupPreviewFrame action handlers
* Disambiguate Yomichan action handlers
* Disambiguate Frontend action handlers
* Disambiguate Display action handlers
* Disambiguate SearchDisplayController action handlers
2021-11-21 15:54:58 -05:00
toasted-nutbread
06e70c1cd8
FrameOffsetForwarder fixes ( #2017 )
...
* Fix handling of null iframe rect
* Handle errors inside of getOffset
2021-11-21 15:08:39 -05:00
toasted-nutbread
36967b1839
General refactoring ( #2016 )
...
* Remove // Public comments
* Fix errors
* Remove source parameter from Popup*.setOptionsContext
2021-11-21 12:34:57 -05:00
toasted-nutbread
3c798ae36d
Refactor isExtensionUrl ( #2015 )
...
* Update isExtensionUrl to work even if the extension is unloaded
* Simplify
2021-11-21 12:27:29 -05:00
toasted-nutbread
70ac6c51f9
Don't clear the selection before the text scanner has been enabled ( #2006 )
2021-11-13 11:11:33 -05:00
toasted-nutbread
657292733d
Fix search page not being cleared properly ( #2005 )
2021-11-13 09:29:58 -05:00
toasted-nutbread
c1a51ae41f
Update version
2021-10-31 21:47:00 -04:00
toasted-nutbread
2dc8394c72
JSDoc update ( #1996 )
...
* Update core.js docs to include types.
* Update docs
2021-10-31 21:45:57 -04:00
toasted-nutbread
f978819a33
Don't stop audio playback when hiding a popup ( #1995 )
2021-10-21 19:56:43 -04:00
toasted-nutbread
9ae38bd8e9
Display menu button ( #1992 )
...
* Implement new menu which includes a debug log option
* Update wording
2021-10-17 09:55:13 -04:00
toasted-nutbread
ca4ed0300b
Display button updates ( #1991 )
...
* Update display buttons
* Remove use of _addMultipleEventListeners
2021-10-17 00:15:43 -04:00
toasted-nutbread
75aabd983d
String frequency support ( #1989 )
...
* Restore support for string frequency values
* Add support for {value, displayValue} frequencies
* Update test data
* Improve number parsing of string frequencies
* Improve reading detection
* Expose a displayValue property for frequency information
* Update docs
* Expose displayValue to Anki note data
* Fix translator
* Update display generation
* Update test data
* Update counts
2021-10-14 21:26:53 -04:00
toasted-nutbread
11f7591a7f
Fix query being set to null when an empty search page is opened ( #1988 )
2021-10-14 21:16:40 -04:00
Shadowlauch
b3d38fce47
fix DOMRect for vertical position calculation ( #1986 )
2021-10-14 19:29:52 -04:00
toasted-nutbread
0a8992d215
Search query back button ( #1981 )
...
* Always allow history to go back/forward when using browser history
* Add a back button which is visible when using the query parser
2021-10-09 17:06:51 -04:00
toasted-nutbread
0e4b769390
Search CSS updates ( #1979 )
...
* Update styles
* Limit the height of the query parser
2021-10-09 14:32:56 -04:00
toasted-nutbread
e3986196e1
Disable background clipboard monitor, mecab, and anki if disabled ( #1977 )
2021-10-03 16:46:22 -04:00
toasted-nutbread
be8ef53e90
Display refactoring ( #1978 )
...
* Refactor _setContentTermsOrKanji
* Update query assignment
* Simplify
* Remove redundant _updateQueryParser
* Reorder query assignment
* Remove isTerms, replace with isKanji
* Simplify defaults
* Refactor events
* Update DisplayAnki to use events
* Simplify
* Update DisplayAudio to use events
* Simplify
* Move audio hotkeys
* Add frameVisibilityChange event
* Fix name
* Add logDictionaryEntryData event
* Move clearAutoPlayTimer handler
* Fix call
* Externalize DisplayAnki and DisplayAudio from Display
* Simplify clear
2021-10-03 16:46:15 -04:00
toasted-nutbread
d14268eb57
Update version
2021-09-30 21:13:12 -04:00
toasted-nutbread
52e4bc8e6a
Add disable-popup-preview option to the settings page ( #1974 )
2021-09-30 21:12:26 -04:00
toasted-nutbread
19eb990aeb
DOMRect update ( #1973 )
...
* Compare using left/top rather than x/y
* Simplify
* Update Popup*.getFrameRect to return a custom structure
* Don't use x/y on DOMRect
2021-09-30 21:05:34 -04:00
toasted-nutbread
6cf01555e7
Make accessibility settings non-advanced ( #1972 )
2021-09-30 19:41:26 -04:00
toasted-nutbread
55a7e7f9a8
Hotkey dictionary navigation fix ( #1970 )
...
* Add getRect function to ScrollElement
* Update _focusEntry to take a definition index
* Update behaviour of (next|previous)EntryDifferentDictionary
2021-09-30 19:31:45 -04:00
toasted-nutbread
b0f6c41f5d
Search query offset value ( #1968 )
...
* Add type property to TextSource* classes
* Use type property rather than instanceof
* Expose a sentence offset value
* Use offset added to URL
* Improve fallback sentence for Anki note context
2021-09-27 19:07:28 -04:00
toasted-nutbread
b784e5b11a
Katakana to hiragana conversion options ( #1965 )
...
* Refactor convertKatakanaToHiragana
* Add keepProlongedSoundMarks option
* Test keepProlongedSoundMarks option
* Refactor
* Add keepProlongedSoundMarks option to hiragana handlebars helper
* Update documentation
2021-09-27 18:19:53 -04:00
toasted-nutbread
729abbf561
Remove display query post process ( #1967 )
...
* Remove search query post-processing
* Remove _rawQuery, as it is redundant with _query
2021-09-26 22:14:52 -04:00
toasted-nutbread
ba267a545c
Rename dictionary import steps ( #1966 )
2021-09-26 20:08:16 -04:00
toasted-nutbread
247c929bba
Update document-start.js to only run for docs.google.com ( #1964 )
...
* Update document-start.js to only run for docs.google.com
* Update manifest
2021-09-26 18:23:57 -04:00
toasted-nutbread
c364714c81
Fix hotkey input field conflict ( #1963 )
...
* Move comment
* Add DocumentUtil.isInputElement
* Use DocumentUtil.isInputElement
* Fix simple hotkeys (shift or no modifier) preventing text field input
* Improve input detection
* Validate key is an input character before blocking hotkey
* Simplify
* Fix incorrect property
2021-09-26 18:14:00 -04:00
toasted-nutbread
d739ccd63f
Fix japanese codepoint range issues ( #1960 )
...
* Add CJK_COMPATIBILITY_IDEOGRAPHS_RANGE
* Rename CJK_UNIFIED_IDEOGRAPHS_RANGES => CJK_IDEOGRAPH_RANGES
* Simplify isKana check
* Update tests
2021-09-26 13:29:55 -04:00
toasted-nutbread
25fe3ba514
Revert term/reading string normalization due to undesirable changes ( #1959 )
2021-09-26 13:29:50 -04:00
toasted-nutbread
076170cc38
Fix regexMatch and regexReplace handlebars helper functions ( #1958 )
2021-09-26 12:15:00 -04:00
toasted-nutbread
6694a9d9c3
Enable frequency dictionaries to specify the frequency mode ( #1944 )
2021-09-26 11:08:25 -04:00
toasted-nutbread
c15683d206
Ensure frequency values are always numbers ( #1943 )
2021-09-26 11:08:21 -04:00
toasted-nutbread
9899727d7d
Frequency dictionary sort ( #1938 )
...
* Add sortDictionary/sortDictionaryOrder options
* Update options
* Add API.getTermFrequencies
* Add settings
* Implement frequency dictionary sorting
* Update test
* Update test data
* Fix handling of undefined rank-based frequencies
2021-09-26 11:08:16 -04:00
toasted-nutbread
88e71f8223
Add data-is-primary attribute to headwords ( #1946 )
2021-09-11 12:51:51 -04:00
toasted-nutbread
6661933d47
Display button updates ( #1945 )
...
* Use span rather than div for button badges
* Update action button icons
* Rename class
* Update current entry indicator
2021-09-10 20:48:03 -04:00
toasted-nutbread
dfddf3792e
Fix redundant secondary term lookups ( #1942 )
2021-09-09 23:29:41 -04:00
toasted-nutbread
7883d39496
Normalize terms and readings during import ( #1941 )
2021-09-09 23:25:24 -04:00
toasted-nutbread
069ca1a97b
Anki field templates suggestions ( #1940 )
...
* Remove unused
* Bold the suggested default field value
2021-09-08 20:12:26 -04:00
toasted-nutbread
6b566e0329
Rename _onDocumentStart => _onApiDocumentStart for consistency ( #1939 )
2021-09-08 14:49:00 -04:00
toasted-nutbread
ac12b50939
Dictionary import count details ( #1935 )
...
* Store count information when importing a dictionary
* Add importDate
* Update property ordering
* Update tests
* Update importDate
2021-09-07 11:12:58 -04:00
toasted-nutbread
c91831a817
Anki template regex helper updates ( #1934 )
...
* Update regexReplace and regexMatch to support content arguments
* Update documentation
2021-09-05 22:59:46 -04:00
toasted-nutbread
b988417031
Fix incorrect index being used for headword removal ( #1933 )
2021-09-05 21:07:23 -04:00
toasted-nutbread
97a80276f6
Database readwrite transaction updates ( #1932 )
...
* Add _readWriteTransaction helper
* Improve deleteDictionary order
* Make onProgress event optional
* Simplify progress rate parameter
2021-09-05 20:00:08 -04:00
toasted-nutbread
f68ad1f843
Structured content data ( #1930 )
...
* Add support for structured-content data attributes
* Assign dataset properties
* Don't remove data-sc attributes
* Use helper functions
* Update test data
2021-09-04 12:43:56 -04:00
toasted-nutbread
eb457caea9
Fix repeated note IDs shown on the "View Note" button ( #1927 )
2021-09-03 22:42:27 -04:00
toasted-nutbread
0331374241
Dictionary media import improvements ( #1926 )
...
* Add base64ToArrayBuffer to StringUtil
* Remove unnecessary media-util.js import
* Run async requirements in serial rather than parallel
* Update API.getMedia handler to convert ArrayBuffer content to base64
* Rename getImageResolution to getImageDetails
* Change parameter order of getImageDetails
* Pre-process and store media as an ArrayBuffer
* Remove MediaUtil.createBlobFromBase64Content
* Fix Anki media injection
2021-09-03 22:33:58 -04:00
toasted-nutbread
764d59df13
Update version
2021-08-31 21:49:57 -04:00
toasted-nutbread
1599ec1f15
Fix dictionary import total progress ( #1921 )
...
* Fix incorrect total count for final step of dictionary import
* Update tests to validate progress args
2021-08-31 21:42:18 -04:00
toasted-nutbread
02194fcb9f
Add support for structured content margins ( #1920 )
2021-08-31 21:08:30 -04:00
toasted-nutbread
ce1a862df4
Fix empty sentence on some search page URLs ( #1919 )
2021-08-31 20:45:29 -04:00
toasted-nutbread
3e7f3af63c
Fix history replacement issue ( #1917 )
...
* Remove unused "history" field of event details
* Change setContent history parameter to historyMode
2021-08-30 21:55:08 -04:00
toasted-nutbread
f565cc5a47
Improve accessibility of links without href ( #1915 )
2021-08-28 14:45:25 -04:00
toasted-nutbread
87fbb3c01c
Dictionary worker updates ( #1914 )
...
* Add support for running getDictionaryCounts via DictionaryWorker
* Run dictionary integrity checks on a separate thread
* Remove api.getDictionaryCounts
2021-08-28 14:30:50 -04:00
toasted-nutbread
74709296e5
Dictionary database worker refactoring ( #1913 )
...
* Rename DictionaryWorker => DictionaryWorkerHandler
* Rename var
* Rename file
* Simplify
* Rename DictionaryDatabaseModifier => DictionaryWorker
* Rename dictionary-database-modifier.js => dictionary-worker.js
2021-08-28 14:22:16 -04:00
toasted-nutbread
93f193c89e
Fix incorrect dictionary name ordering being used for counts ( #1912 )
2021-08-28 13:47:03 -04:00
toasted-nutbread
dfd52e1ecd
Hiragana & katakana helpers ( #1908 )
...
* Add hiragana and katakana template helpers
* Update documentation
* Fix documentation
2021-08-25 21:58:51 -04:00
toasted-nutbread
dd10dd601e
Replace ... with … ( #1902 )
2021-08-20 20:56:33 -04:00
toasted-nutbread
9bc708bb8d
Fix border radius on the outline-item style ( #1901 )
2021-08-20 18:20:56 -04:00
toasted-nutbread
e56734fc88
Input styles updates ( #1900 )
...
* Rename class
* Update styles
* Use input-group class
* Update styles
* Update input line height
* Update border styles
* Update styles
* Update line height
* Update styles
* Update line height
* Update line height
* Update outline item style
2021-08-20 18:13:56 -04:00
toasted-nutbread
b08bf103eb
Add connection icon ( #1898 )
2021-08-15 10:52:50 -04:00
toasted-nutbread
b6fc786f9a
Update dictionary importer progress event for step 6 to occur slightly earlier ( #1897 )
2021-08-14 18:16:30 -04:00