docs: v1.0.1 — ajustar MDs a estado real del proyecto (WP 7.0, producción .3, symlinks relativos, favicon, changelog)

This commit is contained in:
2026-06-05 13:48:21 -05:00
parent 2fc1db8c6c
commit 2dad4a0197
4 changed files with 60 additions and 32 deletions
+12
View File
@@ -4,6 +4,18 @@ Formato: `X.Y.Z` según `VERSIONADO.md`
--- ---
## [1.0.1] — 2026-06-05
### Correcciones post-deploy a producción
- **Servicio PHP en `0.0.0.0`** — cambiado de `127.0.0.1` a `0.0.0.0:8081` para que NPM pueda alcanzarlo desde fuera del loopback.
- **Symlinks con ruta relativa** — `persona-cv`, `lumina` y `cvolio` en `wp-content/themes/` ahora usan `../../../../frontend/...` en vez de rutas absolutas del equipo de desarrollo; funcionan en cualquier servidor.
- **favicon.ico circular** — generado desde la foto de Patricia con ImageMagick, 16/32/48 px, alpha=0 en esquinas (círculo real sin fondo cuadrado).
- **NPM Cache Assets** — documentado el comportamiento de cachéo de errores 502/404 y su solución (toggle off/on).
- **`.gitignore`** — añadido `upgrade-temp-backup/` generado por WordPress.
---
## [1.0.0] — 2026-06-05 ## [1.0.0] — 2026-06-05
### Lanzamiento inicial completo ### Lanzamiento inicial completo
+31 -25
View File
@@ -23,51 +23,57 @@ Sitio web personal de **hoja de vida / currículum ejecutivo** de **Patricia Sol
pflores.linkedcorp.net/ pflores.linkedcorp.net/
├── backend/ ├── backend/
│ ├── start-wordpress.sh # Arrancar el servidor PHP │ ├── start-wordpress.sh # Arrancar el servidor PHP
│ └── wordpress/ # Instalación WordPress │ └── wordpress/ # Instalación WordPress 7.0
│ ├── wp-config.php # Config dinámica (URL, auto-updates OFF) │ ├── wp-config.php # Config dinámica (URL, auto-updates OFF)
│ ├── favicon.ico # Foto de Patricia, circular, 16/32/48px
│ └── wp-content/ │ └── wp-content/
│ ├── plugins/ │ ├── plugins/
│ │ ├── cmb2/ # CMB2 — campos personalizados (GRATIS) │ │ ├── cmb2/ # CMB2 — campos personalizados (GRATIS)
│ │ ├── wp-mail-smtp/ # Email SMTP (pendiente config)
│ │ └── pflores-cv-fields/ │ │ └── pflores-cv-fields/
│ │ ├── pflores-cv-fields.php # Menú admin + campos CMB2 │ │ ├── pflores-cv-fields.php # Menú admin + campos CMB2
│ │ ├── pdf-generator.php # Generador PDF con Chromium │ │ ├── pdf-generator.php # Generador PDF con Chromium
│ │ └── populate-data.php # Sembrador inicial (ejecutar 1 vez) │ │ └── populate-data.php # Sembrador inicial (ejecutar 1 vez)
│ └── themes/ │ └── themes/
│ ├── persona-cv/ # ACTIVO — Personage-style, rojo, timeline central │ ├── apex-cv/ # Directorio REAL — Dark, cian, sidebar fijo
│ ├── apex-cv/ # Dark, cian, sidebar fijo izquierdo │ ├── persona-cv -> ../../../../frontend/persona-cv-theme # symlink relativo
│ ├── lumina -> ../../frontend/lumina-cv-theme # symlink │ ├── lumina -> ../../../../frontend/lumina-cv-theme # symlink relativo
│ ├── cvolio -> ../../frontend/cvfolio-theme # symlink │ └── cvolio -> ../../../../frontend/cvfolio-theme # symlink relativo
│ └── ...
├── frontend/ ├── frontend/
│ ├── persona-cv-theme/ # Fuente del tema activo (usa symlink persona-cv) │ ├── persona-cv-theme/ # ACTIVO — Personage-style, rojo, Raleway
│ │ ├── style.css # Solo cabecera del tema │ │ ├── style.css
│ │ ├── functions.php # Setup, enqueue, helpers │ │ ├── functions.php
│ │ ├── header.php # Header con nav y botón PDF │ │ ├── header.php # Nav + botón "Descargar CV PDF"
│ │ ├── footer.php │ │ ├── footer.php
│ │ ├── front-page.php # PLANTILLA PRINCIPAL — toda la página CV │ │ ├── front-page.php # Plantilla principal del CV
│ │ ├── index.php # Fallback │ │ ├── index.php
│ │ ├── assets/css/theme.css # Estilos completos │ │ ├── assets/css/theme.css
│ │ ├── assets/js/theme.js # JS (nav, scroll spy, animaciones) │ │ ├── assets/js/theme.js
│ │ ├── assets/images/ # patricia-flores-profile.jpeg, qr.png │ │ ├── assets/images/ # patricia-flores-profile.jpeg, qr.png
│ │ ├── assets/docs/ # CV_Patricia_Flores_Sanchez_ES_FINAL.docx │ │ ├── assets/docs/ # CV_Patricia_Flores_Sanchez_ES_FINAL.docx
│ │ └── inc/ │ │ └── inc/
│ │ ├── cv-data.php # Fallback hardcodeado (función persona_cv_data()) │ │ ├── cv-data.php # Fallback hardcodeado (función persona_cv_data())
│ │ ├── customizer.php # Campos Customizer (mínimos) │ │ ├── customizer.php
│ │ └── visits.php # Contador de visitas │ │ └── visits.php
│ ├── lumina-cv-theme/ # Tema claro teal+ámbar, sidebar izquierdo │ ├── lumina-cv-theme/ # Claro, teal+ámbar, sidebar izquierdo
│ ├── cvfolio-theme/ # Tema oscuro glassmorphism (original) │ └── cvfolio-theme/ # Oscuro, glassmorphism original
│ └── apex-cv-theme/ # OBSOLETO — usar wp-content/themes/apex-cv ├── otros/ # Archivos de referencia (foto, QR, docx original)
├── docs/ ├── docs/
│ └── instalacion-wordpress.md │ └── instalacion-wordpress.md
├── .env # Variables de entorno (DB, puerto, etc.) ├── .env # Local, no versionado
├── .env.example
├── VERSION
├── CHANGELOG.md
├── VERSIONADO.md
├── PRODUCCION.md
├── DEPLOY_WEB.md
├── PROMPT_IA.md # ESTE ARCHIVO ├── PROMPT_IA.md # ESTE ARCHIVO
└── README.md └── README.md
``` ```
> **NOTA IMPORTANTE:** El tema `apex-cv` vive directamente en > **Temas:** `apex-cv` vive en `wp-content/themes/apex-cv/` como directorio real (no symlink).
> `backend/wordpress/wp-content/themes/apex-cv/` (directorio real, no symlink) > Los otros 3 temas usan **symlinks con ruta relativa** (`../../../../frontend/...`)
> porque el directorio `frontend/apex-cv-theme/` tiene un problema de persistencia. > para funcionar tanto en desarrollo como en producción sin cambios.
> Los demás temas activos usan symlinks desde `wp-content/themes/` hacia `frontend/`.
--- ---
@@ -664,7 +670,7 @@ php -l /ruta/al/tema/functions.php
| CMB2 / plugin no carga | Serialización incorrecta en `active_plugins` | Regenerar con `php -r "echo serialize([...]);"` | | CMB2 / plugin no carga | Serialización incorrecta en `active_plugins` | Regenerar con `php -r "echo serialize([...]);"` |
| `pflores_get_cv_data()` retorna vacío | Datos no guardados en BD | Re-ejecutar `populate-data.php?key=pflores2024` + limpiar caché | | `pflores_get_cv_data()` retorna vacío | Datos no guardados en BD | Re-ejecutar `populate-data.php?key=pflores2024` + limpiar caché |
| Apex-cv vacío o sin archivos | Tema apex-cv depende de directorio real, no symlink | Los archivos van en `wp-content/themes/apex-cv/`, no en `frontend/` | | Apex-cv vacío o sin archivos | Tema apex-cv depende de directorio real, no symlink | Los archivos van en `wp-content/themes/apex-cv/`, no en `frontend/` |
| CSS/JS con 404 tras clonar en servidor nuevo | Symlinks de temas usan ruta absoluta del equipo de dev | Recrear symlinks con ruta absoluta del servidor real (ver `PRODUCCION.md` → Problemas conocidos) | | CSS/JS con 404 tras clonar en servidor nuevo | Symlinks corruptos o rotos | Los symlinks en git usan **ruta relativa** (`../../../../frontend/...`) — si están rotos, ver `PRODUCCION.md` → Problemas conocidos |
| 502 persistente en favicon u otros estáticos tras haberlo corregido | NPM **Cache Assets** cachéo la respuesta 502/404 anterior | En NPM: desactivar Cache Assets → guardar → reactivar → guardar. Para CV puede quedar desactivado. | | 502 persistente en favicon u otros estáticos tras haberlo corregido | NPM **Cache Assets** cachéo la respuesta 502/404 anterior | En NPM: desactivar Cache Assets → guardar → reactivar → guardar. Para CV puede quedar desactivado. |
| PDF vacío o error 500 | Chromium no encontrado o falla | `which chromium chromium-browser google-chrome` | | PDF vacío o error 500 | Chromium no encontrado o falla | `which chromium chromium-browser google-chrome` |
| `update_option` no guarda | Caché de WordPress | Limpiar transients (ver sección 17) | | `update_option` no guarda | Caché de WordPress | Limpiar transients (ver sección 17) |
+16 -6
View File
@@ -4,13 +4,14 @@ Sitio web de currículum ejecutivo de **Patricia Soledad Flores Sánchez** — G
## Stack ## Stack
- **CMS:** WordPress 6.x (PHP 8.4, servidor PHP integrado) - **CMS:** WordPress 7.0 (PHP 8.x, servidor PHP integrado)
- **Base de datos:** MariaDB en `192.168.222.20` - **BD desarrollo:** MariaDB en `192.168.222.20`
- **BD producción:** MariaDB en `192.168.222.32`
- **Campos del CV:** CMB2 (100 % gratuito, GPL) - **Campos del CV:** CMB2 (100 % gratuito, GPL)
- **PDF:** Chromium headless (`/?cv_pdf=1`) - **PDF:** Chromium headless (`/?cv_pdf=1`)
- **Email:** WP Mail SMTP (configurable) - **Email:** WP Mail SMTP (pendiente configuración SMTP)
- **Deploy:** Debian 12 · Nginx Proxy Manager → `192.168.222.40:8081` - **Servidor producción:** `192.168.222.3:8081` · Nginx Proxy Manager → `https://pflores.linkedcorp.net`
- **URL pública:** `https://pflores.linkedcorp.net` - **Servidor desarrollo:** `192.168.222.40:8081`
## Estructura ## Estructura
@@ -24,14 +25,23 @@ pflores.linkedcorp.net/
│ ├── start-wordpress.sh │ ├── start-wordpress.sh
│ └── wordpress/ │ └── wordpress/
│ ├── wp-config.php │ ├── wp-config.php
│ ├── favicon.ico ← foto de Patricia, circular, 16/32/48px
│ └── wp-content/ │ └── wp-content/
│ ├── plugins/pflores-cv-fields/ ← plugin propio: CMB2 + PDF │ ├── plugins/pflores-cv-fields/ ← plugin propio: CMB2 + PDF
│ └── themes/apex-cv/ ← tema oscuro cian │ └── themes/
│ ├── apex-cv/ ← directorio real (tema oscuro cian)
│ ├── persona-cv → ../../../../frontend/persona-cv-theme
│ ├── lumina → ../../../../frontend/lumina-cv-theme
│ └── cvolio → ../../../../frontend/cvfolio-theme
├── otros/ ← archivos de referencia (foto, QR, docx original)
├── docs/ ├── docs/
├── .env ← local, no versionado ├── .env ← local, no versionado
├── .env.example ├── .env.example
├── VERSION ├── VERSION
├── CHANGELOG.md ├── CHANGELOG.md
├── VERSIONADO.md
├── PRODUCCION.md
├── DEPLOY_WEB.md
├── PROMPT_IA.md ← guía completa para IA ├── PROMPT_IA.md ← guía completa para IA
└── README.md └── README.md
``` ```
+1 -1
View File
@@ -1 +1 @@
1.0.0 1.0.1