Einführung
Htmlpress ist ein HTML-first Static-Site-Generator. Schreiben Sie HTML-Seiten oder Markdown, wo immer sie in Ihrem Projekt liegen, und htmlpress macht daraus eine Website. Jede Seite behält ihr eigenes Markup, und htmlpress ergänzt ein Layout, ein Theme, eine Navigation und einen Entwicklungsserver mit Live-Reload. Es gibt kein Framework und keine Template-Sprache: Sie oder Ihr Coding-Agent schreiben einfach die Seiten. Und es steht Python-, TypeScript- und Rust-Entwicklern gleichermaßen zur Verfügung: ein Rust-Binary, installiert mit pip, npm oder cargo.
Warum noch ein Site-Generator
Die meisten Dokumentationswerkzeuge verlangen zuerst einen Stack: ein JavaScript-Framework, einen Komponenten-Dialekt wie MDX, eine Template-Sprache, eine Build-Konfiguration. Das ist viel Fläche, die ein Mensch lernen muss – und noch mehr, die ein Agent falsch machen kann.
Htmlpress geht den umgekehrten Weg. Eine Seite ist semantisches HTML oder schlichtes Markdown – die Formate, die Agenten besser kennen als jede Template-Sprache –, und das Theme gestaltet die Elemente selbst: Überschriften, Tabellen, Codeblöcke, <details> und <figure> sehen ohne Klassen gut aus, im hellen wie im dunklen Modus. Je weniger Entscheidungen eine Seite zulässt, desto mehr wirken alle Seiten wie eine Website.
Was Sie bekommen
- Einfach HTML schreiben – eine Seite ist jede
.html-Datei, ob vollständiges Dokument oder bloßes Fragment, deren<title>- und<meta>-Tags ihre Metadaten sind; eine.md-Datei mit Frontmatter funktioniert ebenso - Seiten von überall – standardmäßig jede Seite im Ordner; die Globs
includeundexcludeholen sie stattdessen von überall im Repository, sodass die Doku neben dem Code liegt und einCHANGELOG.mdoder dieSKILL.md-Dateien, die Sie ohnehin pflegen, Teil der Website werden - Reichhaltige Elemente – Hinweise, Tabs, Schritte, Karten, Badges, Dateibäume, sortierbare Tabellen, Terminals, Paketmanager-Tabs, Mermaid-Diagramme und Einbettungen, alle als
htmlpress-*-Custom-Elements - Navigation inklusive – eine nach Ordnern verschachtelte Seitenleiste, Breadcrumbs, ein Inhaltsverzeichnis, Vor-/Zurück-Links und ein „Auf GitHub bearbeiten“-Link
- Doku, Blog und Changelog – teilen Sie eine Website in Bereiche, jeder mit eigenem Tab und eigener Navigation: Dokumentation, in der Seitenleiste nach Ordnern gruppiert, ein Blog mit datierten Beiträgen, die neuesten zuerst, mit Tag-Seiten und RSS-Feed, und ein Changelog mit einer Seite pro Version aus einem Markdown-Changelog
- Mehrsprachig – Übersetzungen neben den Originalen, eine Sprachauswahl und die Oberfläche in sieben mitgelieferten Sprachen
- Anpassbar –
--htmlpress-*-Tokens für das Theme, und Layout, Styles und Komponenten lassen sich in einen.htmlpress/-Ordner übernehmen und Datei für Datei ersetzen - Für Agenten gemacht – jeder Build veröffentlicht eine Markdown-Kopie jeder Seite,
llms.txtund Ihre Agent Skills, und jeder Befehl spricht JSON - Web Components und CSS – jedes reichhaltige Element ist eine native Web Component und jeder Stil schlichtes CSS, mit
@scopegekapselt, ohne Framework-Laufzeit im Browser - Python, TypeScript und Rust – für Python-, TypeScript- und Rust-Entwickler gleichermaßen verfügbar, über PyPI, npm und crates.io, als ein Rust-Binary; keine Laufzeit und keine Abhängigkeiten, und heraus kommt eine statische Website mit
sitemap.xml,robots.txtund 404-Seite, bereit für jedes Hosting
Eine Seite
Eine Seite legt Titel, Beschreibung und Reihenfolge in wenigen Tags fest und kommt dann zur Sache:
<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>Dieselbe Seite in Markdown trägt diese Werte im Frontmatter. Konfiguration ist optional. Eine htmlpress.yaml im Projektstamm legt Titel und Beschreibung der Website fest, und ihre include-Globs sagen, wo die Seiten liegen:
title: My docs
description: Documentation for my project
include: [docs/**/*.html, docs/**/*.md]Ausprobieren
Jeder Kanal liefert dasselbe Rust-Binary in derselben Version – nehmen Sie also den Paketmanager, den Ihr Projekt ohnehin nutzt:
curl -fsSL https://htmlpress.dev/install.sh | sh
npm install --global gethtmlpress
pip install htmlpress
cargo install htmlpressDanach besteht der ganze Ablauf aus vier Befehlen:
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 liefert sechs Agent Skills mit, die Coding-Agenten wie Claude Code, Cursor und Codex beibringen, wie ein Projekt funktioniert: den Seitenvertrag, die Komponenten, die Konfigurationsschlüssel, wie man das Theme anpasst, wie man deployt und wie man die eigene Arbeit prüft. Sind sie installiert, müssen Sie nichts davon im Prompt erklären.
Wie es weitergeht
Htmlpress ist Open Source unter der MIT-Lizenz, und seine eigene Dokumentation auf htmlpress.dev ist damit gebaut. Probieren Sie es aus, eröffnen Sie ein Issue mit Ihrem Feedback und geben Sie dem Projekt einen Stern auf GitHub, damit es wachsen kann – https://github.com/datisthq/htmlpress



