Introduction
Htmlpress est un générateur de sites statiques HTML-first. Écrivez des pages HTML, ou du Markdown, où qu’elles se trouvent dans votre projet, et htmlpress en fait un seul site. Chaque page garde son propre balisage, et htmlpress y ajoute une mise en page, un thème, une navigation et un serveur de développement à rechargement automatique. Ni framework ni langage de templates : vous, ou votre agent de code, écrivez simplement les pages. Et il est disponible aussi bien pour les développeurs Python que TypeScript ou Rust : un seul binaire Rust, installé avec pip, npm ou cargo.
Pourquoi un générateur de plus
La plupart des outils de documentation exigent d’abord d’apprendre une stack : un framework JavaScript, un dialecte de composants comme MDX, un langage de templates, une configuration de build. C’est beaucoup de surface à apprendre pour une personne, et encore plus d’occasions de se tromper pour un agent.
Htmlpress prend le chemin inverse. Une page est du HTML sémantique ou du Markdown simple — les formats que les agents connaissent mieux que n’importe quel langage de templates — et le thème habille les éléments eux-mêmes : titres, tableaux, blocs de code, <details> et <figure> s’affichent correctement sans aucune classe, en mode clair comme en mode sombre. Moins une page offre de choix, plus toutes les pages ressemblent à un seul site.
Ce que vous obtenez
- Écrivez simplement du HTML — une page est n’importe quel fichier
.html, document complet ou simple fragment, dont les balises<title>et<meta>sont les métadonnées ; un fichier.mdavec frontmatter fonctionne aussi - Des pages venues de partout — par défaut, toutes les pages du dossier ; les globs
includeetexcludeles prennent n’importe où dans un dépôt, pour que la documentation vive à côté du code et qu’unCHANGELOG.mdou les fichiersSKILL.mdque vous tenez déjà rejoignent le site - Éléments enrichis — encadrés, onglets, étapes, cartes, badges, arborescences de fichiers, tableaux triables, terminaux, onglets de gestionnaires de paquets, diagrammes Mermaid et intégrations, tous sous forme d’éléments personnalisés
htmlpress-* - Navigation incluse — une barre latérale organisée par dossiers, un fil d’Ariane, une table des matières, des liens précédent/suivant et un lien « Modifier sur GitHub »
- Documentation, blog et changelog — découpez un site en sections, chacune avec son onglet et sa navigation : une documentation regroupée par dossier dans la barre latérale, un blog d’articles datés, les plus récents en premier, avec pages d’étiquettes et flux RSS, et un changelog avec une page par version d’un changelog Markdown
- Multilingue — des traductions à côté des originaux, un sélecteur de langue et l’interface en sept langues intégrées
- Personnalisable — des tokens
--htmlpress-*pour le thème, et la mise en page, les styles et les composants peuvent être extraits dans un dossier.htmlpress/et remplacés fichier par fichier - Conçu pour les agents — chaque build publie une copie Markdown de chaque page,
llms.txtet vos agent skills, et chaque commande parle JSON - Web components et CSS — chaque élément enrichi est un web component natif et chaque style du CSS pur, isolé avec
@scope, sans runtime de framework dans le navigateur - Python, TypeScript et Rust — disponible aussi bien pour les développeurs Python, TypeScript que Rust, sur PyPI, npm et crates.io, sous la forme d’un seul binaire Rust ; aucun runtime ni dépendance, et le résultat est un site statique avec
sitemap.xml,robots.txtet une page 404, prêt pour n’importe quel hébergeur
Une page
Une page fixe son titre, sa description et son ordre en quelques balises, puis passe directement au contenu :
<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 même page en Markdown porte ces valeurs dans son frontmatter. La configuration est facultative. Un htmlpress.yaml à la racine du projet définit le titre et la description du site, et ses globs include indiquent où se trouvent les pages :
title: My docs
description: Documentation for my project
include: [docs/**/*.html, docs/**/*.md]L’essayer
Chaque canal distribue le même binaire Rust dans la même version : choisissez le gestionnaire de paquets que votre projet utilise déjà.
curl -fsSL https://htmlpress.dev/install.sh | sh
npm install --global gethtmlpress
pip install htmlpress
cargo install htmlpressEnsuite, tout le cycle tient en quatre commandes :
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 fournit six Agent Skills qui apprennent aux agents de code comme Claude Code, Cursor et Codex le fonctionnement d’un projet : le contrat des pages, les composants, les clés de configuration, la personnalisation du thème, le déploiement et la vérification de leur propre travail. Une fois installées, vous n’avez plus rien de tout cela à expliquer dans le prompt.
La suite
Htmlpress est open source sous licence MIT, et sa propre documentation sur htmlpress.dev est construite avec lui. Essayez-le, ouvrez une issue pour partager vos retours et ajoutez une étoile sur GitHub pour aider le projet à grandir — https://github.com/datisthq/htmlpress



