## Issue
Category cards are showing up as "odysee.com" cards in Facebook.
## Change
- `og:url` is supposed to be the canonical URL. It was hardcoded to "odysee.com", so every category was being redirected when the card is being generated.
- Removed `twitter:url`. The documentation says it will fall back to `og:url`, so there is not need to define both if it's the same.
## Issue
7166 improve search metadata
Depending on the search term and timing, Google extracts data from the sidebar or page content to use as the search-result description.
## Change
Defined `description` (on top of the existing `og:description` and `twitter:description`.
While I couldn't find a definitive doc saying that this is the solution, this is present in all other sites (and matches their description in a Google Search results).
## Issue
5951: OG messed up if `$"` is in title
The replacement string would contain `...$"...`. The character `$&` has special meaning in `replace`, so the output was messed up.
## Approach
Use a direct slice approach. A bit less elegant.
## Issue
Closes 5923 video metadata issues
## Notes
For thumbnails, future claims should have correct thumbnails after `5925 Fix thumbnail-checking and block 'data:image'`. For existing claims, we'll just skip the metadata to avoid the crawler error. Users can easily update their thumbnails.
For the `OlivOliv` thumbnail url case, I wasn't sure whether to go all out to fetch and verify each thumbnail. I ended up just checking whether it starts with `http(s)`
This adds the following metadata to content pages:
- Channel name: og:video:series
- Duration/Audio Duration: og:video:duration
- Release time: og:video:release_date
language and API consts
improve customization
custom homepages
get config from .env.default
custom title and logo
small changes
add pinned item to sidebar
rebase?