Introducción
Htmlpress es un generador de sitios estáticos HTML-first. Escribe páginas HTML, o Markdown, estén donde estén en tu proyecto, y htmlpress las convierte en un solo sitio. Cada página conserva su propio marcado, y htmlpress añade un layout, un tema, una navegación y un servidor de desarrollo con recarga en vivo. No hay framework ni lenguaje de plantillas: solo hay que escribir las páginas, tú o tu agente de programación. Y está disponible por igual para desarrolladores de Python, TypeScript y Rust: un único binario de Rust que se instala con pip, npm o cargo.
Por qué otro generador de sitios
La mayoría de las herramientas de documentación te piden aprender primero un stack: un framework de JavaScript, un dialecto de componentes como MDX, un lenguaje de plantillas, una configuración de build. Es mucha superficie que una persona tiene que aprender, y aún más en la que un agente puede equivocarse.
Htmlpress va en sentido contrario. Una página es HTML semántico o Markdown sencillo —los formatos que los agentes ya conocen mejor que cualquier lenguaje de plantillas— y el tema da estilo a los propios elementos: encabezados, tablas, bloques de código, <details> y <figure> se ven bien sin clases, en modo claro y oscuro. Cuantas menos decisiones ofrece una página, más parecen todas las páginas un mismo sitio.
Qué obtienes
- Solo escribe HTML — una página es cualquier archivo
.html, documento completo o simple fragmento, cuyas etiquetas<title>y<meta>son sus metadatos; un archivo.mdcon frontmatter también sirve - Páginas desde cualquier parte — por defecto, todas las páginas de la carpeta; los globs
includeyexcludelas toman de cualquier parte de un repositorio, así la documentación vive junto al código, y unCHANGELOG.mdo los archivosSKILL.mdque ya mantienes se suman al sitio - Elementos enriquecidos — avisos, pestañas, pasos, tarjetas, insignias, árboles de archivos, tablas ordenables, terminales, pestañas de gestores de paquetes, diagramas Mermaid y contenidos incrustados, todos como elementos personalizados
htmlpress-* - Navegación incluida — una barra lateral anidada por carpetas, migas de pan, una tabla de contenidos, enlaces anterior/siguiente y un enlace «Editar en GitHub»
- Documentación, blog y registro de cambios — divide un sitio en secciones, cada una con su pestaña y su navegación: documentación agrupada por carpetas en la barra lateral, un blog de entradas fechadas, las más recientes primero, con páginas de etiquetas y un feed RSS, y un registro de cambios con una página por versión a partir de un changelog en Markdown
- Multilingüe — traducciones junto a sus originales, un selector de idioma y la interfaz en siete idiomas incluidos
- Personalizable — tokens
--htmlpress-*para el tema, y el layout, los estilos y los componentes se pueden extraer a una carpeta.htmlpress/y sustituir archivo a archivo - Hecho para agentes — cada build publica una copia en Markdown de cada página,
llms.txty tus agent skills, y todos los comandos hablan JSON - Web components y CSS — cada elemento enriquecido es un web component nativo y cada estilo CSS puro, acotado con
@scope, sin runtime de framework en el navegador - Python, TypeScript y Rust — disponible por igual para desarrolladores de Python, TypeScript y Rust, desde PyPI, npm y crates.io, como un único binario de Rust; sin runtime ni dependencias, y el resultado es un sitio estático con
sitemap.xml,robots.txty una página 404, listo para cualquier hosting
Una página
Una página fija su título, descripción y orden en unas pocas etiquetas y pasa directamente al contenido:
<title>Getting Started</title>
<meta name="description" content="Set up the project in five minutes." />
<meta name="order" content="1" />
<h1>Getting Started</h1>
<p>Welcome!</p>La misma página en Markdown lleva esos valores en el frontmatter. La configuración es opcional. Un htmlpress.yaml en la raíz del proyecto define el título y la descripción del sitio, y sus globs include indican dónde están las páginas:
title: My docs
description: Documentation for my project
include: [docs/**/*.html, docs/**/*.md]Pruébalo
Todos los canales distribuyen el mismo binario de Rust en la misma versión, así que elige el gestor de paquetes que ya usa tu proyecto:
curl -fsSL https://htmlpress.dev/install.sh | sh
npm install --global gethtmlpress
pip install htmlpress
cargo install htmlpressDespués, todo el ciclo son cuatro comandos:
htmlpress start # dev server with live reload at http://localhost:8000
htmlpress build # production build to .htmlpress/build/
htmlpress preview # serve the production build locally
htmlpress clear # remove .htmlpress/build/Agent skills
Htmlpress incluye seis Agent Skills que enseñan a agentes de programación como Claude Code, Cursor y Codex cómo funciona un proyecto: el contrato de las páginas, los componentes, las claves de configuración, cómo personalizar el tema, cómo desplegar y cómo comprobar su propio trabajo. Una vez instaladas, no tienes que explicar nada de esto en el prompt.
Próximos pasos
Htmlpress es de código abierto bajo la licencia MIT, y su propia documentación en htmlpress.dev está hecha con él. Pruébalo, abre un issue con tus comentarios y dale una estrella en GitHub para ayudar a que el proyecto crezca — https://github.com/datisthq/htmlpress



