Datengesteuerter Stil und Typografie für JupyterLab von JSS angetrieben.
Dies ist kostenlose Software
Wir probieren hier einige Dinge aus und laden Sie ein, es zu testen, aber machen Sie keine Garantie dafür, dass es gut ist oder sogar funktioniert. Was wir damit verstehen, wird im Shouty -Text am Ende der Lizenz behandelt.
Wenn etwas gebrochen ist, machen Sie Mitwirkender und wecken Sie ein Problem, aber wir können keine Reaktionszeit garantieren. In ähnlicher Weise wird PRS zeitlich überprüft.
pip install jupyterlab-fonts
# or
conda install -c conda-forge jupyterlab-fontsEs tut uns leid, dich gehen zu sehen!
pip uninstall jupyterlab-fonts
# or
conda uninstall jupyterlab-fontsUm Ihre Standard -Schriftarten zu ändern, wählen Sie im Hauptmenü Einstellungen ▶ Schriftarten ▶ Code ▶ Schriftart (oder Größe oder Zeilenhöhe ) und den Wert, den Sie möchten.
Einige Funktionen von Inhalten , dh Ihr gerenderter Markdown und HTML, sind ebenfalls verfügbar, und es werden hoffentlich im Laufe der Zeit mehr hinzugefügt.
Sie können alle verfügbaren Schriftkonfigurationen anzeigen, indem Sie Einstellungen auswählen ▶ Schriftarten ▶ Globale Schriftarten .... Diese Werte werden in Ihren JupyterLab -Einstellungen gespeichert.
Ändern Sie beim Anzeigen von .ipynb nur die Schriftarten für diese Datei , indem Sie in die Notebook -Symbolleiste klicken (jetzt neben dem Zelltyp). Die Schriftart, Stiländerungen und seine Lizenzinformationen werden in der Notebook -Metadaten gespeichert.
Dies kann die Größe Ihrer Notebook -Datei schnell erhöhen und es schwieriger machen, die Zusammenarbeit zu verwenden. Wir untersuchen einige veränderte Ansätze.
In JupyterLab kann der Abschnitt "Schriftarten" der erweiterten JSON -Einstellungen die Dinge, die völlig nicht mit Schriftarten zu tun haben, steuern. Es gibt keine Garantie dafür, dass hochkundenspezifische Stile gut mit dem Schriftartredakteur oder mit nachgeschalteten Anwendungen von jupyterlab-fonts Metadaten zusammenarbeiten werden.
Hier ist ein Beispiel dafür, wie eine Notebook -Datei im Präsentationsmodus aussieht.
{
"styles" : {
":root" : {
"--jp-code-font-family" : " 'Fira Code Regular', 'Source Code Pro', monospace " ,
"--jp-code-font-size" : " 19px "
},
".jp-mod-presentationMode .jp-Notebook" : {
"& .CodeMirror, & .cm-editor" : {
"fontSize" : " 32px "
},
"& .jp-InputPrompt, & .jp-OutputPrompt" : {
"display" : " none "
}
}
}
} In ähnlicher Weise ermöglicht der JupyterLab -Eigenschaftsinspektor diese Anpassungen in einer bestimmten .ipynb -Datei sowohl auf der Dokument- als auch auf der Zellebene: Diese werden dynamisch generiert und in die Dokument-/Zell id gesendet.
Das obige Beispiel zeigt, wie unterschiedliche Versionen von JupyterLab (oder Notebook) unterschiedliche DOM -Klassen für denselben logischen Inhalt verwenden können, z. B.:
| Element | JupyterLab <4 | Jupyterlab 4 |
|---|---|---|
| Ein Code -Editor | .CodeMirror | .cm-editor |
Alle JSON-kompatiblen Funktionen der jss-preset-default Plugins werden mit den Standardeinstellungen mit einigen spezifischen Notizen unten aktiviert. Für die Portabilität werden dynamische JS-basierte Funktionen nicht unterstützt.
Das & (Ampersand) ermöglicht Nist -Selektoren, wie das W3C CSS -Verschachtelmodul standardisiert und in vielen Browsern implementiert wird.
Alle Einstellungen abgeleiteten Stilen werden in einen @global Selektor eingewickelt.
overrides.json overrides.json ermöglicht eine einfache, deklarative Konfiguration von JupyterLab Core- und Drittanbieter-Erweiterungen, selbst nachdem der Laborserver gestartet wurde.
{
"@deathbeds/jupyterlab-fonts:fonts" : {
"styles" : {
":root" : {
"--jp-code-font-family" : " 'Fira Code Regular', 'Source Code Pro', monospace " ,
"--jp-code-font-size" : " 19px "
}
}
}
} In Binder kann man dies mit einem postBuild -Skript bereitstellen:
#! /usr/bin/env bash
set -eux
mkdir -p " ${NB_PYTHON_PREFIX} /share/jupyter/lab/settings "
cp overrides.json " ${NB_PYTHON_PREFIX} /share/jupyter/lab/settings " In ähnlicher Weise ist dies eine bekannte Datei für Jupyterlite, die es unkompliziert macht, Lichtanpassungen durchzuführen, ohne ein volles Themen-Plugin zu erstellen und zu verteilen.