Saltar al contenido HtmlpressGenerador de sitios estáticos

Cambiar tema

Elegir idioma

Atajos de teclado

Código abierto · Licencia MIT

Generador
de sitios estáticos
para la era de los agentes.

Escribe en Markdown o HTML sencillo, y htmlpress añade layout, tema, navegación y recarga en vivo, construidos con web components y CSS, todo escapable. Ideal para documentación interna y para publicar contenido.

Empezar Ver el código
  • curl -fsSL https://htmlpress.dev/install.sh | sh
  • pip install htmlpress
  • npm install gethtmlpress
  • cargo install htmlpress
Un panel de electricidad hecho como una sola página de htmlpress, con indicadores, un gráfico de columnas apiladas y un anillo Un panel de electricidad hecho como una sola página de htmlpress, con indicadores, un gráfico de columnas apiladas y un anillo
HTML arbitrario, tal cualrust/docs/examples/energy-dashboard.html
<title>Electricity dashboard</title>
<style>.nrg { … }</style>
<div class="nrg">…</div>
La página de elementos enriquecidos de htmlpress con avisos de información, éxito, advertencia y peligro La página de elementos enriquecidos de htmlpress con avisos de información, éxito, advertencia y peligro
Escrito en HTML sencillorust/docs/authoring/rich-elements.html
<htmlpress-callout type="tip">
  <p>Every page built.</p>
</htmlpress-callout>
El buscador de htmlpress con resultados para deploy en toda la documentación El buscador de htmlpress con resultados para deploy en toda la documentación
Indexado al construirrust/docs/deployment/index.html
<h1>Deployment</h1>
<p><code>htmlpress build</code>
  produces a fully static site…</p>
El índice del blog de htmlpress con dos entradas fechadas, sus autores, las entradas recientes y las etiquetas El índice del blog de htmlpress con dos entradas fechadas, sus autores, las entradas recientes y las etiquetas
Fechado en su propio headrust/docs/blog/hello-world.html
<meta name="date" content="2026-04-10" />
<meta name="author" content="Htmlpress Team" />
<meta name="keywords" content="announcement" />
La navegación de htmlpress abierta como panel lateral en un teléfono La navegación de htmlpress abierta como panel lateral en un teléfono
Pasos numerados y un bloque de código en un teléfono Pasos numerados y un bloque de código en un teléfono
El selector de idioma abierto como hoja inferior sobre un panel en un teléfono El selector de idioma abierto como hoja inferior sobre un panel en un teléfono
Escrito en HTML sencillorust/docs/authoring/rich-elements.html
<h3 data-step>Install</h3>

No te estorba

Sin framework, sin configuración de compilación, sin estructura obligatoria. Una carpeta de Markdown o HTML ya es un proyecto.

  • Cualquier estructura de archivos

    Una página es cualquier archivo .md o .html: Markdown con frontmatter, o HTML desde un simple fragmento hasta un documento completo. Déjalas planas o anídalas: una carpeta con index.html se convierte en un grupo de navegación, y cualquier otro archivo se copia tal cual.

  • Web components, light DOM

    Cada componente es un elemento personalizado estándar: sin framework, sin shadow DOM. Tu CSS y los tokens del tema llegan dentro, y el texto queda en la página para la búsqueda y los agentes. Un archivo en .htmlpress/components/ añade tu propia etiqueta.

  • Escapa lo que quieras

    Reemplaza el layout, el tema o cualquier componente integrado desde .htmlpress/, o da a una página su propio layout. Esta landing page es una de ellas.

.htmlpress/
├─ layouts/
│  └─ landing.html    ← this page's chrome
└─ components/
   └─ site-hero.css   ← your own component
guides/
├─ setup.html
└─ faq.html
images/               ← copied as they are
index.html            ← a page too
htmlpress.yaml

Preciosa por defecto

Un tema cuidado, los componentes que necesita una documentación y valores predeterminados sensatos. Personaliza solo lo que quieras.

Estilos desde los elementos

Los encabezados, las listas, las tablas, el código, <details>, <figure> y <kbd> se ven bien sin ninguna clase.

Web components donde HTML no los tiene

