Skip to main content
Un tema en wondeya es un pequeño conjunto de tokens, no una hoja de estilos. Eliges cinco colores, dos tipografías y un redondeo de esquinas; el servidor los convierte en las propiedades personalizadas que lee cada componente. Esto es deliberado: una página renderiza respuestas construidas por un modelo de lenguaje en una página pública, y un tema que aceptara CSS crudo sería una vía para meter estilo arbitrario, y URLs arbitrarias, en esa página.

Los tokens

Colores

Cinco, cada uno un valor hexadecimal de 6 dígitos como #6d28d9: Solo se acepta #rrggbb: nada de rgb(), ni hsl(), ni abreviaturas de tres dígitos, ni alfa de ocho dígitos, ni nombres de color, ni var(...). Un selector de color que emita cualquier otra cosa recibe un error de validación que nombra el campo. Los valores se normalizan a minúsculas antes de guardarse, así que lo que termina en la página es la re-serialización que hace wondeya de lo que coincidió, nunca la cadena exacta que llegó.

Tipografías

Dos elecciones, una para los títulos y otra para el cuerpo, de un conjunto curado que wondeya aloja por su cuenta: Tú eliges una key; el servidor es dueño del nombre de la familia, de la pila de respaldo y del archivo. Las fuentes se sirven desde wondeya en lugar de importarse desde un host de fuentes de terceros, porque una importación remota de fuentes bloquea el primer render y agrega a la página de tus visitantes una dependencia que nadie eligió.

Redondeo

Una elección de una escala cerrada: La escala es un conjunto de keys y no un número, porque un número sería una longitud CSS: una cadena escrita por el cliente e interpolada en una hoja de estilos.

Los valores por defecto

Un sitio que nunca guardó su tema usa los valores por defecto de wondeya:
El acento no es el color de acción. El cian sobre blanco ronda 1.8:1, lo que reprueba el contraste WCAG para texto. Usa el acento para formas, bordes y superficies oscuras; mantén los botones y los enlaces en el color principal.

Un tema por sitio

El tema pertenece a la marca de un sitio (proyecto): todas las páginas del sitio lo visten, y no hay anulación por página. Lo que está en vigor se resuelve en dos pasos: los tokens guardados del sitio y, si no los hay, los valores por defecto de wondeya. Limpiar la personalización (tokens: null a través de la API) devuelve el sitio a los valores por defecto de wondeya; no guarda copia de nada. Eso es lo que hace seguro un rebranding posterior: no hay una instantánea congelada que deje de seguirte en silencio.

Editar es un parche parcial

Envías solo lo que cambió (colors.primary por sí solo es normal y correcto), y se fusiona sobre el tema en vigor y luego se valida como un todo. La fusión nunca repara. Una key que wondeya no reconoce es un rechazo con un error a nivel de campo, nunca un campo ignorado en silencio, a cualquier profundidad del objeto. Un tema que “casi” validó es un tema que alguien está sondeando.

Qué llega a la página

El servidor produce un mapa de propiedades personalizadas a partir de los tokens parseados y lo inyecta en el head de la página antes de que se renderice el cuerpo, así un visitante nunca ve un destello de la paleta por defecto: Ninguna key y ningún valor de ese mapa viene de la solicitud. Los colores son valores hexadecimales que wondeya re-serializó; las fuentes y los redondeos se buscan en una tabla que es de wondeya. Eso es lo que hace seguro interpolarlos en un bloque de estilo de una página que cargan tus visitantes.

Vista previa

El tema se edita en la pestaña Marca del proyecto, junto a una vista previa en vivo que renderiza componentes reales del catálogo, no una maqueta, leyendo exactamente las propiedades personalizadas que emite el servidor: el mismo contrato de tokens que lee la página publicada.

CSS personalizado

No existe, en ningún plan, hoy. Si tu marca necesita algo que los cinco colores no pueden expresar, eso es una conversación de producto y no un ajuste, y cualquier futuro plan con CSS personalizado tendría que responder las preguntas de aislamiento que el conjunto cerrado de tokens responde gratis.