* Add rust nostr library.
* Build FetchedFeed abstractions to be used for representing fetched feeds.
* Replace some occurrences of SyndFeed with FetchedFeed where needed.
* Add a function for checking a Nostr URI. Modify other occurrences in AbstractRssRepository.
* Add validation for Nostr URIs.
* Actually take Nostr URIs into account when searching for feeds.
* Move fetchFeedFrom() to a companion object instead.
* Update Nostr-sdk library and add Proguard rules for the Nostr sdk library.
* Create a singleton DI module for the Nostr Client.
* Add some fixes for summary, and others.
* Include Jetbrains Markdown library.
* Introduce htmlFromMarkdown(), and use it where needed.
* Revert to using the Nostr URI for the article link, for full content support.
* Implement full content support for Nostr articles, by reusing the content, since it's all the same anyway.
* Switch to throwing an exception when no Nostr feed info is found.
* Add feed syncing for Nostr feeds.
* Use a new Nostr client instance for each syncing feed, to avoid race conditions when using the client.
* Change syncNostrFeed return signature. Improve Nostr feed syncing. Use randomUuid for Nostr article Ids.
* Add OPML feed support for Nostr feeds. Try getting metadata first before saving the feed(else it won't modify it later.)
* Just use the author's profile name as feed title when fetching feed.
* Fix RssHelperTest.
* Fix bug caused by non-differentiation between outlines and sub-outlines when handling sub-outlines.
* Re-use original code for importing feeds from OPML(for GH runner happiness, maybe).
* Revert previous change(just uncommenting code).
* Just return feed with empty article list if nothing is found.
* Manage Nostr Client lifecycle when using it during OPML import.
* Undo changes of previous commit.
* migrate to Gradle Kotlin DSL, version catalog and ksp
* replace buildDir with layout.buildDirectory
* declare plugins in version catalogs
* add room plugin
* specify type of keyPropsFile
* added missing version number in [versions]
* use alias instead of id whenever possible
* finishes replacing id with alias
* migrate pager
* Migrate to androidx.compose.foundation FlowLayouts
* add optin to avoid warning during build
* use nonFinalResIds for faster compilation
* use nonTransitiveRclass for faster compilation
* migrate smallTopAppBarColors to topAppBarColors
* migrate 'with(ExitTransition): ContentTransform' to togetherWith
* migrate fromHtml
* migrate TextFieldDefaults.textFieldColors to TextFieldDefaults.colors
* migrate get(...).toString() to getString(...)
* add optin
* rename Divider to HorizontalDivider