Avisos, pestañas, pasos, tarjetas, árboles de archivos, insignias, iconos, tablas ordenables, diagramas Mermaid e imágenes ampliables, como elementos personalizados en light DOM.

Código resaltado

Resaltado al construir en más de 220 lenguajes, con títulos, pestañas, diff, foco y marcas de línea, en un tema claro y otro oscuro.

Agrupada por carpeta, ordenada por <meta name="order">, con una tabla de contenidos y enlaces de anterior y siguiente.

Búsqueda incluida

Un índice de texto completo escrito al construir y abierto con S; la página que abre un resultado resalta la coincidencia.

Documentación, blog y registro de cambios

Divide un sitio en secciones con su propia pestaña y barra lateral: entradas fechadas con un feed RSS, o una página por versión desde un CHANGELOG.md.

Cómoda en un teléfono

La navegación se convierte en un panel lateral, los selectores en hojas inferiores y nada se desplaza en horizontal.

Modo oscuro y tokens de tema

Un tema oscuro según el sistema o el interruptor, y cada color, fuente y ancho es un token --htmlpress-*.

En cada idioma

Traduce una página junto a su original como page.es.html: cada idioma tiene su prefijo, navegación, búsqueda y textos de interfaz.

Recarga en vivo

htmlpress start recompila con cada guardado y recarga el navegador, escapes y componentes incluidos.

Salida estática

htmlpress build escribe archivos sencillos en .htmlpress/build, con enlaces canónicos, listos para cualquier hosting estático.

Un binario, tres canales

Un único ejecutable de Rust, que se instala desde npm, PyPI o crates.io. Nada más que instalar.

Escribe HTML o Markdown. Publica un sitio web.

Tus páginas se quedan como están. Htmlpress hace el resto.

<title>Quickstart</title>
<meta name="order" content="1" />

<h1>Quickstart</h1>
<p>Install the binary:</p>
<pre><code>npm install -g gethtmlpress</code></pre>

<htmlpress-callout title="Tip">
<p>Run <code>htmlpress start</code> and open the browser.</p>
</htmlpress-callout>

<h2>Features</h2>
<ul>
<li><strong>Fast</strong> rebuilds on save</li>
<li><strong>Components</strong> when HTML has none</li>
<li><em>Beautiful</em> out of the box</li>
</ul>

Quickstart

Install the binary:

npm install -g gethtmlpress

Run htmlpress start and open the browser.

Features

  • Fast rebuilds on save
  • Components when HTML has none
  • Beautiful out of the box

Pensado para agentes de programación

Los agentes conocen Markdown y HTML mejor que cualquier lenguaje de plantillas. Htmlpress mantiene pequeño su trabajo y cada respuesta legible por máquinas.

$ htmlpress build docs --json
{
  "output": "docs/.htmlpress/build",
  "pages": 8,
  "files": 12
}

$ htmlpress build --json '{"root":"docs","out":"dist"}'

$ htmlpress --llms
  • Entra Markdown o HTML sencillo

    Sin framework, sin sintaxis que aprender, sin clases utilitarias: cuantas menos opciones ofrece una página, más se parecen las páginas a un mismo sitio.

  • Todos los comandos hablan JSON

    --json imprime el resultado en stdout y recibe la entrada como JSON; los registros y los errores van a stderr.

  • La CLI de una sola lectura

    htmlpress --llms lista el esquema de entrada y salida de cada comando como herramientas con forma de MCP.

  • Una copia en Markdown de cada página

    Cada página obtiene un index.md junto a su HTML, enlazado desde el head, para que un agente lea el contenido sin el marcado.

  • llms.txt de serie

    Un índice llms.txt de cada copia, agrupado como la navegación y anunciado en una cabecera Link de la página de inicio.

  • Una skill para tu agente

    Cinco skills enseñan a Claude Code, Cursor o Codex a escribir, configurar, rediseñar y desplegar un sitio.

Cómo usan htmlpress los agentes →

Empieza a escribir. Deja que htmlpress se encargue del resto.

Apunta htmlpress a una carpeta de Markdown o HTML, escapa lo que quieras controlar y despliega. Esa es toda la configuración.

Lee la documentación Instálalo