Skip to content

Conversation

@ritorhymes
Copy link
Contributor

@ritorhymes ritorhymes commented Dec 27, 2025

Description

Adds Open Graph (OG) metadata support with per-page overrides, including dedicated OG images for the A01–A10 pages.

Specifically, it:

  • Enables reading page metadata from Markdown front matter (title, description, OG type, and OG image).
  • Adds main.html to centralize OG metadata output and extend base.html.
  • Adds a global default OG image used unless a page specifies its own.
  • Adds dedicated OG images for the A01–A10 pages.
  • Adds a custom description per page (falls back to the global default if missing).
  • Applies OG type "article" to A01–A10 pages and "website" to other pages by default.
  • Adds custom titles via front matter, with - OWASP Top 10 appended for consistency.

Pages without front matter (or missing properties) will fall back to the global OG defaults.

All OG images use established branding already present in the site (fonts, logos, colors, and visual style).

Note (while in draft stage)
Open Graph is metadata used by social platforms and many other apps to generate a preview card when a URL is shared. Each page can provide its own OG metadata, or inherit a global default. Generally an image, a short title and a description (up to around 150 or so characters before truncation) are displayed. For best link-preview rendering on high-resolution displays, OG images are typically authored at ~1200×630 (1.91:1), and key content should be kept safely centered since many UIs crop them into square previews.

Titles/descriptions may be truncated or omitted entirely depending on platform and UI.

Testing

You can visit this demo site top10.ritovision.com and then in any page check via browser dev tools inside the <head> for <meta property="og:*"> tags. You should see metadata corresponding to the front matter in md files or falling back to globals found in main.html.

@ritorhymes ritorhymes marked this pull request as ready for review December 29, 2025 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant