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
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
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
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
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
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
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
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
b6fc786f9a
Update dictionary importer progress event for step 6 to occur slightly earlier ( #1897 )
2021-08-14 18:16:30 -04:00
toasted-nutbread
4839503d54
Threaded dictionary delete ( #1895 )
...
* Generalize dictionary worker
* Add deleteDictionary functionality
* Update DictionaryController to use DictionaryDatabaseModifier
* Fix incorrect result handling
2021-08-14 12:41:58 -04:00
toasted-nutbread
3e350bd563
Dictionary worker refactor ( #1894 )
...
* Rename dictionary worker files
* Rename classes
* Rename file
* Rename class
* Generalize the _invoke method
* Rename 'import' to 'importDictionary'
* Improve DictionaryImporterMediaLoader usage
* Refactor message handler
* Generalize onProgress event
2021-08-14 11:46:26 -04:00
toasted-nutbread
cd78d56fee
Database improvements to data persistency ( #1893 )
...
* Fix function check
* Rename arguments of getAll, getAllKeys, and their private functions
* Simplify bulkAdd
* Simplify delete
* Simplify bulkDelete
* Remove persistData
2021-08-13 18:35:31 -04:00
toasted-nutbread
9facacfb23
Update CssStyleApplier.prepare to passively fail if it can't read the file ( #1891 )
2021-08-11 20:14:19 -04:00
toasted-nutbread
916189f402
Fix auto-play not working on the search page ( #1882 )
2021-08-10 19:23:05 -04:00
toasted-nutbread
69e448a955
Add support for manifest V3 script injection ( #1878 )
2021-08-07 17:17:53 -04:00
toasted-nutbread
2d5e6f8394
Fix data not being persisted after terminating Worker thread ( #1877 )
2021-08-07 15:25:00 -04:00
toasted-nutbread
5d4141a429
Google Docs accessibility ( #1875 )
...
* Add accessibility option for forcing Google Docs HTML-based rendering
* Update settings
* Send a documentStart message at document start
* Add accessibility script for Google Docs
* Set up accessibility
* Update tests
2021-08-07 12:40:51 -04:00
toasted-nutbread
edb0aaf6b4
Improve audio auto play cancellation ( #1873 )
...
* Cancel automatic audio playback when hiding the popup
* Don't play audio if the popup is hidden
2021-08-02 19:25:10 -04:00
toasted-nutbread
cd3f47a359
Dictionary import progress improvements ( #1868 )
...
* Update loop vars
* Update loop
* Improve progress reporting during the import process
2021-07-31 19:13:41 -04:00
toasted-nutbread
01c5c5c04b
Dictionary importer refactoring ( #1867 )
...
* Remove map of schemas
* Don't reuse dictionary importer instances
* Refactor
* Update how progress callback is used
2021-07-31 18:08:51 -04:00
toasted-nutbread
1d6e437fb2
Dictionary importer refactor ( #1866 )
...
* Move function implementations
* Use file() instead of files[]
* Move functionality into local functions
* Simplify
* Pass dictionary title to conversion functions
* Update how legacy tags are added
2021-07-31 16:53:38 -04:00
toasted-nutbread
8c4a50f68c
DictionaryImporterThreaded ( #1865 )
...
* Create new classes for importing dictionaries from a separate thread
* Use threaded importer
* Update worker tests
2021-07-31 14:46:09 -04:00
toasted-nutbread
11f210375e
DictionaryImporter improvements ( #1862 )
...
* Improve error message
* Simplify URL for JSON fetching
2021-07-31 14:00:19 -04:00
toasted-nutbread
454ffaad96
StringUtil ( #1861 )
...
* Add StringUtil class
* Use StringUtil
2021-07-31 13:04:16 -04:00
toasted-nutbread
00c5ae7983
DictionaryImporterMediaLoader ( #1860 )
...
* Rename param for consistency
* Move media loading functionality into DictionaryImporterMediaLoader
* Create test class for media loading
* Remove unnecessary Blob/Image/URL functionality
2021-07-31 12:30:31 -04:00
toasted-nutbread
2d57d69b9e
Improve dictionary importer ( #1859 )
...
* Optimize dictionary data parsing during import
* Use ArrayBuffer instead of string
* Add missing function for testing
2021-07-31 10:53:35 -04:00
toasted-nutbread
b99850ed54
Call URL.revokeObjectURL for created URLs ( #1858 )
...
* Call URL.revokeObjectURL for created URLs
* Refactor image usage
2021-07-29 21:16:55 -04:00
toasted-nutbread
a0fa67d57c
Update JsonSchema ( #1856 )
...
* Fix issues with validating properties
* Simplify multiple destructuring
* Add an optiona progress callback
* Add functions
* Add more functions
2021-07-28 20:31:36 -04:00
toasted-nutbread
b0596c8a3c
Rename pitchAccent in source code ( #1852 )
...
* Rename pitchAccentPosition to pitchAccentDownstepPosition
* Rename function
* Rename
* Rename
* pitches => pronunciations
2021-07-26 19:45:30 -04:00
toasted-nutbread
a9710b8acf
Rename CSS class names "pitch-accent" to "pronunciation" ( #1850 )
...
* pitch-accents => pronunciations
* Update dataset property names
* pitch-accent-dictionary => pronunciation-dictionary
* Update styles
* Update template name
* Update attributes
2021-07-25 18:16:07 -04:00
toasted-nutbread
3f73889874
Update de/serializeError functions to only serialize data if present ( #1849 )
2021-07-25 12:54:26 -04:00
toasted-nutbread
73f06a3fa0
Fix definition image aspect ratio issue ( #1847 )
...
* Fix incorrect aspect ratio
* Update test data
2021-07-22 18:11:46 -04:00
toasted-nutbread
2ee3e3a7a1
Update pronunciation anki templates ( #1842 )
...
* Update anki pronunciation templates
* Expose nasalPositions/devoicePositions
* Update templates to support nasal/devoice positions
* Update test data
2021-07-18 16:01:42 -04:00
toasted-nutbread
637d4a2087
Pronunciation template helper ( #1840 )
...
* Rename field
* Set up pronunication components
* Fix documentation
* Rename function
* Update test dependencies
* Fix constructor
* Log errors
* Add pronunciation helper
* Add styleApplier argument to _getHtml/_normalizeHtml
* Use getAttribute for 'class' to support namespaced elements (e.g. svg)
* Update format name
* Add optional tag
* Update docs
2021-07-18 13:43:11 -04:00
toasted-nutbread
10a9da4d31
Anki template renderer abstraction ( #1839 )
...
* Add AnkiTemplateRenderer abstraction
* Move Anki-specific template functionality into AnkiTemplateRenderer
* Add documentation comments
2021-07-18 11:20:03 -04:00
toasted-nutbread
fafa746a63
Sandbox script folders ( #1837 )
...
* Move scripts
* Update paths
* Fix ordering
* Simplify eslint rules
2021-07-17 17:10:25 -04:00
toasted-nutbread
3e938f1a1f
Display pronunciation refactor ( #1835 )
...
* Simplify svg and container styles
* Rename pitch-accent-details to pitch-accent-graph-container
* Rename pitch-accent-graph* to pronunciation-graph*
* Remove unused template
* Omit quotes
* Rename pitch-accent-character to pronunciation-mora
* Simplify names
* Replace pronunciation-mora-inner with pronunciation-character
* Improve grouping of nasal characters
* Simplify character replacement
* Replace pseudo-elements with real elements
* Use an element rather than a fragment
* Rename functions
* Add wrapper
* Rename pitch-accent-characters to pronunciation-text-container
* Update test data
* Update downstep notation generation
* Rename pitch-accent-position to pronunciation-downstep-notation-container
* Space
* Wrap pronunciations in a container node
* Update preview
* Embed pitch accent styles directly
2021-07-17 14:44:36 -04:00
toasted-nutbread
a933cfdc07
Pronunciation nasal improvement ( #1834 )
...
* Organize
* Add utility to get diacritic information about a character
* Show mora without diacritic
* Add a hidden handakuten for copy-paste purposes
2021-07-17 12:20:11 -04:00
toasted-nutbread
4a2b824371
Display pronunciation separation ( #1833 )
...
* Create PronunciationGenerator
* Update DisplayGenerator
* Update templates
* Move pronunciation styles to a separate file
* Simplify pitch-accents-preview.html
2021-07-17 10:26:20 -04:00
toasted-nutbread
41fc76d6fd
Devoice and nasal pronunciation info ( #1832 )
...
* Update schema to support information about nasal and devoiced mora
* Expose nasalPositions and devoicePositions in dictionary entry data
* Expose nasalPositions, devoicePositions in grouped pitch info
* Update display generator
* Update test dictionary data
* Update test data
2021-07-15 22:39:33 -04:00
toasted-nutbread
25d74140ce
Multi view note ( #1829 )
...
* Add support for a menu to view multiple note IDs
* Show a + badge when there are multiple notes available
* Organize
2021-07-14 22:37:18 -04:00
toasted-nutbread
d058237ba7
Duplicate scope check all models ( #1810 )
...
* Add duplicateScopeCheckAllModels option to createNote
* Add duplicateScopeCheckAllModels option
* Add setting
2021-07-13 20:29:53 -04:00
toasted-nutbread
d5320c71a6
Throw an error when _getProfile doesn't have a matching profile ( #1826 )
2021-07-13 20:19:48 -04:00
toasted-nutbread
437b588411
Fix case where "ready" message is received before frame "load" event ( #1822 )
2021-07-10 21:37:37 -04:00
toasted-nutbread
d897fb553d
Improve error when card has missing content ( #1818 )
2021-07-09 20:26:20 -04:00
toasted-nutbread
7a1570885e
Simplify get media structure ( #1817 )
...
* Remove format argument of getMedia
* Implement escaping
2021-07-09 20:14:05 -04:00
toasted-nutbread
22f048e527
Update Anki field marker menu ( #1816 )
...
* Update anki field marker menu to have less vertical padding
* Update positioning of field marker menu
2021-07-09 18:21:29 -04:00
toasted-nutbread
d446484947
Remove old settings main.js ( #1815 )
2021-07-09 18:09:15 -04:00
toasted-nutbread
8c68fa4d94
Anki text furigana parsing and {sentence-furigana} marker ( #1814 )
...
* Add support for textFurigana media
* Add readingMode parameter
* Implement readingMode
* Add {sentence-furigana} marker
* Fallback to sentence if furigana isn't available
* Update test data
2021-07-09 17:48:27 -04:00
toasted-nutbread
0d16709547
JapaneseUtil updates ( #1813 )
...
* Rename test file
* Use shorthand
* Add support checking functions
* Remove convertReading from JapaneseUtil
2021-07-09 17:31:16 -04:00
toasted-nutbread
daa44a8389
Fix an issue with reordering dictionary settings ( #1812 )
2021-07-09 16:06:12 -04:00
toasted-nutbread
24ec22b2e1
Text parse updates ( #1811 )
...
* Expose more settings to QueryParser
* Rename textParse to parseText
* Refactor
* Convert reading inside QueryParser rather than Backend
* Remove use of readingMode from backend
* Rename
* Update parseText args
* Simplify
* Update results
* Move use of optionsContext
* Run mecab and internal parser in parallel
* Added "dictionary-reading" reading mode
* Update romaji conversion case
2021-07-09 16:05:57 -04:00
toasted-nutbread
315dc425e4
Anki card selected text ( #1809 )
...
* Add support for injecting the text selection into Anki cards
* Add selection-text
* Upgrade to add {selection-text}
* Update descriptions
* Update test data
2021-07-07 20:00:30 -04:00
toasted-nutbread
9935e154f1
Update options-util tests and comment ( #1806 )
2021-07-06 22:59:24 -04:00
toasted-nutbread
1088c17503
Add support for injecting dictionary media into Anki cards ( #1805 )
2021-07-06 22:00:18 -04:00
toasted-nutbread
8d1596cdf8
Fix incorrect resultOutputMode ( #1804 )
2021-07-06 21:49:57 -04:00
toasted-nutbread
df72c3927b
Fix function names ( #1803 )
2021-07-06 20:07:13 -04:00
toasted-nutbread
e88d63fc6d
Template renderer media updates ( #1802 )
...
* Add TemplateRendererMediaProvider to abstract media-related functionality
* Update representation of injected media
* Update templates
* Update upgrade file
* Update tests
* Update test data
* Force media to be an object
* Update test data
2021-07-06 19:43:53 -04:00
toasted-nutbread
e155132085
OptionsUtil and tests updates ( #1801 )
...
* Update OptionsUtil.update to support an optional targetVersion param
* Update Anki template updates to have an explicit target version
2021-07-05 23:24:06 -04:00
toasted-nutbread
54808d4a2d
Pass requirements to note generation ( #1800 )
...
* Update structure
* Pass requirements to _createNote
* Show an error for requirements that weren't fulfilled
2021-07-05 16:59:30 -04:00
toasted-nutbread
da13a2ebff
DisplayAnki note requirements ( #1799 )
...
* Update how errors are collected from _formatField
* Expose requirements
2021-07-05 15:08:11 -04:00
toasted-nutbread
0491de12d4
Store anki note details ( #1798 )
...
* Update error handling of _areDictionaryEntriesAddable
* Store note details
* Remove promise after use
* Rename function
* Clear stored details
* Rename function
* Rename function
2021-07-05 14:41:11 -04:00
toasted-nutbread
b8478857aa
Refactor DisplayAnki.setupEntriesComplete params and implementation ( #1794 )
2021-07-04 11:11:05 -04:00
toasted-nutbread
468c923277
Update the note context object generation process to ensure consistency ( #1792 )
2021-07-03 20:09:22 -04:00
toasted-nutbread
ea47cb8248
DisplayAnki ( #1791 )
...
* Remove anki functionality from display
* Rename function
* Display API updates
* Use DisplayAnki
* TODO
2021-07-03 19:32:11 -04:00
toasted-nutbread
82b7ebfa58
Remove uniqueness check for requirements ( #1790 )
2021-07-03 11:35:03 -04:00
toasted-nutbread
f7d177e6d0
Refactor createNote ( #1789 )
...
* Update createNote to return a wrapper object
* Update how createNote creates errors
2021-07-03 11:30:48 -04:00
toasted-nutbread
d7c934cae8
Fix simple glossary HTML not being escaped ( #1788 )
2021-07-03 10:46:51 -04:00
toasted-nutbread
ca97e38bd2
Anki support for structured-content ( #1786 )
...
* Update how glossary text is formatted
* Update structured content and image generation
* Pass root data to _createStructuredContentGenerator
* Implement media URLs
* Update documentation
* Update options util
* Apply styles to content
* Improve HTML normalization
* Update DatabaseVM.fetch function
* Update test
* Update test data
2021-07-02 22:46:38 -04:00
toasted-nutbread
a4715935cb
More CssStyleApplier updates ( #1785 )
...
* Update eslint rules for css-style-applier.js
* Don't use chrome.runtime.getURL
* Update CSP to allow inline styles
2021-07-02 22:12:02 -04:00