Hyperbook Dokumenation

Buch Konfiguration

In deinem neuen Hyperbook-Projekt findest du eine hyperbook.json Datei. Diese Datei wird verwendet, um dein Hyperbook zu konfigurieren. Hier ist eine Liste von Optionen, die du definieren kannst. Optionen mit einem "*" müssen gesetzt werden.

Property Description
name* Name des Hyperbooks. Wird für den Seitentitel verwendet.
description Beschreibung des Hyperbooks. Wird für SEO verwendet.
search Erlaubt es im Hyperbook zu suchen.
logo URL eines Logos. Wird für den Seitentitel verwendet. Diese kann relative zum public-Ordner (z.B.: /mein-logo.png) sein oder ein externes Bild referenzieren.
author.name Name des Autors des Hyperbooks. Wird in der Fußzeile verwendet.
author.url URL zur Homepage des Autors. Wird in der Fußzeile verwendet.
font URL zu einer Schriftart. Wird für Überschriften und normalen Text verwendet. Du kannst ":90%" hinzufügen um die Schriftgröße anzupassen.
fonts.heading URL zu einer Schriftart. Wird für Überschriften verwendet. Du kannst ":90%" hinzufügen um die Schriftgröße anzupassen.
fonts.body URL zu einer Schriftart. Wird für normalen Text verwendet. Du kannst ":90%" hinzufügen um die Schriftgröße anzupassen.
fonts.code URL zu einer Schriftart. Wird für Quelltexte verwendet. Du kannst ":90%" hinzufügen um die Schriftgröße anzupassen.
colors.brand Die Farbe der Kopfzeile und von Akzenten z.B. von Links.
colors.brandDark Die Farbe der Akzente z.B. von Links. Nur relevant für das dunkle Design. Brand text wird im dunklen Design nicht verwendet.
colors.brandText Die Farbe für den Text in der Kopfzeile.
basePath Wenn das Hyperbook aus einem Unterordner bereitgestellt werden soll, muss dieser hier angegeben werden.
license Lizenz unter der das Hyperbook veröffentlicht ist.
language Die Sprach des Hyperbooks.
repo Der Link zum GitHub-Repository. Wird für das Zeigen eines Edit-Buttons verwendet. Der Platzhalter %path% wird durch den aktuellen Pfad ersetzt oder der aktuelle Pfad wird ans Ende angehangen.
repo.url Der Link zum Repository. Wird für das Zeigen eines Edit-Buttons verwendet. Der Platzhalter %path% wird durch den aktuellen Pfad ersetzt oder der aktuelle Pfad wird ans Ende angehangen.
repo.label Der Bezeichner für den Repository-Link.
elements Hier können einzelne Elemente konfiguriert werden. Schaue dazu auf die Elementseiten.
links Hier können Links hinzugefügt werden, welche in der rechten oberen Ecke angezeigt werden. Schaue dir dazu das untere Beispiel an.
styles Hier können Links zu eigenen CSS-Styles gesetzt werden.
scripts Hier können Links zu eigenen JavaScript-Dateien gesetzt werden.
allowDangerousHtml Erlaube HTML im Hyperbook. Dies kann zu Inkompatibilität in zukünftigen Versionen führen.
qrcode Zeigt ein Icon, um einen QR-Code zur aktuellen Seite anzuzeigen.
toc Zeige ein Inhaltsverzeichnis. Diese ist standardmäßig aktiviert für Seiten und deaktiviert für Begriffe im Glossar.
llms Wenn auf true gesetzt, wird eine llms.txt-Datei generiert, die alle Markdown-Dateien in Reihenfolge kombiniert. Die Datei enthält den Buchnamen und die Version im Header-Format.
trailingSlash Exportiert alle Datei in eigene Verzeichnisse und erzeugt nur index.html Dateien.
importExport Ermöglicht das Importieren und Exportieren des Zustands des Hyperbooks als Datei. Schaltflächen zum Importieren und Exportieren befinden sich am unteren Rand der Seite.
cloud.url URL deines Hyperbook Cloud-Servers. Aktiviert den Schüler-Login und die Cloud-Synchronisierung.
cloud.id Der Hyperbook-Slug/ID auf dem Cloud-Server. Muss mit dem Slug übereinstimmen, der in der Cloud-Admin-Oberfläche konfiguriert ist.
version Konfiguriert, wo die Version des Hyperbooks angezeigt wird. "text" zeigt sie unter dem "Powered by Hyperbook"-Text an. "tooltip" als Tooltip beim Hover über den "Powered by Hyperbook"-Text und "console" nur in der Konsole.

Hier ist eine Beispielkonfiguration:

