Apresentamos o Htmlpress, o gerador de sites estáticos HTML-firstVer o anúncio

Htmlpress, o gerador de sites estáticos HTML-first

O Htmlpress é um gerador de sites estáticos HTML-first para pessoas e agentes, disponível para Python, TypeScript e Rust: HTML ou Markdown viram um só site.

Evgeny Karev4 min de leitura

capturahtmlpress.dev
Um painel de energia feito com o htmlpress a partir de uma simples página HTML: cartões de números, um gráfico de barras empilhadas e um gráfico em anel, com a barra lateral, a navegação e o índice do htmlpress

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 .md com frontmatter também serve
  • Páginas de qualquer lado — por omissão, todas as páginas da pasta; os globs include e exclude vão buscá-las a qualquer ponto de um repositório, para que a documentação fique ao lado do código e um CHANGELOG.md ou os ficheiros SKILL.md que 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.txt e 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.txt e 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 htmlpress

Depois, 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

O que construímos

Da camada de dados até à interface: pesquisa, integrações, tarefas em segundo plano e a infraestrutura para manter tudo a funcionar.

Aplicações web full-stack · APIs tipadas · Fluxos de trabalho duráveis · Orquestração de contentores

A ferramenta interna de que o seu setor precisa mesmo — leads, negócios, inventário, faturação, permissões, registo de auditoria. Construída à volta da forma como trabalha, e não à volta de um template.

Bases de dados transacionais · Identidade e acesso · APIs tipadas · Aplicações web full-stack

iOS e Android a partir de uma só base de código, partilhando tipos com o seu backend para que os dois não se desencontrem. Pelas lojas, ou por atualização over-the-air.

Móvel e ambiente de trabalho · APIs tipadas · Identidade e acesso

Sites rápidos e pré-renderizados que carregam de imediato e quase nada custam a manter. Conteúdo que pode editar sozinho, em tantos idiomas quantos precisar.

Aplicações web full-stack · Sistemas de design · Internacionalização · Plataforma edge

Exemplos de projetos

capturamycarro.app
O motor de busca de automóveis Mycarro tal como funciona hoje, pesquisando os anúncios que tem ativos em Portugal.

Mycarro — motor de pesquisa de automóveis e CRM para stands

Um marketplace de carros usados a funcionar em Portugal. Pesquisa para o consumidor sobre anúncios reunidos de todo o mercado, um back office para stands gerirem leads, inventário e faturação, e uma aplicação móvel — construído de ponta a ponta.

construímos

sob NDA
Trabalho que não podemos mostrar
ND

NDA — MVP de plataforma fintech suíça

Um MVP multiplataforma para uma plataforma de serviços financeiros regulados, concebido e construído de ponta a ponta: um backend contract-first, um painel de operações e aplicações iOS e Android geradas a partir do mesmo contrato.

cliente · NDA

Entre em contacto

Diga-nos o que precisa de construir.

Somos uma equipa pequena em Portugal, a trabalhar no horário de Londres. Um site, uma aplicação, uma ferramenta interna, ou a plataforma por trás deles — comece por uma frase sobre o problema e nós tratamos do resto.

Todos os artigos
Pedir orçamento