* 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
* 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
* Add {dictionaryIndex, dictionaryPriority} to definitions
* Add score to definitions
* Add id to definition
* Use definition id instead of ids array
* Remove ids array
* Update docs
* Update test data
* Allow unsequenced definitions to be added to multiple groups
* Update translator data to store multiple IDs
* Update Anki note data
* Update test data
* Update docs
* Add url/voice options to audio sources
* Add help for TTS
* Remove old settings
* Update tests
* Update use of audio source URL
* Improve labels for sources with the same type
* Move sources to the end of audio options object
* Add custom-json audio source type
* Add support for downloading custom-json
* Remove customSourceType
* Simplify schema multi-push/pop
* Reverse order of schema path
* Reverse order of value path
* Simplify schema path structure
* Rename for better clarity
* 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
* 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.
* Ensure negative sequence is always -1
* Expose sequence on definition objects
* Update how sequence is exposed for definitions
* Update test data
* Update TS docs
* Improve sequence for merged entries and add sequenceDictionary
* Update docs
* Expose sequence in definitions
* Expose sequence in root definition
* Update test data
* Update dictionary settings structure to use an array instead of an object
* Update ensureDictionarySettings implementation
* Remove some usage of ObjectPropertyAccessor
* 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
* 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
* 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
* Remove redundant language assignment
* Segment furigana from DisplayGenerator
* Remove furiganaSegments from translator data
* Add backwards compatibility for furiganaSegments
* Update tests
* Add valid field
* Add isNoteDataValid function
* Update _areDefinitionsAddableForcedValue to return proper valid values
* Refactor isAnkiConnected check
* Force canAdd to false if not valid
* Move bg/js/anki.js to js/comm/anki.js
* Move bg/js/mecab.js to js/comm/mecab.js
* Move bg/js/search-main.js to js/display/search-main.js
* Move bg/js/template-patcher.js to js/templates/template-patcher.js
* Move bg/js/template-renderer-frame-api.js to js/templates/template-renderer-frame-api.js
* Move bg/js/template-renderer-frame-main.js to js/templates/template-renderer-frame-main.js
* Move bg/js/template-renderer-proxy.js to js/templates/template-renderer-proxy.js
* Move bg/js/template-renderer.js to js/templates/template-renderer.js
* Move bg/js/media-utility.js to js/media/media-utility.js
* Move bg/js/native-simple-dom-parser.js to js/dom/native-simple-dom-parser.js
* Move bg/js/simple-dom-parser.js to js/dom/simple-dom-parser.js
* Move bg/js/audio-downloader.js to js/media/audio-downloader.js
* Move bg/js/deinflector.js to js/language/deinflector.js
* Move bg/js/backend.js to js/background/backend.js
* Move bg/js/translator.js to js/language/translator.js
* Move bg/js/search-display-controller.js to js/display/search-display-controller.js
* Move bg/js/request-builder.js to js/background/request-builder.js
* Move bg/js/text-source-map.js to js/general/text-source-map.js
* Move bg/js/clipboard-reader.js to js/comm/clipboard-reader.js
* Move bg/js/clipboard-monitor.js to js/comm/clipboard-monitor.js
* Move bg/js/query-parser.js to js/display/query-parser.js
* Move bg/js/profile-conditions.js to js/background/profile-conditions.js
* Move bg/js/dictionary-database.js to js/language/dictionary-database.js
* Move bg/js/dictionary-importer.js to js/language/dictionary-importer.js
* Move bg/js/anki-note-builder.js to js/data/anki-note-builder.js
* Move bg/js/anki-note-data.js to js/data/anki-note-data.js
* Move bg/js/database.js to js/data/database.js
* Move bg/js/json-schema.js to js/data/json-schema.js
* Move bg/js/options.js to js/data/options-util.js
* Move bg/js/background-main.js to js/background/background-main.js
* Move bg/js/permissions-util.js to js/data/permissions-util.js
* Move bg/js/context-main.js to js/pages/action-popup-main.js
* Move bg/js/generic-page-main.js to js/pages/generic-page-main.js
* Move bg/js/info-main.js to js/pages/info-main.js
* Move bg/js/permissions-main.js to js/pages/permissions-main.js
* Move bg/js/welcome-main.js to js/pages/welcome-main.js