Este sitio ahora incluye TinaCMS como sistema de gestión de contenido, facilitando la edición de contenido desde cualquier navegador.
TinaCMS es un sistema de gestión de contenido (CMS) moderno que:
Una vez iniciado el servidor de desarrollo con TinaCMS:
http://localhost:8080/admin/index.html
https://www.miguelordonez.com/admin/index.html
El proyecto está configurado con el siguiente Client ID de TinaCloud:
09643ce6-c39f-42db-bb1d-d844eeb6369e
Este Client ID está configurado en:
tina/config.js (valor por defecto)NEXT_PUBLIC_TINA_CLIENT_ID (en .env para desarrollo local)Para desarrollo local, crea un archivo .env en la raíz del proyecto con tus tokens reales:
NEXT_PUBLIC_TINA_CLIENT_ID=09643ce6-c39f-42db-bb1d-d844eeb6369e
TINA_TOKEN=your_read_only_token_here
TINA_SEARCH_TOKEN=your_search_token_here
TINA_PUBLIC_IS_LOCAL=true
Para producción (Vercel/Netlify), configura estas variables de entorno en tu plataforma de hosting:
NEXT_PUBLIC_TINA_CLIENT_ID: Tu Client ID de TinaCloudTINA_TOKEN: Tu Read-only token de TinaCloudTINA_SEARCH_TOKEN: Tu Search token de TinaCloudImportante: Los tokens son credenciales sensibles. Nunca los compartas públicamente ni los incluyas en el control de versiones.
Para desarrollar con TinaCMS localmente:
npm run dev:tina
Este comando:
http://localhost:8080http://localhost:8080/admin/index.htmlSi solo quieres el sitio sin TinaCMS:
npm start
Para generar el sitio con TinaCMS:
npm run build
Este comando construye el sitio con Eleventy. Los archivos se generarán en la carpeta _site/.
Para construir la interfaz de administración de TinaCMS para producción:
npm run build:tina
Nota: Este comando requiere una conexión activa a TinaCloud y que el repositorio esté correctamente configurado. La interfaz de administración se generará en public/admin/.
Para generar ambos (sitio + admin):
npm run build:all
Configura estas variables en tu plataforma de hosting (Vercel/Netlify):
NEXT_PUBLIC_TINA_CLIENT_ID=tu_client_id_aqui
TINA_TOKEN=tu_read_only_token_aqui
TINA_SEARCH_TOKEN=tu_search_token_aqui
Nota: Reemplaza los valores con tus credenciales reales de TinaCloud.
En la configuración de tu hosting, usa:
npm run build:all
O si prefieres solo construir el sitio (sin la interfaz admin de TinaCMS):
npm run build
La interfaz de TinaCMS funcionará en modo de desarrollo local incluso en producción, conectándose al servidor de TinaCloud.
Una vez desplegado:
https://www.miguelordonez.com/https://www.miguelordonez.com/admin/index.htmlEl editor requerirá autenticación a través de TinaCloud.
content/blog/content/tips/Las páginas about.md y cv.md no están gestionadas por TinaCMS porque utilizan frontmatter en formato JavaScript (una característica específica de Eleventy) en lugar del formato YAML estándar. Estas páginas deben editarse directamente en el código o mediante Decap CMS que está configurado para gestionarlas.
http://localhost:8080/admin/index.html (o la URL de producción)TinaCMS almacena las imágenes en public/img/ y genera rutas absolutas como /img/foto.jpg. Esto asegura que las imágenes funcionen correctamente tanto en el CMS como en el sitio web generado.
Nota sobre imágenes existentes:
content/img/ con rutas relativas (../img/foto.png) continúan funcionandopublic/img/ con rutas absolutas (/img/foto.jpg)public/img//img/nombre-archivo.jpg✅ Completado:
⚠️ Pendiente (requiere acceso a TinaCloud):
mordonez/miguelordonezv3 en TinaCloudmain está configurada correctamente en el proyectoPara que el sitio funcione en producción, necesitas crear tokens en TinaCloud:
Cómo crear los tokens:
.env (local) y en tu hosting (producción)Seguridad: Los tokens son credenciales sensibles. Guárdalos en un lugar seguro y nunca los compartas públicamente.
El proyecto está configurado con el Client ID: 09643ce6-c39f-42db-bb1d-d844eeb6369e
Para completar la integración:
mordonez/miguelordonezv3 esté conectadomain.
├── tina/
│ ├── config.js # Configuración de TinaCMS
│ ├── .gitignore # Ignora archivos generados
│ └── __generated__/ # Archivos generados (no se incluyen en git)
├── public/
│ └── admin/ # Interfaz de administración de TinaCMS (generada)
├── .env # Variables de entorno (no se incluye en git)
└── content/ # Contenido del sitio
├── blog/ # Posts del blog
├── tips/ # Tips
├── about.md # Página "Sobre mí"
└── cv.md # Página CV
YYYY-MM-DD2025-11-26npm startia-generativa, desarrollo-webpublic/img/uploads/TINA_TOKEN esté correctamente configuradonpm run dev:tina y no solo npm starthttp://localhost:8080/admin/index.htmlEste sitio anteriormente usaba Decap CMS. TinaCMS ofrece:
✅ Ventajas:
⚖️ Consideraciones:
Ambos CMS pueden coexistir temporalmente durante la transición.