- ✅ Herramientas nuevas: * Temporizador de RCP con alertas cada 2 minutos * Calculadora de Duración de Botella de Oxígeno * Calculadora de Goteo (gotas/min y ml/h) * Tabla de perfusión Adrenalina agregada - ✅ Actualización Protocolo RCP: * Orden actualizado: Comprobar consciencia → Llamar 112 → Iniciar RCP * Aplicado a RCP Adulto SVB y Pediátrico - ✅ Cambios UI: * Botones de emergencias críticas con fondo negro y texto blanco * Enlaces de códigos corregidos - ✅ Medicación TES: * Nueva sección separada para medicación autorizada bajo prescripción * Aviso legal prominente * Sin dosis ni decisiones clínicas - ✅ Correcciones: * Errores de sintaxis JSX corregidos (símbolos < y >) * Favicon SVG actualizado * GitHub Pages configurado correctamente
157 lines
4.9 KiB
Markdown
157 lines
4.9 KiB
Markdown
# ✅ Correcciones de GitHub Pages - COMPLETADAS
|
|
|
|
**Fecha:** 2025-12-17
|
|
|
|
---
|
|
|
|
## 🔍 Problemas Identificados y Corregidos
|
|
|
|
### ✅ Problema 1: Base Path No Configurado
|
|
**Problema:** `vite.config.ts` no tenía configurado el `base` path para GitHub Pages.
|
|
**Solución:** ✅ Agregado detección automática del base path basado en variables de entorno.
|
|
|
|
**Cambios en `vite.config.ts`:**
|
|
```typescript
|
|
// Detectar si estamos en GitHub Pages
|
|
const isGitHubPages = process.env.GITHUB_PAGES === 'true';
|
|
const repositoryName = process.env.GITHUB_REPOSITORY_NAME || 'guia-tes-digital';
|
|
const base = isGitHubPages ? `/${repositoryName}/` : '/';
|
|
|
|
export default defineConfig({
|
|
base: base, // ✅ Configurado para GitHub Pages
|
|
// ...
|
|
});
|
|
```
|
|
|
|
### ✅ Problema 2: Rutas SPA No Funcionaban
|
|
**Problema:** GitHub Pages devuelve 404 para rutas como `/manual` porque no existen físicamente.
|
|
**Solución:** ✅ Creado `public/404.html` que redirige todas las rutas al `index.html` para que React Router las maneje.
|
|
|
|
**Archivo creado:** `public/404.html`
|
|
- Detecta automáticamente el base path del repositorio
|
|
- Redirige todas las rutas no estáticas al `index.html`
|
|
- Permite que React Router maneje las rutas SPA correctamente
|
|
|
|
### ✅ Problema 3: Workflow Sin Environment Configurado
|
|
**Problema:** El workflow no tenía el `environment` configurado correctamente.
|
|
**Solución:** ✅ Agregado `environment: github-pages` con URL de salida.
|
|
|
|
**Cambios en `.github/workflows/deploy.yml`:**
|
|
```yaml
|
|
jobs:
|
|
build-and-deploy:
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
# ...
|
|
```
|
|
|
|
### ✅ Problema 4: Variables de Entorno No Pasadas al Build
|
|
**Problema:** El build no recibía información sobre el repositorio para configurar el base path.
|
|
**Solución:** ✅ Agregado paso para extraer el nombre del repositorio y pasarlo al build.
|
|
|
|
**Cambios en `.github/workflows/deploy.yml`:**
|
|
```yaml
|
|
- name: Extract repository name
|
|
id: repo
|
|
run: |
|
|
REPO_NAME=$(echo "${{ github.repository }}" | cut -d'/' -f2)
|
|
echo "repository_name=$REPO_NAME" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build
|
|
env:
|
|
GITHUB_PAGES: 'true'
|
|
GITHUB_REPOSITORY_NAME: ${{ steps.repo.outputs.repository_name }}
|
|
run: npm run build
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 Archivos Modificados
|
|
|
|
1. ✅ `vite.config.ts` - Agregado base path dinámico
|
|
2. ✅ `.github/workflows/deploy.yml` - Mejorado con environment y variables
|
|
3. ✅ `public/404.html` - Creado para manejar rutas SPA
|
|
4. ✅ `package.json` - Limpiado (removido script innecesario)
|
|
|
|
---
|
|
|
|
## 🚀 Cómo Funciona Ahora
|
|
|
|
### 1. Build en GitHub Actions:
|
|
- Detecta que es GitHub Pages (`GITHUB_PAGES=true`)
|
|
- Extrae el nombre del repositorio (`guia-tes-digital`)
|
|
- Configura `base: '/guia-tes-digital/'` en Vite
|
|
- Copia `404.html` de `public/` a `dist/`
|
|
|
|
### 2. Despliegue:
|
|
- GitHub Pages sirve los archivos desde `dist/`
|
|
- Cuando se accede a `/guia-tes-digital/manual`, GitHub Pages busca `manual/index.html`
|
|
- Como no existe, sirve `404.html`
|
|
- `404.html` redirige a `/guia-tes-digital/index.html`
|
|
- React Router toma el control y muestra la ruta `/manual` correctamente
|
|
|
|
---
|
|
|
|
## ✅ Verificación
|
|
|
|
### Antes de Desplegar:
|
|
```bash
|
|
# Probar build local con configuración de GitHub Pages
|
|
GITHUB_PAGES=true GITHUB_REPOSITORY_NAME=guia-tes-digital npm run build
|
|
|
|
# Verificar que dist/ tenga 404.html
|
|
ls dist/404.html
|
|
|
|
# Verificar que dist/index.html tenga el base path correcto
|
|
grep -i "base href" dist/index.html
|
|
# Debe mostrar: <base href="/guia-tes-digital/">
|
|
```
|
|
|
|
### Después de Desplegar:
|
|
1. Ir a: `https://planetazuzu.github.io/guia-tes-digital/`
|
|
2. Verificar que la página principal carga
|
|
3. Navegar a `/manual` y verificar que funciona
|
|
4. Probar rutas como `/manual/parte-i-fundamentos/bloque-0-fundamentos/1.1.1`
|
|
5. Verificar que todas las rutas SPA funcionan correctamente
|
|
|
|
---
|
|
|
|
## 📋 Checklist de Configuración en GitHub
|
|
|
|
Para que el workflow funcione correctamente, asegúrate de:
|
|
|
|
- [ ] **Habilitar GitHub Pages:**
|
|
1. Ir a Settings → Pages
|
|
2. Source: "GitHub Actions" (no "Deploy from a branch")
|
|
3. Guardar
|
|
|
|
- [ ] **Verificar Permisos:**
|
|
- El workflow ya tiene los permisos correctos (`pages: write`, `id-token: write`)
|
|
|
|
- [ ] **Verificar Workflow:**
|
|
- El workflow se ejecutará automáticamente en cada push a `main`
|
|
- También se puede ejecutar manualmente desde Actions → "Deploy to GitHub Pages" → "Run workflow"
|
|
|
|
---
|
|
|
|
## 🎯 Resultado Final
|
|
|
|
✅ **Base path configurado correctamente**
|
|
✅ **404.html creado para manejar rutas SPA**
|
|
✅ **Workflow mejorado con environment y variables**
|
|
✅ **Build automático con configuración correcta**
|
|
✅ **Rutas SPA funcionarán correctamente en GitHub Pages**
|
|
|
|
---
|
|
|
|
## 📚 Referencias
|
|
|
|
- [Vite Base Path Documentation](https://vitejs.dev/config/shared-options.html#base)
|
|
- [GitHub Pages SPA Routing](https://github.com/rafgraph/spa-github-pages)
|
|
- [GitHub Actions Deploy Pages](https://github.com/actions/deploy-pages)
|
|
|
|
---
|
|
|
|
**Estado:** ✅ COMPLETADO Y LISTO PARA DESPLEGAR
|