* Add support for structured-content data attributes
* Assign dataset properties
* Don't remove data-sc attributes
* Use helper functions
* Update test data
* 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
* 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
* Organize
* Add utility to get diacritic information about a character
* Show mora without diacritic
* Add a hidden handakuten for copy-paste purposes
* 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
* 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
* 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
* 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 error handling of _areDictionaryEntriesAddable
* Store note details
* Remove promise after use
* Rename function
* Clear stored details
* Rename function
* Rename function
* Add support for imageRendering
* Make crisp-edges appearance on Firefox more similar to Chrome
* Refactor
* Add background option
* Move data-image-rendering attribute
* Restructure
* Organize
* Add support for appearance
* Update test dictionary
* Update tests
* 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
* Update how options are updated and stored in DisplayAudio
* Add source list
* Improve menus for custom json
* Clear cache after options update
* Move function
* Update public API
* Simplify playing audio from a specific source
* Simplify audio list
* Refactor audio source usage
* Refactoring
* Refactor argument names
* Fix incorrect source usage
* Remove unused
* Remove return value
* Simplify details
* Simplify Anki card audio details
* Update the data that is passed to AudioDownloader
* Simplify schema handling
* Remove unnecessary details
* Move sources to the end of audio options object
* Add custom-json audio source type
* Add support for downloading custom-json
* Remove customSourceType