fix: trailing-slash URLs 404 broke link previews; tighten OG tags
Trailing slash on project URLs (e.g. /explore/handle/) returned 404, so
Bluesky Cardyb and other unfurlers saw no HTML and produced empty cards.
Add middleware to 308-redirect GET/HEAD to the canonical path without a
trailing slash.
Project pages: set og:url + link rel=canonical to the share URL, use
og:type website for broader parser compatibility, and emit twitter:title /
twitter:description alongside existing Twitter card image tags.
Made-with: Cursor