diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a55022..f0d6898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,35 @@ No unreleased changes at this time. --- +## [5.2.0] - 2026-02-06 + +### Added +- **Social Meta Tags**: Open Graph and Twitter Card meta tags for rich link previews + - `og:type`, `og:site_name`, `og:title`, `og:description`, `og:url`, `og:image` with dimensions + - `twitter:card` (summary_large_image), `twitter:title`, `twitter:description`, `twitter:image` + - `meta[name="description"]` populated from `data/components.yml` +- **Social Preview Image**: Added `logo-meta.png` (1280x640) for link sharing across social platforms + +### Changed +- **Site Tagline**: Updated from "How can we help you?" to "Engineering Excellence" in `data/components.yml` +- **Title Consistency**: Browser title, OG title, and Twitter title now all render from `data/components.yml` vars (`social.formalname` and `social.focus`) instead of hardcoded strings +- **Title Partial**: `_title.html.slim` refactored to use data vars for maintainability +- **Meta Image Helper**: OG and Twitter image tags use `image_url` helper from `config.rb` for correct local and production URL resolution +- **Index Frontmatter**: Removed redundant `title` field to avoid triple-segment title + +### Developer Notes + +**Files Modified:** +- `data/components.yml` - Updated `social.focus` tagline +- `source/partials/components/_header.html.slim` - Added all meta tags (description, OG, Twitter Card) +- `source/partials/components/_title.html.slim` - Refactored to use data vars +- `source/index.html.slim` - Removed frontmatter `title` field +- `source/assets/images/logos/logo-meta.png` - New social preview image (1280x640) + +**Reference**: Feature branch `feature/version_5_2_0` + +--- + ## [5.1.1] - 2026-02-06 ### Fixed @@ -813,6 +842,7 @@ The first tagged release of the personal branding website. | Version | Date | Type | Key Changes | LOC Impact | |---------|------|------|-------------|------------| +| 5.2.0 | 2026-02-06 | Minor | Social meta tags (OG, Twitter Card), tagline update | +5 files | | 5.1.1 | 2026-02-06 | Patch | Fix brand badge mobile alignment | Minimal | | 5.1.0 | 2026-02-05 | Minor | Button refactor, iPad responsive fixes, legacy cleanup | -3,800 lines | | 5.0.0 | 2026-02-03 | Major | Visual redesign, blueprint aesthetic, SVG schematics, Ruby 4.0.0 | New design system, +3 gems | diff --git a/data/components.yml b/data/components.yml index b8fe2db..846b717 100644 --- a/data/components.yml +++ b/data/components.yml @@ -4,7 +4,7 @@ social: shortname: RobotsBuildingRobots formalname: RobotsBuildingRobots, LLC founder: Chris Hough - focus: How can we help you? + focus: Engineering Excellence linkedin: https://www.linkedin.com/company/robots-building-robots/ meta: diff --git a/readme.md b/readme.md index 424458e..63e9bda 100644 --- a/readme.md +++ b/readme.md @@ -193,10 +193,11 @@ Content managed through YAML files in `data/`: See [CHANGELOG.md](CHANGELOG.md) for detailed version history and architectural decisions. -**Current Version**: 5.1.0 +**Current Version**: 5.2.0 Major releases: - **v5.x (2026)**: Complete visual redesign with blueprint/schematic aesthetic, animated SVG schematics, Ruby 4.0.0 upgrade + - v5.2.0: Social meta tags (Open Graph, Twitter Card), tagline update - v5.1.0: Button system refactor, iPad responsive fixes, legacy cleanup - **v4.x (2025)**: Infrastructure modernization, environment-based configuration - **v3.x (2021-2025)**: Complete redesign with custom design system diff --git a/source/assets/images/logos/logo-meta.png b/source/assets/images/logos/logo-meta.png new file mode 100644 index 0000000..6dbed11 Binary files /dev/null and b/source/assets/images/logos/logo-meta.png differ diff --git a/source/index.html.slim b/source/index.html.slim index b099d1d..d3f0906 100644 --- a/source/index.html.slim +++ b/source/index.html.slim @@ -1,7 +1,6 @@ --- id: blueprint layout: landing -title: RobotsBuildingRobots --- / BLUEPRINT - Engineering Excellence diff --git a/source/partials/components/_header.html.slim b/source/partials/components/_header.html.slim index b40f889..dc9960c 100644 --- a/source/partials/components/_header.html.slim +++ b/source/partials/components/_header.html.slim @@ -3,6 +3,31 @@ head meta[name="viewport" content="width=device-width, initial-scale=1"] = partial "partials/components/title" + / Meta Description + meta[name="description" content=data.components.meta.description] + + / Open Graph + meta[property="og:type" content="website"] + meta[property="og:site_name" content=data.components.social.formalname] + - if current_page.data.title + meta[property="og:title" content="#{data.components.social.formalname} | #{data.components.social.focus} | #{current_page.data.title}"] + - else + meta[property="og:title" content="#{data.components.social.formalname} | #{data.components.social.focus}"] + meta[property="og:description" content=data.components.meta.description] + meta[property="og:url" content=data.components.url] + meta[property="og:image" content=image_url("logos/logo-meta.png")] + meta[property="og:image:width" content="1280"] + meta[property="og:image:height" content="640"] + + / Twitter Card + meta[name="twitter:card" content="summary_large_image"] + - if current_page.data.title + meta[name="twitter:title" content="#{data.components.social.formalname} | #{data.components.social.focus} | #{current_page.data.title}"] + - else + meta[name="twitter:title" content="#{data.components.social.formalname} | #{data.components.social.focus}"] + meta[name="twitter:description" content=data.components.meta.description] + meta[name="twitter:image" content=image_url("logos/logo-meta.png")] + / FORGE Design System Fonts / - Playfair Display: Hero headlines, editorial gravitas / - Inter: Section headers, maximum readability diff --git a/source/partials/components/_title.html.slim b/source/partials/components/_title.html.slim index dd44662..0122306 100644 --- a/source/partials/components/_title.html.slim +++ b/source/partials/components/_title.html.slim @@ -1,5 +1,5 @@ title - if current_page.data.title - = "RobotsBuildingRobots, LLC | How can we help you? | #{current_page.data.title}" + = "#{data.components.social.formalname} | #{data.components.social.focus} | #{current_page.data.title}" - else - = "RobotsBuildingRobots, LLC | How can we help you?" + = "#{data.components.social.formalname} | #{data.components.social.focus}"