Hecho con Chinaski

Crear y Clonar Themes

Crear un theme es ya sea importar uno (un archivo de templates) o clonar uno existente para modificarlo. Ambos caminos aterrizan bajo Themes en el área de administración. Esta página cubre las reglas de importación, el flujo de clonación, y la ruta de exportación que te da una entrega limpia.

Crear un theme por subida

Themes → add toma un nombre y un archivo de archivo comprimido:

  • Formatos aceptados: .tar.gz, .tgz o .zip, hasta 5 MB.
  • El conjunto de templates debe incluir los seis archivos requeridos: _head.tt, _header.tt, _footer.tt, page.tt, post.tt, blog_index.tt. Los archivos faltantes hacen fallar la instalación con un flash que nombra cada uno.
  • Solo se extraen los archivos .tt y un _theme.json opcional: los dotfiles se ignoran; los prefijos de directorio del archivo comprimido se aplanan sin importar el estilo de empaquetado.

Escaneo de seguridad en la importación. Cada template subida se escanea antes de que algo aterrice:

  • Los bloques [% PERL / [% RAWPERL se rechazan de plano.
  • Las directivas INSERT con rutas absolutas se rechazan.
  • Las directivas USE que cargan módulos con capacidades de sistema (File, Socket, LWP, etc.) se rechazan.

Un solo archivo inseguro aborta toda la subida: nada parcial se instala. Los tarballs corruptos se reportan por separado ("not a valid .tar.gz") de los errores de archivos faltantes. Los symlinks y hardlinks dentro de un archivo comprimido se ignoran: un vector de traversal en lugar de una función de theme.

Las instalaciones son atómicas: los archivos se extraen a un directorio de staging que se renombra a su lugar, así que un theme parcialmente instalado nunca aparece en la lista de themes, incluso después de un fallo a mitad de instalación. El theme creado se audita con un manifiesto completo de archivos (nombres y tamaños), y luego espera a que lo actives: la subida nunca auto-activa.

Clonación

La lista de Themes tiene un botón Clone por theme. Dale un nombre nuevo; obtienes:

  • Una copia del directorio de templates del theme de origen bajo un slug nuevo (el nombre slugificado).
  • Una fila nueva en la tabla de themes y una entrada de auditoría de manifiesto de archivos ("cloned from …; files=…").
  • Una redirección al editor del theme nuevo.

Barandillas: el slug default está reservado tanto al crear como al clonar; los slugs existentes en conflicto (disco o DB) se rechazan antes de cualquier copia; un directorio copiado parcialmente se elimina en caso de fallo en lugar de quedar medio instalado.

Clonar el theme por defecto produce un directorio de theme vacío: las templates integradas no existen en disco, así que empezar desde default es exactamente lo mismo que empezar de cero en un directorio propio incluido. Mientras un theme no lleve ningún override, el builder hace fallback al conjunto de templates integrado: así que un clon vacío funciona desde el primer momento y lo personalizas sobre la marcha.

Activar y hacerlo vivo

Subir (o clonar) no pone un theme en vivo: la activación es una acción separada de un clic sobre el theme. Activar es lo que usa la búsqueda de templates del build: el directorio de un theme activo no predeterminado se consulta primero, con los integrados como fallback, así que los themes parciales son seguros para desarrollar (un theme solo necesita incluir los archivos que cambia).

Exportar: empaquetado de entrega

Cualquier theme se exporta desde su pantalla de detalle como un .tar.gz de sus archivos .tt: útil para archivar, mover un theme entre instancias, o entregarle un archivo de theme a un colega. La ruta de exportación es solo para admin; exportar el theme default incluido sin archivos personalizados no es posible (no hay copia en disco que exportar).

El editor

Tanto la subida como la clonación te aterrizan en la pantalla de detalle del theme: su árbol de archivos con rutas de edición por archivo, previews, y el lado de generación de design briefs (ese flujo de trabajo vive en el doc de LLM Theme Prompting, no en esta página).

Lee este sitio en