{
  "name": "Hyperbook Documentation",
  "description": "Documentation for Hyperbook created with Hyperbook",
  "search": true,
  "qrcode": false,
  "author": {
    "name": "OpenPatch",
    "url": "https://openpatch.org"
  },
  "font": "/fonts/my-font.woff2:90%",
  "logo": "/logo.png",
  "license": "CC-BY-SA",
  "language": "en",
  "basePath": "/hyperbook-github-pages",
  "repo": "https://github.com/mikebarkmin/hyperbook-github-pages/edit/main",
  "colors": {
    "brand": "#FF0000"
  },
  "cloud": {
    "url": "https://cloud.example.com",
    "id": "my-hyperbook"
  },
  "elements": {
    "bookmarks": false
  },
  "links": [
    {
      "label": "Contact",
      "links": [
        {
          "label": "Mail",
          "icon": "📧",
          "href": "mailto:contact@openpatch.org"
        },
        {
          "label": "Twitter",
          "icon": "🐦",
          "href": "https://twitter.com/openpatchorg"
        },
        {
          "label": "Mastodon",
          "icon": "🐘",
          "href": "https://fosstodon.org/@openpatch"
        },
        {
          "label": "Matrix (Chat)",
          "icon": "👨‍💻",
          "href": "https://matrix.to/#/#hyperbook:matrix.org"
        }
      ]
    },
    {
      "label": "OpenPatch",
      "href": "https://openpatch.org"
    }
  ]
}

Lokale Dateien und CDNs

PyIDE verwendet standardmäßig das Pyodide-CDN, weil die vollständige Distribution sehr groß ist. Andere Elemente laden ihre großen Laufzeitumgebungen beim ersten Bedarf herunter und kopieren sie in den Build. Mit cdn kannst du dieses Verhalten ausdrücklich festlegen:

{
  "name": "Mein Hyperbook",
  "elements": {
    "pyide": { "cdn": false },
    "typst": { "cdn": "https://assets.example.com/directive-typst/" },
    "geogebra": { "cdn": true },
    "openscad": { "cdn": false }
  }
}
Wert Verhalten
Nicht gesetzt Bei pyide das Standard-CDN verwenden; bei anderen Elementen die Laufzeitumgebung herunterladen und in den Build kopieren.
false Die Laufzeitumgebung herunterladen und in den Build kopieren, auch bei pyide.
true Die Laufzeitumgebung vom Standard-CDN laden.
Eine HTTP(S)-Basis-URL Die Laufzeitumgebung vom eigenen Server oder CDN laden.

Diese Option gibt es für pyide, typst, geogebra, openscad, excalidraw, onlineide, sqlide und blockflow. Die Einstellung blockflow gilt für den Player und den Editor. Kiri:Moto verwendet weiterhin seinen externen Dienst.

Die Standard-CDNs sind jsDelivr für Pyodide und Typst, der GeoGebra-Server für GeoGebra, die gehostete Blockflow-App unter blockflow.openpatch.org für Blockflow, die eigenen Pakete von Excalidraw auf UNPKG für Excalidraw und cdn.openpatch.org für OpenSCAD, die Online-IDE und die SQL-IDE. Diese Openpatch-Laufzeitumgebungen verwenden festgelegte Releases, die direkt aus ihrem jeweiligen Repository veröffentlicht werden. Die kleinen Integrationsskripte und Styles von Hyperbook bleiben im Build.

Die Hyperbook-Erweiterung für VS Code enthält diese Laufzeitumgebungen nicht. Ihre Vorschau verhält sich wie ein Build: Elemente mit cdn laden von diesem CDN, die anderen verwenden die Laufzeitumgebungen aus dem Asset-Cache der CLI, den die Erweiterung mitbenutzt. Eine noch nicht heruntergeladene Laufzeitumgebung lädt vom Standard-CDN. Mit Hyperbook: Download Element Runtimes... oder Hyperbook: Download All Element Runtimes lädst du Laufzeitumgebungen in VS Code für die Offline-Vorschau herunter. Setze bei PyIDE zusätzlich elements.pyide.cdn auf false, um die heruntergeladene Laufzeitumgebung zu verwenden.

Eine eigene URL muss auf den Inhalt des Verzeichnisses __hyperbook_assets/directive-<element>/ aus einem lokalen Build zeigen. Behalte die Unterverzeichnisse bei. Bei pyide muss die URL direkt auf die Pyodide-Distribution mit pyodide.js und pyodide-lock.json zeigen, zum Beispiel https://assets.example.com/pyodide/.

Wenn eine eigene CDN-URL eine andere Origin als das Buch hat (andere Domain, anderer Port oder anderes Protokoll), muss der Server für die Laufzeitdateien Anfragen von dieser Origin erlauben, zum Beispiel mit Access-Control-Allow-Origin: *. Lokal eingebundene Dateien und eigene URLs auf derselben Origin wie das Buch benötigen keine zusätzlichen CORS-Header. Wenn das Buch HTTPS verwendet, müssen auch seine CDN-URLs HTTPS verwenden.

hyperbook assets fetch überspringt Laufzeitumgebungen mit aktiviertem CDN. Für hyperbook build --offline müssen diese nicht im Cache liegen. Zum Lesen des Buchs ist weiterhin Zugriff auf das konfigurierte CDN nötig. hyperbook assets fetch --all lädt unabhängig von der Elementkonfiguration alle Laufzeitumgebungen herunter.

Siehe Hosting und Caching, um Downloads zwischen CI-Builds aufzubewahren und Cache-Header für das exportierte Buch festzulegen.

Buch Konfiguration

Teilbare URL erstellen

Abschnitte auswählen

✎ GitHub© Copyright 2026 by OpenPatch