* Add media streaming (#108)
* [WIP] set up streaming route
* Added UUID to sources and media items
* Added media preview to MI show page
* Added plug to strip file extensions
* [VERY WIP] basic podcast RSS setup
* [WIP] got basic podcast RSS working
* [WIP] more expanding on RSS
* Comment
* [WIP] Working on refactoring feed
* Added UUID backfill to a migration
* [WIP] Moar refactoring
* [WIP] Adding UI for getting RSS feed
* Many tests
* Added conditional routing for feed URLs
* Removed the need for url_base to be set
* Updated preset name
* Rendered certain fields HTML-safe; Added logging to confirm range request support
* Fixed incorrect scheme issue
* Updated env var
* Updated other UI to use dropdown
* removed commented code
* Generate rss feeds (#123)
* Added plug to strip file extensions
* [VERY WIP] basic podcast RSS setup
* [WIP] got basic podcast RSS working
* [WIP] more expanding on RSS
* [WIP] Working on refactoring feed
* Added UUID backfill to a migration
* [WIP] Moar refactoring
* [WIP] Adding UI for getting RSS feed
* Many tests
* Added conditional routing for feed URLs
* Removed the need for url_base to be set
* Updated preset name
* Rendered certain fields HTML-safe; Added logging to confirm range request support
* Fixed incorrect scheme issue
* Updated env var
* Updated other UI to use dropdown
* removed commented code
* docs
* Added unique index to UUID fields
* Improved custom YYYY-MM-DD output template option
* Clarified embedding vs. downloading on media profile form
* Improved form helpers more; Added a helper to every field
* Removed collection_type user input instead inferring from yt-dlp response
* Updated docs
* Added delete buttons for source; Refactored the way deletion methods work
* Update source to always run an initial index
* Added deletion to the last models
* Improved clarity around deletion operation
* Improved task fetching and deletion methods
* More tests