Auf “python4lab.de” möchte ich zukünftig Jupyter Notebooks (#1) nutzen, um Python-Code, Plots, Grafiken und auch Formeln aus TeX/LaTeX (#2) komfortabel in die Webseite einzubinden. Da Jupyter Notebooks die Option zum HTML Export anbieten hatte ich zuerst die naive Vorstellung, es würde genügen, den HTML Code dann in WordPress einfach in einen HTML-Block zu geben. Naja, war alles mal wieder nicht ganz so einfach wie gedacht.
Glücklicherweise gibt es für (fast) alles gute Lösungen und bei diesem Problem bin ich einmal mehr dankbar für die ganzen Tüftler auf GitHub, die sich solcher Probleme annehmen. Und so bin ich nach ein bisschen Recherche auf das “nb2wb” Script des Users “bennylp” gestoßen.
Dank dieses Scripts ist es mir dann gelungen, Jupyter Ausgaben ganz chic in WordPress einbinden zu können. Das ganze sieht dann z.b. so aus:
Plot der Funktion
mittels numpy und seaborn:
import numpy as np
import seaborn as sns
sns.set()
# 100 Werte von -5 bis 5 generieren
xwerte = np.linspace(-5,5,100)
# Funktionswerte generieren
ywerte = xwerte**3 * np.sin(xwerte)
sns.lineplot(x=xwerte, y=ywerte)
<Axes: >
Das alles im Juyper-Notebook zu tippen und dann nach WordPress zu schieben ist ganz cool. Das stellt sich die Frage, wie das Ganze nun funktioniert?
Zuerst einmal muss man sich das Scrip “np2wp” von GitHub besorgen (https://github.com/bennylp/nb2wp). Ich habe mir alle Dateien in ein Verzeichnis auf dem Desktop namens “nb2wp” entpackt. Das Script benutzt das Paket “nbconvert” und dieses produzierte bei mir bei Ausführung einen Fehler, weil das Template “full.tpl” nicht gefunden werden konnte.
Gelöst habe ich das, indem ich zum einen die Datei “full.tpl” aus dem Jupyter-Unterverzeichnis in da Desktop-Verzeichnis “nb2wp” kopiert und dann den Eintrag “template” in der Datei “nb2wp.py” entsprechend angepasst habe:
Nach der kleinen Anpassung läuft das Script seitdem gut durch und ich bin relativ komfortabel in der Lage, Jupyter Notebooks (.IPYNB Files) so zu konvertieren, dass ich die hier im WordPress-Blog per Copy & Paste nutzen kann. Zum Rendern des LaTeX Outputs musste ich jedoch noch ein WordPress Plugin (WP QuickLaTeX) installieren.