feat: add OpenGraph metadata to brew pages (#7)
Add dynamic OpenGraph and Twitter Card metadata support for brew pages
to enable rich social sharing previews.
Changes:
- Extend LayoutData with OG fields (OGTitle, OGDescription, OGImage, OGType, OGUrl)
- Add helper methods with fallbacks to site defaults
- Update layout.templ to render dynamic meta tags
- Add populateBrewOGMetadata() helper in handlers
- Pass PublicURL through handler config for absolute URLs
- Add comprehensive tests for OG metadata generation
When sharing brew links, previews now show:
- Bean name and origin as title
- Rating, tasting notes, and roaster in description
- Proper article type for social platforms
authored by