Htmlpress vorgestellt, der HTML-first Static-Site-GeneratorZur Ankündigung

Htmlpress, der HTML-first Static-Site-Generator

Htmlpress ist ein HTML-first Static-Site-Generator für Mensch und Agent, verfügbar für Python, TypeScript und Rust: aus HTML oder Markdown wird eine Website.

Evgeny Karev3 Min. Lesezeit

Aufnahmehtmlpress.dev
Ein Energie-Dashboard, mit htmlpress aus einer einfachen HTML-Seite gebaut: Kennzahlenkarten, ein gestapeltes Balkendiagramm und ein Ringdiagramm, umrahmt von der htmlpress-Seitenleiste, der Navigation und dem Inhaltsverzeichnis

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 include und exclude holen sie stattdessen von überall im Repository, sodass die Doku neben dem Code liegt und ein CHANGELOG.md oder die SKILL.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.txt und 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 @scope gekapselt, 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.txt und 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 htmlpress

Danach 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

Was wir bauen

Von der Datenebene bis zur Oberfläche: Suche, Integrationen, Hintergrundprozesse und die Infrastruktur, die alles am Laufen hält.

Full-Stack-Webanwendungen · Typisierte APIs · Durable Workflows · Container-Orchestrierung

Das interne Werkzeug, das Ihre Branche wirklich braucht — Leads, Abschlüsse, Bestand, Rechnungen, Berechtigungen, ein Audit-Trail. Gebaut um Ihre Arbeitsweise herum statt um eine Vorlage.

Transaktionale Datenbanken · Identität & Zugriff · Typisierte APIs · Full-Stack-Webanwendungen

iOS und Android aus einer Codebasis, mit denselben Typen wie Ihr Backend, damit beide nicht auseinanderlaufen. Über die Stores oder over the air.

Mobile & Desktop · Typisierte APIs · Identität & Zugriff

Schnelle, vorgerenderte Websites, die sofort laden und im Betrieb fast nichts kosten. Inhalte, die Sie selbst bearbeiten können, in so vielen Sprachen, wie Sie brauchen.

Full-Stack-Webanwendungen · Designsysteme · Internationalisierung · Edge-Plattform

Projektbeispiele

Aufnahmemycarro.app
Die Fahrzeugsuche von Mycarro, wie sie heute läuft, über die aktuellen portugiesischen Inserate.

Mycarro — Auto-Suchmaschine und Händler-CRM

Ein Gebrauchtwagen-Marktplatz, live in Portugal. Verbrauchersuche über Inserate aus dem gesamten Markt, ein Händler-Back-Office für Leads, Bestand und Rechnungen sowie eine mobile App — end to end gebaut.

wir haben gebaut

unter NDA
Arbeit, die wir nicht zeigen können
ND

NDA — MVP einer Schweizer Fintech-Plattform

Ein plattformübergreifendes MVP für eine regulierte Finanzdienstleistungsplattform, von Anfang bis Ende konzipiert und gebaut: ein Contract-first-Backend, ein Operations-Dashboard sowie iOS- und Android-Apps, die aus demselben Contract erzeugt werden.

Kunde · NDA

Kontakt aufnehmen

Sagen Sie uns, was gebaut werden soll.

Wir sind ein kleines Team in Portugal und arbeiten zu Londoner Zeiten. Eine Website, eine App, ein internes Werkzeug oder die Plattform dahinter — beginnen Sie mit einem Satz zum Problem, den Rest übernehmen wir.

Alle Beiträge
Angebot anfordern