Sitio publico de VRTon y CMS local para editar contenido (paginas, links y colaboradores) sin tocar codigo de UI.
Si solo queres editar contenido y subir cambios, usa esta ruta:
npm installnpm run dev- Abri
http://localhost:5174(CMS) - Edita contenido y hace click en
Save - Revisa en
http://localhost:5173 git add content public/uploads src/generated public/apigit commit -m "content: actualiza contenido desde cms"git push origin <tu-rama>
Listo. El resto del README explica cada parte en detalle.
- Sitio publico en React + Vite.
- CMS local (
madCMS Content Manager) para editar contenido markdown + bloques. - Generacion automatica de JSON para consumo del frontend y API estatica.
- Soporte de idiomas
esyen.
content/
i18n/ # Traducciones fuente en markdown con bloque JSON
pages/<slug>/<lang>.md# Paginas fuente en markdown (con bloque ```json blocks)
src/generated/ # JSON generado para consumo en app (no editar a mano)
public/api/ # JSON generado para API estatica (no editar a mano)
public/uploads/ # Assets subidos desde el CMS
scripts/generate-content.mjs
- Node.js 18+
- npm
npm installnpm run devEste comando levanta 2 servidores en paralelo:
- Sitio publico:
http://localhost:5173 - CMS (admin):
http://localhost:5174
Si queres levantar solo el admin:
npm run dev:adminEntrar a http://localhost:5174.
Tip: el sitio publico siempre se valida en http://localhost:5173.
Usalo para editar el contenido de cada pagina por bloques.
- Selecciona la pagina desde el selector superior.
- Cambia idioma con los botones
ES/EN. - Arrastra bloques desde la barra lateral (Hero, Events, FAQ, Section, etc).
- Edita campos en el panel del bloque seleccionado.
- Usa Undo/Redo cuando haga falta.
- Click en
Savepara guardar.
Que pasa al guardar:
- Se guarda el markdown en
content/pages/.... - Se regenera el contenido JSON (
src/generatedypublic/api). - Se dispara hot-reload del sitio publico en
5173.
Edita links globales dentro del archivo i18n activo:
Navbar linksFooter linksSocial links
Esto escribe sobre content/i18n/<lang>.md (bloque JSON).
Gestiona el catalogo de logos reutilizable en el bloque events:
- Alta/baja/edicion de colaboradores.
- Upload de logo desde el admin.
- Asignacion de colaboradores por fila/evento.
Las imagenes subidas van a:
public/uploads/images/collaborators/...
Tambien se pueden subir imagenes para eventos desde el bloque events, y quedan en:
public/uploads/images/events/...
New pagecrea por defecto:content/pages/<slug>/es.md.Delete pageelimina el archivo activo.
Si necesitas la version en ingles de una pagina nueva, crea tambien content/pages/<slug>/en.md siguiendo el mismo formato frontmatter + bloques.
- Editar desde el CMS.
- Guardar con
Save. - Verificar en
http://localhost:5173que todo se vea bien. - Confirmar cambios en archivos fuente (
content/...) y en generados (src/generated,public/api) antes de commitear.
# Regenerar contenido manualmente
npm run generate:content
# Build de produccion
npm run build
# Lint
npm run lint
# Tests de arrastre/upload/seguridad de admin
npm run test:drag
# Suite usada por pre-push
npm run test:prepushActivar hook local de pre-push:
npm run setup:hooksEl hook corre npm run test:prepush antes de cada push.
git status
git diffgit add content public/uploads src/generated public/apiSi ademas tocaste codigo, agrega tambien src/... y configs que correspondan.
Atajo (agrega todo):
git add .Usa este atajo solo si ya revisaste bien git status/git diff.
git commit -m "content: actualiza paginas y links desde cms"git push origin <tu-rama>- No edites a mano
src/generated/*nipublic/api/*salvo casos excepcionales; se regeneran. - El CMS corre pensado para entorno local de desarrollo.
- Limites de upload en admin:
- Imagenes: hasta 10 MB
- Videos: hasta 120 MB
No carga el CMS en 5174: verifica quenpm run devsiga corriendo y que el puerto este libre.Savefalla con error de regeneracion: ejecutanpm run generate:contenty reintenta.No veo cambios en el sitio publico: refrescahttp://localhost:5173y confirma que guardaste en el idioma correcto (ES/EN).Push rechazado por hook: correnpm run test:prepush, corrige errores y vuelve a hacergit push.