CMS y publicaciones
Un sitio web, un blog, la documentación de un producto, un libro por capítulos: todo lo que se escribe para publicarse. STXT es el formato fuente de ese contenido: el texto vive en ficheros, la estructura es visible, la validación es una plantilla y la presentación se decide después.
El contenido que se publica tiene siempre tres capas: el texto que alguien escribe, la estructura que lo organiza —páginas, secciones, capítulos— y los datos que lo acompañan —título, autor, fecha, estado editorial, etiquetas—. Las herramientas que lo gestionan tienden a fundir esas capas con la interfaz de edición y con la presentación final, y el resultado es conocido: el contenido acaba dentro de una base de datos, con una forma que solo esa herramienta entiende, y cambiar de herramienta es una migración.
Con STXT como formato fuente, cada página es un fichero de texto con sus datos como
nodos y su cuerpo en bloques. El gestor de contenidos —sea un generador estático, un
CMS headless o un proceso de maquetación— lee el árbol y decide qué hacer con él.
Este mismo portal está construido así: cada página de stxt.dev es un documento
STXT del namespace dev.stxt.website, y el generador lo convierte en HTML. La
FAQ enseña dos maneras de comprobarlo desde el
navegador.
Una página
Page (com.acme.cms.page):
Title: Sobre STXT
Slug: sobre-stxt
Language: es
Status: Published
Layout: default
SEO:
Title: STXT — Lenguaje Human First
Description: Lenguaje textual legible y validable
Keywords:
Keyword: stxt
Keyword: documentos
Keyword: formatos
Header >>
## STXT
Lenguaje de texto estructurado, legible por personas
y fiable para máquinas.
Content >>
### ¿Qué es STXT?
STXT es un lenguaje diseñado para escribir documentos
que pueden ser leídos y procesados sin fricción.
### Principios
- Human First
- Sintaxis mínima
- Validación opcional
Footer >>
Última actualización: enero de 2026Los metadatos editoriales —slug, idioma, estado, layout, SEO— son nodos que el
gestor lee directamente. El cuerpo va en bloques de tipo MARKDOWN
(STXT-SCHEMA-SPEC §9.7): STXT no
interpreta ese Markdown, solo lo entrega tal cual al renderizador; el tipo es un
contrato para quien lo consume (y para el editor y el playground, que lo colorean
como Markdown). El pie es TEXT: se enseña literalmente. El reparto de trabajo
entre los dos lenguajes se desarrolla en
STXT frente a Markdown.
La plantilla
Template (@stxt.template): com.acme.cms.page
Description >>
Page: Página de un sitio web
Status: Estado editorial; solo Published se publica
Structure >>
Page:
Title: (1)
Slug: (1)
Language: (?) ENUM [es, en, fr]
Status: (1) ENUM [Draft, Published, Archived]
Layout: (?)
SEO: (?)
Title: (?) @Title
Description: (?)
Keywords: (?)
Keyword: (+)
Header: (?) MARKDOWN
Content: (?) MARKDOWN
Footer: (?) TEXTLa plantilla garantiza lo que el generador necesita para funcionar —título, slug y
un estado de la lista— y deja el resto opcional. Una página sin Slug no valida, y
por tanto no se genera; un Status: published en minúsculas tampoco. Es la
diferencia entre un error que aparece en el editor y una página que desaparece del
sitio sin que nadie sepa por qué.
SEO/Title reutiliza la definición de Title con @Title: es el mismo nodo, con
la misma definición, en otro lugar del árbol.
Un artículo con autores y estado
Un blog o una revista añade autoría, fecha y un flujo editorial:
Article (com.acme.editorial.article):
Title: Introducción a STXT
Slug: introduccion-a-stxt
Authors:
Author: Joan Costa
Role: Editor
Published date: 2026-01-10
Status: Draft
Tags:
Tag: stxt
Tag: formatos
Abstract >>
STXT es un lenguaje textual diseñado para equilibrar
legibilidad humana y fiabilidad para máquinas.
Content >>
## Por qué otro formato
La mayoría de formatos existentes fuerzan una elección:
o son cómodos para las personas o son fiables para las máquinas.
STXT elimina esa dicotomía.Template (@stxt.template): com.acme.editorial.article
Description >>
Article: Artículo de un blog o de una publicación periódica
Structure >>
Article:
Title: (1)
Slug: (1)
Authors: (1)
Author: (+)
Role: (?)
Published date: (?) DATE
Status: (1) ENUM [Draft, Review, Published]
Tags: (?)
Tag: (+)
Abstract: (?) TEXT
Content: (1) MARKDOWNEl flujo editorial es el ENUM de Status: un artículo pasa de Draft a Review y
a Published, y ese cambio es una línea en el diff de la revisión. El generador
publica solo lo que está en Published y con fecha; el resto existe en el
repositorio, pero no en el sitio.
Un libro por capítulos
Una publicación larga sigue el mismo patrón, con la estructura a la vista y cada capítulo como un nodo que agrupa sus datos y su texto:
Publication (com.acme.editorial.publication):
Title: STXT — El libro
ISBN: 978-1-23456-789-0
Language: es
Status: In Progress
Chapter: Introducción
Number: 1
Content >>
Este capítulo introduce los conceptos básicos de STXT.
Chapter: Sintaxis
Number: 2
Content >>
Se describe la sintaxis del lenguaje con ejemplos.
Chapter: Validación
Number: 3
Content >>
Plantillas y esquemas permiten añadir reglas semánticas.Template (@stxt.template): com.acme.editorial.publication
Description >>
Publication: Libro o documento largo dividido en capítulos
Structure >>
Publication:
Title: (1)
ISBN: (?)
Language: (1) ENUM [es, en, fr]
Status: (1) ENUM [In Progress, Published]
Chapter: (+)
Number: (1) NATURAL
Content: (1) MARKDOWNLos capítulos se escriben en orden y el árbol lo conserva, así que el generador no
necesita ordenar nada; Number existe para que el número aparezca en la salida y
para referirse a un capítulo desde fuera. Un libro de cuarenta capítulos se puede
partir en cuarenta ficheros con el mismo namespace, y la plantilla sigue valiendo
para cada uno.
El flujo de publicación
Cada paso es independiente y sustituible:
- Se escribe el documento con cualquier editor; con la extensión de VS Code, la plantilla da autocompletado y errores en el acto.
- Se versiona en un repositorio; la revisión editorial es un diff.
- Se valida —en el editor, en la línea de comandos o en integración continua— con
stxt validate(La línea de comandos), que rechaza una página sin slug o un artículo sin autor antes de que llegue al generador. - El generador lee el árbol canónico y produce HTML, PDF, EPUB, un feed o una API; el mismo documento sale por varios canales.
El documento no contiene HTML, CSS ni layout: la presentación se decide en el paso 4 y se puede cambiar entera sin tocar el contenido.
Límites
STXT no es un CMS: no tiene interfaz de edición, ni usuarios, ni flujo de
aprobación, ni previsualización. Es el formato en el que ese CMS guarda el
contenido, y lo que garantiza es que el contenido sobreviva al CMS. Tampoco define
cómo se renderiza un bloque MARKDOWN ni qué dialecto de Markdown se admite: eso lo
fija el renderizador, y la plantilla solo declara que el bloque debe tratarse como
tal.
La variante generada de este flujo —páginas escritas por un modelo y rechazadas por el build hasta que validan— se desarrolla en IA y LLMs; el tutorial recorre el lenguaje que hay detrás de los ejemplos.