diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 4c02e24..fa05817 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -6,7 +6,7 @@ The operator's personal CV and portfolio, served at https://roanny.github.io/. T - `index.html` — the whole site: content, styles, the `i18n` dictionaries and the script. No framework, no build step. - `404.html` — the themed not-found page, self-contained. -- `favicon.svg`, `favicon-32.png`, `og-image.jpg` (the 1200×630 social card), `robots.txt`, `sitemap.xml`, `googlede4b53d1c977dbfc.html` (Search Console verification; never removed). +- `favicon.svg`, `favicon-32.png`, `og-image-2.jpg` (the 1200×630 social card), `robots.txt`, `sitemap.xml`, `googlede4b53d1c977dbfc.html` (Search Console verification; never removed). - `.nojekyll` — Pages serves the tree as it is, without Jekyll. - `.github/scripts/check_site.py`, `.github/htmlvalidate.json` — the site's own gates, run by `Validate`. @@ -16,6 +16,7 @@ The operator's personal CV and portfolio, served at https://roanny.github.io/. T - Preview: `python3 -m http.server 8000`, then http://localhost:8000 (`?lang=en|es` and `?theme=light|dark` force the language and the theme). - The gates by hand, as CI runs them: `npx --yes html-validate@11.16.0 --config .github/htmlvalidate.json index.html 404.html`, `python3 .github/scripts/check_site.py i18n`, `python3 .github/scripts/check_site.py sitemap`. - A content change updates `lastmod` in `sitemap.xml`. +- A changed social card takes a new filename (`og-image-.jpg`) and the three references in `index.html` (`og:image`, `twitter:image`, the JSON-LD `image`): LinkedIn, WhatsApp and X cache a card by its URL. After it is live, LinkedIn's Post Inspector (https://www.linkedin.com/post-inspector/) refetches it. ## Serving diff --git a/README.md b/README.md index cbb5160..c269a80 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ python3 -m http.server 8000 ├── index.html # The whole site: content, styles, i18n and script ├── 404.html # Themed not-found page, self-contained ├── favicon.svg # Favicon (sun over waves), with favicon-32.png as fallback -├── og-image.jpg # 1200×630 social card (LinkedIn, WhatsApp, X previews) +├── og-image-2.jpg # 1200×630 social card (LinkedIn, WhatsApp, X previews) ├── robots.txt # Allows indexing and points at the sitemap ├── sitemap.xml # Site map (update lastmod on content changes) ├── googlede4b53d1c977dbfc.html # Google Search Console verification @@ -47,7 +47,7 @@ The site shares its identity with [Coabana](https://coabana.github.io/): the sam ## SEO -`index.html` carries the canonical URL, `hreflang` (`en`, `es` and `x-default` through `?lang=`), Open Graph and Twitter cards with `og-image.jpg`, and `Person` JSON-LD (with the Coabana affiliation). After a content change, update `lastmod` in `sitemap.xml`. +`index.html` carries the canonical URL, `hreflang` (`en`, `es` and `x-default` through `?lang=`), Open Graph and Twitter cards with `og-image-2.jpg`, and `Person` JSON-LD (with the Coabana affiliation). After a content change, update `lastmod` in `sitemap.xml`. ## Development @@ -79,4 +79,4 @@ This site is not part of the Looker Developer Agent and names none of its produc The code — the HTML structure, CSS and JavaScript of `index.html` and `404.html`, and everything under `.github/` and `.claude/` — is licensed under Apache-2.0; see [`LICENSE`](LICENSE). -The personal data and the CV's text are not licensed: the name, contact details, profile, experience, certifications and skills, in the page, in its `i18n` dictionaries, in the structured data and in `og-image.jpg`, remain the author's, all rights reserved. The Coabana name and brand, which the page cites, are not licensed either. A fork that reuses the code replaces all of them with its own. +The personal data and the CV's text are not licensed: the name, contact details, profile, experience, certifications and skills, in the page, in its `i18n` dictionaries, in the structured data and in `og-image-2.jpg`, remain the author's, all rights reserved. The Coabana name and brand, which the page cites, are not licensed either. A fork that reuses the code replaces all of them with its own. diff --git a/index.html b/index.html index 5f851fa..0168acc 100644 --- a/index.html +++ b/index.html @@ -12,12 +12,12 @@ - + - + @@ -29,7 +29,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -48,7 +48,7 @@ "@type": "Person", "name": "Roanny Lamas López", "url": "https://roanny.github.io/", - "image": "https://roanny.github.io/og-image.jpg", + "image": "https://roanny.github.io/og-image-2.jpg", "jobTitle": "Data Engineer", "worksFor": { "@type": "Organization", "name": "Viajes El Corte Inglés" }, "affiliation": { @@ -77,16 +77,16 @@ } - + - + - +