CMS y publicaciones
STXT como formato fuente de un sitio web, un blog o un libro: el contenido vive en ficheros de texto y la presentación se decide después.
Este portal está hecho así. Cada página de stxt.dev es un documento STXT
del namespace dev.stxt.website, y un generador lo convierte en HTML.
Se puede comprobar añadiendo .stxt a la dirección de cualquier página,
por ejemplo use-cases-cms.stxt.
Una página
Page (com.acme.cms.page):
Title: Sobre STXT
Slug: sobre-stxt
Language: es
Status: Published
SEO:
Description: Lenguaje textual legible y validable
Keywords:
Keyword: stxt
Keyword: documentos
Content >>
## ¿Qué es STXT?
STXT es un lenguaje diseñado para escribir documentos
que las personas leen y los programas procesan.
## Principios
- Human First
- Sintaxis mínima
- Validación opcional
Footer >>
Última actualización: enero de 2026En este ejemplo tenemos:
- Metadatos:
Title,Slug,Language,StatusySEO. Son nodos que el generador lee directamente. - Contenido:
ContentyFooter. Son nodos block, y el documento no contiene HTML, CSS ni layout.
La plantilla
Template (@stxt.template): com.acme.cms.page
Structure >>
Page:
Title: (1)
Slug: (1)
Language: (?) ENUM [es, en, fr]
Status: (1) ENUM [Draft, Published, Archived]
SEO: (?)
Description: (?)
Keywords: (?)
Keyword: (+)
Content: (1) MARKDOWN
Footer: (?) TEXTLa plantilla garantiza lo que el generador necesita para funcionar: un título, un slug, un estado de la lista y un contenido.
Content es de tipo MARKDOWN (STXT-SCHEMA-SPEC §9.7).
STXT no interpreta ese Markdown: lo entrega tal cual, y el tipo indica a quien lo recibe
(el generador, el editor o el playground) cómo debe tratarlo. Footer es TEXT, y se muestra literalmente.
Una misma lección escrita con Frontmatter, MDX, Markdoc, YAML y STXT, y qué valida cada uno:
STXT, prosa dentro de la estructura.
Una página que no valida
# ERROR: este documento no valida
Page (com.acme.cms.page):
Title: Sobre STXT
# Falta `Slug`
# `published` en minúsculas no es `Published`
Status: published
# `Author` no está en la plantilla
Author: Joan Costa
Content >>
## ¿Qué es STXT?Una página que no valida no se genera.
Un libro por capítulos
Una publicación larga sigue el mismo patrón. Cada capítulo es un nodo con su número 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.Y su plantilla:
Template (@stxt.template): com.acme.editorial.publication
Structure >>
Publication:
Title: (1)
ISBN: (?)
Language: (1) ENUM [es, en, fr]
Status: (1) ENUM [In Progress, Published]
Chapter: (+)
Number: (1) NATURAL
Content: (1) MARKDOWNUn documento STXT es un árbol ordenado, así que los capítulos salen en el orden en que están escritos. Un libro de cuarenta capítulos se puede partir en cuarenta ficheros con el mismo namespace, y la plantilla sirve para todos.
El flujo de publicación
- Se escribe el documento con cualquier editor.
- Se guarda en un repositorio. La revisión editorial es un diff.
- Se valida con
stxt validate(La línea de comandos), en local o en integración continua. - El generador lee el árbol y produce HTML, PDF, EPUB o un feed.
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, usuarios, flujo de aprobación ni previsualización. Es el formato en el que se guarda el contenido.
Tampoco define qué dialecto de Markdown se admite en un bloque MARKDOWN.
Eso lo decide quien lo renderiza.
Las páginas también las puede escribir un modelo, ver IA y LLMs.