GitLab-Seiten mit Jupyter-Büchern
Zuletzt aktualisiert am 2025-11-05 | Diese Seite bearbeiten
Geschätzte Zeit: 0 Minuten
Übersicht
Fragen
- Wie veröffentliche ich Webseiten über GitLab und Jupyter Books?
Ziele
- Veröffentlichen Sie Jupyter-Notebooks als HTML im Internet mit GitHub Pages.
Lassen Sie uns etwas anderes machen, das ein wenig vertrauter klingt, wenn Sie mit den Jupyter Projekten vertraut sind. Von deren Website:
Das Projekt Jupyter dient der Entwicklung von Open-Source-Software, offenen Standards und Diensten für interaktives Rechnen in Dutzenden von Programmiersprachen.
Jupyter-Notizbücher ermöglichen es Ihnen, Dokumente zu erstellen und auszutauschen, die sowohl Live-Code als auch erzählenden Text enthalten. Jupyter Lab erweitert ihre Funktionalitäten durch die Schaffung einer interaktiven Entwicklungsumgebung (die es Ihnen ermöglicht, in Ihrem Dateisystem zu navigieren und die Codierungsumgebung zu definieren). Jupyter Hub ist eine Mehrbenutzerversion von Jupyter Lab, die Institutionen lokal implementieren können (wie wir am EMBL).
Und Jupyter-Buch?
Jupyter Book ist ein Open-Source-Projekt zur Erstellung von schönen, publikationsreifen Büchern und Dokumenten aus Berechnungsmaterial.
Das ausführliche Tutorial wird Sie durch die Installationsschritte und die detaillierten Anpassungsmöglichkeiten führen, im Rahmen dieser Lektion werden wir nur die Grundlagen behandeln. Das Wichtigste zuerst: Installieren wir Jupyter Book. In Ihrem Terminal:
Bitte beachten Sie: Sie müssen auch pip installiert haben. Lassen Sie uns nun unser erstes Buchprojekt erstellen. Der Befehl
jupyter-book --helpwürde uns dabei helfen, die Optionen zu überprüfen, aber diese Lektion wird etwas spoilern: die
Befehl erstellt ein einfaches Jupyter-Buch in einem
jupyter-book-demo-Ordner. Dieser Ordner enthält bereits die drei Dinge, die zum Erstellen eines Buches benötigt werden: eine_config.yml-Datei, ein_toc.yml-Inhaltsverzeichnis und den Inhalt des Buches in einer Sammlung von MarkDown-, reStructuredText- oder Jupyter Notebook-Dateien.
Da wir von der ganzen Entwicklung und Bereitstellung müde sind,
wollen wir nicht wirklich etwas am Inhalt ändern, aber wir priorisieren
stattdessen, dass er in GitLab läuft. Raten Sie mal, was wir hinzufügen
müssen? In der Tat eine .gitlab-ci.yml-Datei.
YAML
pages:
stage: deploy
image: python:slim
script:
- pip install -U jupyter-book
- jupyter-book clean .
- jupyter-book build .
- mv _build/html public
artifacts:
paths:
- public
Dieser Teil des Codes:
- Installiert jupyter-book (oder prüft, ob es korrekt installiert ist).
- Säubert den Ordner von Dateien, die von (eventuellen) früheren Builds stammen.
- führt den Befehl
jupyter-book build .aus, der das Buch im Ordner in einem Unterordner_builderstellt. Sie können die Ausgabe überprüfen, indem Sie den gleichen Befehl in Ihrem Terminal ausführen, und Sie werden feststellen, dass sich die eigentlichen HTML-Dateien im Unterordner_build/htmlbefinden. - Es verschiebt dann den HTML-Inhalt in unseren üblichen
public-Ordner, wo die Artefakte gespeichert sind.
Deine Zeit zum Experimentieren mit einer Vorlage
Diese Vorlage ist absichtlich minimal gehalten, um Ihnen die Möglichkeit zu geben, Ihre Fähigkeiten beim Lesen der Dokumentation zu testen. Schauen Sie sich die Themenleitfäden auf jupyterbook.org an und finden Sie einen Weg, um:
- Fügen Sie eine weitere Seite mit dem Namen “Über” hinzu, die mit dem Inhaltsverzeichnis verlinkt ist.
- Spielen Sie mit dem Dateiformat dieser neuen Seite, fügen Sie die gleiche Art von Inhalt in den Formaten MarkDown, reStructuredTex und Notebook hinzu.
- Füge eine Abbildung und eine Bildunterschrift hinzu.
- Fügen Sie eine Codezelle ein. Wenn Sie mit einer Programmiersprache vertraut sind, fügen Sie einen einfachen Plot ein und visualisieren Sie die Ausgabe dieses Plots in Ihrer Seite.
- Für weitere fortgeschrittene Code-Funktionen, siehe how to make the code executable
- Schauen Sie in der Galerie der Jupyter-Bücher nach, um sich inspirieren zu lassen!
- Mit Jupyter Books können Sie interaktive Komponenten und Code in Ihre Webseiten integrieren.