== cómo funciona trama ==
Un nodo es un archivo de texto. Eso es todo.
Si el archivo empieza con líneas de `clave: valor` seguidas de `---`, eso son metadatos. El kernel los lee y actúa según el **tipo:** declarado. Si no hay metadatos, el nodo es de tipo texto.
== tipos que el kernel entiende ==
**tipo: texto** — contenido normal. Se renderiza con las reglas de sintaxis definidas en nodos tipo:render. Es el default.
**tipo: css** — el cuerpo del nodo se inyecta como CSS. Puedes tener cuantos quieras. Todos se combinan.
**tipo: render** — el cuerpo define reglas de transformación de texto. Formato: `patron:` (regex) seguido de `html:` (reemplazo). Puedes tener cuantos quieras.
**tipo: editor** — el cuerpo se inyecta como HTML/JS en la vista de edición. Botones, atajos, lo que necesites.
**tipo: nav** — el cuerpo reemplaza la navegación por defecto del kernel.
Cualquier otro valor de tipo: es ignorado por el kernel pero se preserva como metadato. Puedes inventar tipos propios para organización.
== lo irreducible ==
El kernel (index.php) solo sabe:
- leer, escribir, eliminar, listar archivos
- parsear metadatos antes de ---
- agrupar por tipo: y combinar
- convertir [[enlaces]] en hipervínculos
- convertir {{nodos}} en listas
- separar párrafos por líneas vacías
- aplicar reglas patron:/html: de nodos tipo:render
- inyectar CSS, editor, nav desde sus nodos respectivos
Si borras todos los nodos de configuración, el sistema muestra texto plano con enlaces. No se rompe.
== metadatos personalizados ==
Puedes agregar cualquier metadato que quieras a un nodo:
tipo: texto
autor: Nik
fecha: 2026-02-11
confianza: media
---
El kernel no sabe qué significan "autor", "fecha" o "confianza". Pero los preserva y los muestra al hacer click en "meta" debajo de un nodo. Puedes usarlos para tu propia organización.
== relaciones ==
Las relaciones entre nodos se definen como reglas de renderizado. El nodo [[relaciones]] define patrones como `[[fuente:nombre]]` que se muestran de forma especial. Puedes modificar los tipos de relación que existen editando ese nodo, o crear más nodos tipo:render con tus propias relaciones.