Templating

Voila-Gridstack

gridstack.js ist ein jQuery-Plugin für Widget-Layouts. Dies ermöglicht mehrspaltige Drag & Drop-Raster und anpassbare, für Bootstrap v3 geeignete Layouts. Zudem funktioniert es mit knockout.js und Touch-Geräten.

Das Gridstack-Voilà-Template verwendet die Metadaten der Notebook-Zellen, um das Layout des Notebooks zu gestalten. Es soll die gesamte Spezifikation für die veralteten Jupyter Dashboards unterstützen.

Beispiel für Voilà-Gridstack

voila-vuetify

voila-vuetify ist ein Template zur Verwendung von Voilà mit dem Material Design Component Framework Vuetify.js.

Installation

$ pipenv install bqplot ipyvuetify voila-vuetify==voila-vuetify 0.0.1a8

Verwendung

Um voila-vuetify in einem Notebook zu verwenden, müsst ihr zunächst ipyvuetify importieren:

import ipyvuetify as v

Anschließend könnt ihr ein Layout erstellen z.B mit:

v.Tabs(_metadata={'mount_id': 'content-main'}, children=[
    v.Tab(children=['Tab1']),
    v.Tab(children=['Tab2']),
    v.TabItem(children=[
        v.Layout(row=True, wrap=True, align_center=True, children=[
            v.Flex(xs12=True, lg6=True, xl4=True, children=[
                fig, slider
            ]),
            v.Flex(xs12=True, lg6=True, xl4=True, children=[
                figHist2, sliderHist2
            ]),
            v.Flex(xs12=True, xl4=True, children=[
                fig2
            ]),
        ])
    ]),
    v.TabItem(children=[
        v.Container(children=['Lorum ipsum'])
    ])
])

bqplot_vuetify_example.ipynb. könnt ihr nutzen mit:

$ pipenv run voila --template vuetify-default bqplot_vuetify_example.ipynb

Anschließend öffnet sich euer Standardbrowser mit der URL http://localhost:8866/ und zeigt euch die Plots im Responsive Material Design.

Beispiel für Voilà-vuetify mit der Monitorauflösung eines Laptop MDPI-Screen:

../../../_images/voila-vuetify-laptop.png

Beispiel für Voilà-vuetify mit der Monitorauflösung eine iPhone X:

../../../_images/voila-vuetify-iphone.png

voila-debug

voila-debug ist ein Template zum Anzeigen von Debug-Informationen bei der Arbeit an Voilà-Anwendungen.

Installation

$ pipenv install voila-debug

Verwendung

Ihr könnt das Template debug.ipynb nutzen mit:

$ pipenv run voila --template=debug --VoilaExporter.template_file=debug.tpl

Dies öffnet euren Standardbrowser mit der URL localhost:8866.

In http://localhost:8866/voila/render/docs/jupyter/dashboards/voila/debug.ipynb könnt ihr euch dann die Funktionsweise genauer anschauen.

Beispiel für Voilà-Debug

Es enthält neben einem Beispiel-Widget eine Code-Zelle zum Beenden des Kernels:

import os

def kill_kernel(change):
    os._exit(0)

button = widgets.Button(description="Kill Kernel")
button.on_click(kill_kernel)
button

voila-reveal

voila-reveal ist ein Template für Slideshows basierend auf RevealJS.

Installation

$ pipenv install voila-reveal

Verwendung

Ihr könnt das Template nutzen mit:

$ pipenv run voila --template=reveal reveal.ipynb

Durch zusätzliche Optionen können die Standardeinstellungen überschrieben werden, z.B. um den Standardwert für den Übergang Fade mit Zoom zu überschrieben mit:

$ pipenv run voila --template=reveal --VoilaConfiguration.resources="{'reveal': {'transition': 'zoom'}}" reveal.ipynb

Sollen Konfigurationsoptionen dauerhaft gespeichert werden, so kann eine Datei conf.json in share/jupyter/voila/templates/reveal/ angelegt werden:

{
  "traitlet_configuration": {
    "resources": {
      "reveal": {
        "scroll": false,
        "theme": "simple",
        "transition": "zoom"
      }
    }
  }
}

Ihr könnt euer Notebook dann in eine Slideshow verwandeln in View ‣ Cell Toolbar ‣ Slideshow. In der Werkzeugleiste einer könnt ihr auswählen zwischen

Slide

von links nach rechts

Sub-Slide

von oben nach unten

Fragment

Stop innerhalb einer Folie

Notes

Anmerkungen für Sprecher*innen, die beim Drücken der t-Taste in einem neuen Fenster geöffnet werden

Wenn Ihr eure Vortragsfolien auf binder veröffentlichen wollt, müsst Ihr den folgenden Tag in die Metadaten eures Notebooks schreiben in Edit ‣ Edit Notebook Metadata:

"rise": {
    "autolaunch": true
}

Ihr könnt ebenfalls das chalkboard reveal-Plugin verwenden wenn Ihr die Metadaten des Notebooks erweitert um:

"rise": {
  "enable_chalkboard": true
}

Eigene Templates erstellen

Ein Voilà-Template ist ein Ordner, der sich im Virtual-environment unter share/jupyter/voila/templates befindet und z.B. Folgendes enthält:

/Users/veit/.local/share/virtualenvs/jupyter-tutorial--q5BvmfG/share/jupyter/voila/templates/mytheme
├── conf.json
├── nbconvert_templates
│   └── voila.tpl
├── static
│   ├── mytheme.js
│   └── mytheme.css
└── templates
    ├── 404.html
    ├── browser-open.html
    ├── error.html
    ├── page.html
    └── tree.html
conf.json

Konfigurationsdatei, die z.B. auf das Basis-Template verweist:

{"base_template": "default"}
nbconvert_templates

Benutzerdefinierte Templates für nbconvert.

static

Verzeichnis für statische Dateien.

templates

Benutzerdefinierte Tornado-Templates.