feat(i18n): add Catalan primary with /ca/ and /es/ URL structure
Introduce bilingual site routing with Catalan as primary language and x-default, plus Spanish as the alternate. Each page declares its own canonical, full hreflang block, locale and locale:alternate, and a language-specific og:image. A top-right selector (CA | ES) lives in every <header> with aria-current set on the active language. - /ca/index.html: Catalan translation of the full editorial (title, meta, hero, six body sections, chart titles/desc/figcaption, footer). - /es/index.html: previous Spanish content moved under /es/, with updated canonical and metadata. - og-image-ca.jpg and og-image-es.jpg: separate 1200x630 social images. - og-image.jpg removed (no longer cross-language). - sitemap.xml rewritten to list both URLs with xhtml:link hreflang annotations and x-default. - README and CHANGELOG updated to document the new structure.
This commit is contained in:
+9
-1
@@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## 0.3.0 — 2026-07-30
|
||||
|
||||
- `feat(i18n)`: añade el catalán como idioma principal con estructura de URL `/ca/` (x-default) y `/es/`.
|
||||
- `feat(seo)`: bloque `hreflang` completo (ca, es, x-default) y `og:locale:alternate` en cada página, más `canonical` por idioma.
|
||||
- `feat(media)`: imágenes sociales separadas por idioma (`og-image-ca.jpg`, `og-image-es.jpg`); se elimina el antiguo `og-image.jpg` monolingüe.
|
||||
- `feat(ui)`: selector de idioma en la esquina superior derecha del `<header>` (`CA | ES`), con `aria-current="page"` en el idioma activo.
|
||||
- `chore(meta)`: `sitemap.xml` reescrito para listar ambas URLs con anotaciones `hreflang` completas.
|
||||
|
||||
## 0.2.0 — 2026-07-30
|
||||
|
||||
- Removed build pipeline (no more Node.js, no more `node_modules`, no more `src`/`dist` split).
|
||||
@@ -11,4 +19,4 @@
|
||||
- Publicación inicial del editorial estático sobre el Decreto 25/2018 y la evolución de la posidonia.
|
||||
- Gráficos accesibles como SVG en línea y metadatos SEO/NewsArticle, sin JavaScript de cliente ni fuentes web.
|
||||
- Pipeline Node.js con `lightningcss`, `html-minifier-terser` y `sharp` para generar los artefactos de `dist/`.
|
||||
- Preparación para despliegue estático en Coolify sobre Hetzner y el subdominio `posidonia.eivissaenvironmentalwatch.es`.
|
||||
- Preparación para despliegue estático en Coolify sobre Hetzner y el subdominio `posidonia.eivissaenvironmentalwatch.es`.
|
||||
@@ -2,11 +2,30 @@
|
||||
|
||||
## Qué es Posidonia
|
||||
|
||||
Sitio editorial estático en español sobre el seguimiento de la *Posidonia oceanica* ocho años después del Decreto 25/2018. Sintetiza datos de GEN-GOB y Amics de la Terra Eivissa con HTML semántico, CSS y gráficos SVG, sin JavaScript de cliente ni servicios de terceros.
|
||||
Sitio editorial estático en catalán y español sobre el seguimiento de la *Posidonia oceanica* ocho años después del Decreto 25/2018. Sintetiza datos de GEN-GOB y Amics de la Terra Eivissa con HTML semántico, CSS y gráficos SVG, sin JavaScript de cliente ni servicios de terceros.
|
||||
|
||||
## Estructura
|
||||
|
||||
```
|
||||
/
|
||||
├── ca/
|
||||
│ └── index.html # Català (primari, x-default)
|
||||
├── es/
|
||||
│ └── index.html # Castellano
|
||||
├── og-image-ca.jpg # 1200×630, imatge social per a /ca/
|
||||
├── og-image-es.jpg # 1200×630, imatge social per a /es/
|
||||
├── robots.txt
|
||||
└── sitemap.xml # enumera /ca/ i /es/ amb hreflang complet
|
||||
```
|
||||
|
||||
- `/ca/` és l'idioma principal (`hreflang="x-default"`).
|
||||
- `/es/` és l'alternativa en castellà.
|
||||
- Cada pàgina porta un selector d'idioma a la cantonada superior dreta del `<header>` (`CA | ES`), amb `aria-current="page"` a l'idioma actiu.
|
||||
- Tots dos documents declaren `<link rel="alternate" hreflang="…">` per a l'altra llengua i per a `x-default`, més el seu propi `canonical`.
|
||||
|
||||
## Build
|
||||
|
||||
No build step required. The `index.html`, `robots.txt`, `sitemap.xml` and `og-image.jpg` in this repo root are deployed as-is.
|
||||
No build step required. The two `index.html` files, `robots.txt`, `sitemap.xml` and the two `og-image-*.jpg` files in this repo root are deployed as-is.
|
||||
|
||||
## Deploy
|
||||
|
||||
@@ -21,4 +40,4 @@ La página usa tipografías del sistema, CSS y SVG en línea, cero scripts exter
|
||||
## Contacto
|
||||
|
||||
<!-- TODO: [reemplazar con email real del mantenedor si es diferente] -->
|
||||
Escribe a [contacto@posidonia.eivissaenvironmentalwatch.es](mailto:contacto@posidonia.eivissaenvironmentalwatch.es).
|
||||
Escribe a [contacto@posidonia.eivissaenvironmentalwatch.es](mailto:contacto@posidonia.eivissaenvironmentalwatch.es).
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-18
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
+14
-5
@@ -1,9 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>https://posidonia.eivissaenvironmentalwatch.es/</loc>
|
||||
<loc>https://posidonia.eivissaenvironmentalwatch.es/ca/</loc>
|
||||
<lastmod>2026-07-30</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
<xhtml:link rel="alternate" hreflang="ca" href="https://posidonia.eivissaenvironmentalwatch.es/ca/"/>
|
||||
<xhtml:link rel="alternate" hreflang="es" href="https://posidonia.eivissaenvironmentalwatch.es/es/"/>
|
||||
<xhtml:link rel="alternate" hreflang="x-default" href="https://posidonia.eivissaenvironmentalwatch.es/ca/"/>
|
||||
</url>
|
||||
</urlset>
|
||||
<url>
|
||||
<loc>https://posidonia.eivissaenvironmentalwatch.es/es/</loc>
|
||||
<lastmod>2026-07-30</lastmod>
|
||||
<xhtml:link rel="alternate" hreflang="ca" href="https://posidonia.eivissaenvironmentalwatch.es/ca/"/>
|
||||
<xhtml:link rel="alternate" hreflang="es" href="https://posidonia.eivissaenvironmentalwatch.es/es/"/>
|
||||
<xhtml:link rel="alternate" hreflang="x-default" href="https://posidonia.eivissaenvironmentalwatch.es/ca/"/>
|
||||
</url>
|
||||
</urlset>
|
||||
Reference in New Issue
Block a user