Introdução
O Htmlpress é um gerador de sites estáticos HTML-first. Escreva páginas HTML, ou Markdown, onde quer que estejam no seu projeto, e o htmlpress transforma-as num só site. Cada página mantém o seu próprio markup, e o htmlpress acrescenta um layout, um tema, uma navegação e um servidor de desenvolvimento com recarregamento automático. Não há framework nem linguagem de templates: basta que você, ou o seu agente de programação, escreva as páginas. E está disponível tanto para quem programa em Python como em TypeScript ou Rust: um só binário Rust, instalado com pip, npm ou cargo.
Porquê mais um gerador de sites
A maioria das ferramentas de documentação obriga a aprender primeiro uma stack: um framework JavaScript, um dialeto de componentes como o MDX, uma linguagem de templates, uma configuração de build. É muita superfície para uma pessoa aprender e ainda mais para um agente errar.
O Htmlpress segue o caminho inverso. Uma página é HTML semântico ou Markdown simples — os formatos que os agentes já conhecem melhor do que qualquer linguagem de templates — e o tema estiliza os próprios elementos: títulos, tabelas, blocos de código, <details> e <figure> ficam bem sem classes, no modo claro e no escuro. Quanto menos escolhas uma página oferece, mais todas as páginas parecem um só site.
O que recebe
- Basta escrever HTML — uma página é qualquer ficheiro
.html, documento completo ou simples fragmento, cujas tags<title>e<meta>são os seus metadados; um ficheiro.mdcom frontmatter também serve - Páginas de qualquer lado — por omissão, todas as páginas da pasta; os globs
includeeexcludevão buscá-las a qualquer ponto de um repositório, para que a documentação fique ao lado do código e umCHANGELOG.mdou os ficheirosSKILL.mdque já mantém entrem no site - Elementos ricos — avisos, separadores, passos, cartões, badges, árvores de ficheiros, tabelas ordenáveis, terminais, separadores de gestores de pacotes, diagramas Mermaid e embeds, todos como elementos personalizados
htmlpress-* - Navegação incluída — uma barra lateral organizada por pastas, breadcrumbs, um índice, ligações anterior/seguinte e uma ligação "Editar no GitHub"
- Documentação, blogue e changelog — divida um site em secções, cada uma com o seu separador e a sua navegação: documentação agrupada por pastas na barra lateral, um blogue de artigos datados, os mais recentes primeiro, com páginas de etiquetas e feed RSS, e um changelog com uma página por versão a partir de um changelog em Markdown
- Multilingue — traduções ao lado dos originais, um seletor de idioma e a interface em sete idiomas incluídos
- Personalizável — tokens
--htmlpress-*para o tema, e o layout, os estilos e os componentes podem ser extraídos para uma pasta.htmlpress/e substituídos ficheiro a ficheiro - Feito para agentes — cada build publica uma cópia em Markdown de cada página, o
llms.txte as suas agent skills, e todos os comandos falam JSON - Web components e CSS — cada elemento rico é um web component nativo e cada estilo CSS simples, delimitado com
@scope, sem runtime de framework no browser - Python, TypeScript e Rust — disponível tanto para quem programa em Python como em TypeScript ou Rust, a partir do PyPI, npm e crates.io, como um só binário Rust; sem runtime nem dependências, e o resultado é um site estático com
sitemap.xml,robots.txte uma página 404, pronto para qualquer alojamento
Uma página
Uma página define o título, a descrição e a ordem em poucas tags e passa logo ao conteúdo:
<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>A mesma página em Markdown leva esses valores no frontmatter. A configuração é opcional. Um htmlpress.yaml na raiz do projeto define o título e a descrição do site, e os seus globs include dizem onde estão as páginas:
title: My docs
description: Documentation for my project
include: [docs/**/*.html, docs/**/*.md]Experimentar
Todos os canais distribuem o mesmo binário Rust na mesma versão, por isso escolha o gestor de pacotes que o seu projeto já usa:
curl -fsSL https://htmlpress.dev/install.sh | sh
npm install --global gethtmlpress
pip install htmlpress
cargo install htmlpressDepois, todo o ciclo cabe em quatro 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
O Htmlpress inclui seis Agent Skills que ensinam agentes de programação como o Claude Code, o Cursor e o Codex a trabalhar num projeto: o contrato das páginas, os componentes, as chaves de configuração, como personalizar o tema, como publicar e como verificar o próprio trabalho. Depois de instaladas, não precisa de explicar nada disto no prompt.
Próximos passos
O Htmlpress é open source sob a licença MIT, e a sua própria documentação em htmlpress.dev é feita com ele. Experimente-o, abra uma issue com o seu feedback e dê-lhe uma estrela no GitHub para ajudar o projeto a crescer — https://github.com/datisthq/htmlpress



