Commit Graph

227 Commits

Author SHA1 Message Date
toasted-nutbread
0232325f96
Refactor json audio source (#1711)
* Move sources to the end of audio options object

* Add custom-json audio source type

* Add support for downloading custom-json

* Remove customSourceType
2021-05-26 20:38:15 -04:00
toasted-nutbread
900bceda47
Fix json schema array properties (#1709)
* Fix proxy array properties being handled incorrectly

* Add tests to check array properties
2021-05-24 18:53:42 -04:00
toasted-nutbread
54e102f343
Json schema ref support (#1708)
* Add basic support for JSON schema $ref

* Add tests
2021-05-23 15:49:25 -04:00
toasted-nutbread
41c0132c59
Improve support for sandboxed iframes (#1704)
* Add more tests

* Improve handling of errors from setupFrame

* Passively handle errors when contentDocument is null
2021-05-23 12:29:54 -04:00
toasted-nutbread
ce340d7a19
Update document tests (#1703)
* Update iframe content

* Add srcdoc test
2021-05-23 10:54:28 -04:00
toasted-nutbread
d16739a83a
Json schema validation improvements (#1697)
* Create new JsonSchema class

* Add proxy handler

* Update tests

* Update validation scripts

* Update backend

* Update audio downloader

* Update options util

* Update dictionary importer

* Update json schema file reference

* Remove old json-schema.js

* Rename new json-schema.js

* Update file names

* Rename class
2021-05-22 15:45:20 -04:00
toasted-nutbread
cb0e8ef235
Remove log, clone test value before use (#1695) 2021-05-22 15:19:52 -04:00
toasted-nutbread
1096bbfa33
Update schema tests (#1693)
* Update helper functions

* Rename file

* Update deleteProperty

* Add some basic proxy tests
2021-05-22 14:01:32 -04:00
toasted-nutbread
be23acf499
Structured content image size units (#1692)
* Add support for sizeUnits on image content

* Update test data
2021-05-20 19:33:08 -04:00
toasted-nutbread
eddd028864
Add support for definitions with structured content (#1689)
* Add structured content to schema

* Add support for generating custom content

* Update importer

* Update test data

* Add verticalAlign property
2021-05-19 18:24:50 -04:00
toasted-nutbread
ae89a8f2ad
Update test valid dictionaries (#1688)
* Update test data for valid-dictionary1

* Use valid-dictionary1 instead of valid-dictionary2

* Update test data

* Remove test of valid-dictionary2

* Remove valid-dictionary2 data
2021-05-18 19:50:11 -04:00
toasted-nutbread
76276e78da
Expose search query to anki template renderer (#1686)
* Expose query and fullQuery to Anki context

* Add {search-query} marker

* Update test data

* Update tests

* Wrap search query in multiLine
2021-05-17 20:18:37 -04:00
toasted-nutbread
66d048832f
Sentence termination character mode (#1682)
* Change enableTerminationCharacters to terminationCharacterMode

* Update settings

* Update sentence extraction

* Update tests

* Add tests
2021-05-16 15:24:38 -04:00
toasted-nutbread
de6db32aa6
Improve source term exact match count (#1674)
* Update sourceTermExactMatchCount to be based on headword count

* Update tests
2021-05-14 19:26:27 -04:00
toasted-nutbread
289bdc1622
Improve term grouping (#1653)
* Rename _addUniqueStrings to _addUniqueSimple

* Update definition merging to not depend the sequence number

* Improve naming

* Update AnkiNoteDataCreator

* Update docs

* Remove fields that no longer exist

* Update test data
2021-05-08 13:16:56 -04:00
toasted-nutbread
c514bbc4fb
Flags profile conditions (#1647)
* Generalize modifier keys

* Optimize bindings

* Add support for flags

* Add clipboard flag

* Update tests

* Add tests
2021-05-01 15:54:31 -04:00
soriac
ba3f7b3e96
Show any custom tags on words that have anki cards created (#1628)
* Proof-of-concept for showing card tags (#1626)

* Resolved most PR comments:
- Added a snackbar notification when clicking tag button
- Replaced magnifying glass icon with new tag icon
- Button now contains a span w/icon, to use text color
- Removed unnecessary attributes from button
- Backend now returns full noteInfos object
- Frontend now handles filtering tags

* Add options to show/hide tag button & filter tags

* Do not show tags button if, after filtering, we have zero tags.

* Change tags option to enums, optimize tags intersection check & fix code style.

* Update options-util.js to include new tag options.

* Fix wording on new tag setting.

* Add CSS to remove hidden buttons from the display layout.

* getAnkiNoteInfo extra parameter for additional info.

* Add new tag option to tests.

* Remove unnecessary changes related to anki tags option.

* Code style fixes.
2021-04-30 17:57:53 -04:00
toasted-nutbread
512391346b
Translator alphanumeric improvement (#1635)
* Simplify alphanumeric check

* Update option name for clarity
2021-04-28 21:17:05 -04:00
toasted-nutbread
03dd1dc6ff
Remove redundant dictionary entry sequence (#1618)
* Remove sequence/sequenceDictionary from dictionary entry objects

* Expose isPrimary on definitions

* Update sequence

* Update test data
2021-04-18 18:11:09 -04:00
toasted-nutbread
f9774b4ce9
Improve dictionary sequence info (#1617)
* Ensure negative sequence is always -1

* Expose sequence on definition objects

* Update how sequence is exposed for definitions

* Update test data

* Update TS docs
2021-04-18 18:08:02 -04:00
toasted-nutbread
609d4fe334
Replace furigana with reading (#1614)
* Use "reading" instead of "furigana" for reading distribution

* Update tests
2021-04-13 20:32:24 -04:00
toasted-nutbread
e14b52ef84
Update dictionary entry terminology (#1592)
* Update terminology

* Update terminology in display.js

* Update terminology in display-audio.js

* Update terminology in text-scanner.js

* Update terminology in backend.js

* Update terminology in mecab.js

* Update terminology in audio-downloader.js

* Update terminology in translator-vm.js

* Update terminology in dictionary-data-util.js

* Update terminology in dictionary-database.js

* Update terminology in japanese-util.js

* Change/upgrade {expression} to {term}

* Update terminology in test-japanese.js

* Update terminology in test-database.js

* Update terminology in anki-templates-controller.js

* Update terminology in anki-note-builder.js

* Update terminology in backend.js

* Update terminology in text-scanner.js

* Update terminology in display.js

* Update terminology in display.js
2021-04-04 16:22:35 -04:00
toasted-nutbread
b8bedd5185
Improve term dictionary entry sequence (#1591)
* Improve sequence for merged entries and add sequenceDictionary

* Update docs

* Expose sequence in definitions

* Expose sequence in root definition

* Update test data
2021-04-03 15:41:44 -04:00
toasted-nutbread
a9fe2d03b2
Update dictionary settings structure (#1587)
* Update dictionary settings structure to use an array instead of an object

* Update ensureDictionarySettings implementation

* Remove some usage of ObjectPropertyAccessor
2021-04-03 13:02:49 -04:00
toasted-nutbread
dabda86259
Optimize template renderer (#1585)
* Add renderMulti

* Batch template rendering

* Update tests
2021-04-02 19:09:21 -04:00
toasted-nutbread
28fa3fa795
Move test VM crypto definition (#1584) 2021-04-02 12:43:37 -04:00
toasted-nutbread
8179846e38
Refactor template rendering (#1583)
* Update _errorToJson to _serializeError

* Remove async

* Refactor render

* Simplify _getModifiedData

* Rename data => commonData

* Rename templates => template for consistency

* Improve errors check

* Update tests
2021-04-02 12:42:06 -04:00
toasted-nutbread
bcbd413e57
Definition collapsing when overflowing (#1575)
* Add double-down-chevron.svg

* Add options

* Update dictionary importers

* Update settings

* Add support for collapsible definitions

* Improve case when there is a very small amount of overflow

* Fix incorrect enabled state of newly imported dictionaries
2021-03-31 18:17:28 -04:00
toasted-nutbread
1664cc75f1
Shimau inflection (#1569)
* Add deinflection rule

* Update tests
2021-03-28 00:19:47 -04:00
toasted-nutbread
5be2362350
-chimau inflection (#1568)
* Update inflections

* Update tests
2021-03-28 00:05:45 -04:00
toasted-nutbread
2098d2faae
Hotkey arguments (#1565)
* Update display

* Move scope definitions

* Update scopes button after changing action

* Don't show menu if empty

* Improve scope updating

* Update style

* Simplify

* Add argument to settings

* Update convertToNumber implementation

* Add support for arguments

* Pass argument to action handler

* Update hotkey action definitions

* Remove x3 options
2021-03-27 22:30:45 -04:00
toasted-nutbread
90f7d5ba07
Add part of speech info (#1561)
* Add part of speech info to headwords

* Expose parts of speech to Anki template rendering

* Expose parts of speech

* Update pitch accent categories

* Update docs

* Add part-of-speech

* Update options and tests

* Update markers

* Update test data
2021-03-26 19:50:54 -04:00
toasted-nutbread
4ddd3ec80c
Fix incorrect sorting (#1557)
* Sort by the maximum length of transformedText instead of deinflectedText

* Update docs

* Update tests
2021-03-25 21:40:27 -04:00
toasted-nutbread
4be5c8fd9f
Refactor Translator and dictionary entry format (#1553)
* Update test data

* Move translator.js

* Create new version of Translator

* Update Backend

* Update DictionaryDataUtil

* Update DisplayGenerator

* Create AnkiNoteDataCreator

* Replace AnkiNoteData with AnkiNoteDataCreator

* Update tests

* Remove AnkiNoteData

* Update test data

* Remove translator-old.js

* Add TypeScript interface definitions for the new translator data format
2021-03-25 19:55:31 -04:00
toasted-nutbread
cda04b576d
Update simple test (#1551)
* Test null for simple mode

* Update test data
2021-03-23 22:44:20 -04:00
toasted-nutbread
022154c3e1
Test AnkiNoteBuilder (#1550)
* Add test for AnkiNoteBuilder

* Add test data
2021-03-23 20:54:04 -04:00
toasted-nutbread
7a8d359aa2
TranslatorVM (#1548)
* Add TranslatorVM

* Update test-translator.js
2021-03-22 22:54:24 -04:00
toasted-nutbread
89ec1c7572
Remove node data for 'simple' mode, since this is never used (#1538) 2021-03-17 21:55:17 -04:00
toasted-nutbread
f8b2483f0f
Fix incorrect mode in translator test (#1537) 2021-03-17 21:32:55 -04:00
toasted-nutbread
b923e33328
Fix invalid commas in HTML (#1533) 2021-03-15 23:15:21 -04:00
toasted-nutbread
8ae78449f2
Fix furigana distribution when source/expression kana differs (#1532)
* Fix furigana distribution when source/expression kana differs

* Add an additional test
2021-03-15 23:02:38 -04:00
toasted-nutbread
cba45b5e30
Improve translator test data (#1531)
* Organize files

* Split translator test data into two files

* Add test for AnkiNoteData
2021-03-15 20:55:26 -04:00
toasted-nutbread
49b603c756
Remove old settings page (#1524)
* Remove old settings page

* Remove spinner.gif
2021-03-14 22:51:48 -04:00
toasted-nutbread
a52d86a39e
Dictionary database improvements (#1527)
* Update formatting

* Add _findMultiBulk

* Update implementation of findTermsBySequenceBulk

* Update tests

* Generalize query creation

* Remove _findGenericBulk

* Reduce function creation

* Add more bindings

* Simplify findTermsExactBulk implementation

* Update var names

* Update _findMultiBulk to support multiple index queries

* Update findTermsBulk

* Update getMedia implementation

* Pass data arg to getAll and findFirst to avoid having multiple closures
2021-03-14 22:51:20 -04:00
toasted-nutbread
800ce9ed9e
Fix incorrect furigana distribution (#1514)
* Improve distributeFuriganaInflected implementation

* Update tests
2021-03-10 20:27:01 -05:00
toasted-nutbread
c6f4144fda
Clean up translator (#1505)
* Remove unused: _removeUsedDefinitions

* Remove unused: _scoreToTermFrequency

* Remove unused: _getTermTagsScoreSum

* Add RegexUtil

* Update Translator to use RegexUtil

* Update sw.js

* Update tests
2021-03-08 21:01:55 -05:00
toasted-nutbread
643dbfb12a
Refactor term frequency data (#1503)
* Add getTermFrequency

* Update DisplayGenerator to use getTermFrequency

* Remove termFrequency from Translator data

* Backwards compatibility

* Update tests
2021-03-07 20:38:40 -05:00
toasted-nutbread
19f6bf5a3a
Refactor furigana segment data (#1502)
* Remove redundant language assignment

* Segment furigana from DisplayGenerator

* Remove furiganaSegments from translator data

* Add backwards compatibility for furiganaSegments

* Update tests
2021-03-07 17:55:51 -05:00
toasted-nutbread
a65742a884
Fix furigana distribution when reading starts with expression, but has remainder characters (#1496) 2021-03-06 15:49:07 -05:00
toasted-nutbread
019c8cd4d7
Split dictionary order and index sorting (#1491)
* Refactor expression comparison

* Rename function

* Add dictionary index sorting

* Update test data
2021-03-06 13:04:50 -05:00