Endlich habe ich es geschafft: einen Blog auf Github zu erstellen. Zwar habe ich seit lang mit den Gedanken gespielt, so was zu tun, aber meine Stelle als Referendar an einer Schule in Berlin ließ mich mit kaum Zeit für etwas, das nicht direkt mit der Schule zu tun hat. Aber jetzt, da ich nicht mehr diese Einschränkung habe, habe ich endlich dafür Zeit gefunden.
Die erste Frage, warum ein Blog auf Github? Ich habe schon eine eigene Webseite auf Wordpress und einen Blog auf Blogspot wo ich Materialien hochgeladen habe, die ich für meinen Unterricht entwickelt habe. Aber mit Wordpress oder Blogspot darf man kein Javascript benutzen. Da darf man keine Gleichungen in Latex schreiben. Auf der anderen Seite hatte ich schon Erfahrungen mit Erfahrungen mit Github gemacht und habe viele Blogs und Webseite gesehen, die auf Github erstellt/hosted worden sind.
Die ersten Untersuchungen auf dem Internet haben mir von Jekyll bewusst gemacht, mit dessen Hilfe man einen Blog oder eine Webseite auf Github erstellen kann. Man kann auch Markdown benutzen, um den chreibstil zu modizifieren und Gleichungen in Latex zu schreiben. Danach habe ich tatsächlich eine Webseite auf Github mithilfe von Jekyll erstellt. Die Anleitungen habe ich von dieser hervorragenden Seite bekommen.
Aber dann bin von einem anderen Problem bewusst gewesen. Anders gesagt, bin ich von einer anderen Möglichkeit bewusst gewesen. Ich hatte schon Erfahrung mit dem IPython Jupyter Notebook gemacht und war mit seinen Fähigkeiten total beeindruckt. Ich habe erinnerte irgendwo gelesen zu haben, dass man diesen Notebook zusammen mit einem Blog benutzen kann (hier, genauer gesagt). (Zwar ähnelt der IPython Notebook zum Teil dem RMarkdown Dokumente in RStudio, aber ich bin nicht sicher, ob das letztere im Zusammenhang mit einem Blog oder einer Webseite benutzt werden kann. Außerdem wollte ich Python benutzen und nicht R.) Ich hatte auch inzwischen didaktische, interaktive Software entwickelt, die alle ich in Python geschrieben habe. Deshalb war diese Möglichkeit für mich von Interesse. Nachdem ich auf dem Internet ein bisschen erkundet habe, ist es mir bekannt geworden, dass an statt Jekyll ist Pelican total geeignet, die Kraft von Python und dem Jupyter Notebook in einem Blog oder einer Webseite zu verwenden.
Das war begeisternd, und ich war noch mehr begeistert, als ich diese Webseite gesehen habe, wo die Anleitungen zum Erstellen eines Blogs mithilfe Pelicans und Githubs deutlich beschrieben werden sind. Trotzdem hat es mir 2 Tage gedauert, bis ich diesen Blog verwirklichen konnte. (Viele Probleme sind von den unterschiedlichen Versionen vom Python verursacht worden. Zum Beispiel in meinem Ubuntu 16.04 ist Python2.7 die default Version von Python, während zum Zweck des Erstellens dieses Blogs war Python3.5 oder höher nötig. Die habe ich separat installiert, aber es gab Kompatibilitätsprobleme zwischen diesen Versionen wenn ich die nötigen Packages installiert habe.) Jetzt ist es gemacht und ich bin wirklich begeistert nachzuschauen, was alles möglich ist. Bald muss ich an den Plugins denken, die brauche, z.B. um Kommnets zu ermöglichen usw., aber jetzt will ich die grundlegenden Dinge ausprobieren.
Markdown¶
Das erste, dass ich machen möchte, ist nachzuschauen, ob markdown funktioniert. Markdown ist eine schnelle Lösung für Leute (die meisten von uns), dei wenig Zeit haben, Text mit HTML zu formatieren. (hier ist eine andere Seite, die das Markdown Format beschreibt.)
Man kann Code mit "back-ticks" (also dieses Symbol: `) kennzeichnen. Zum Beispiel, wenn ich den Python Befehl "import numpy as np" als Code zeigen möchte, soll ich in Jupyter Notebook
`import numpy as np`
so schreiben, und das Ergebnis ist:
import numpy as np
Oben wird den Befehl deutlich als Code gekennzeichnet. Also das funktioniert!
Mit Markdown können Überschrifte in fett und groß gedruckt werden. Das wird durch Benutzung des # Symbols ermöglicht. Zum Beispiel, wenn ich in Jupyter Notebook die folgenden Sätze schreibe
# Überschrift 1
## Überschrift 2
### Überschrift 3
#### Überschrift 4
dann bekomme ich als Ergebnis
Überschrift 1¶
Überschrift 2¶
Überschrift 3¶
Überschrift 4¶
wobei sieht man, dass die Größe der Überschrifte mit der Anzahl von # Symbolen kontrolliert werden können. (Vielleicht haben Sie schon bemerkt, dass ich genau diese Idee benutzt habe, um die Überschrift dieses Abschnitts, Markdown, zu schreiben.) Das freut mich, auch das funktioniert.
Ich möchte auch Liste und Tabelle ausprobieren. Unnummerierte Liste kann man mit * erstellen. Zum Beispiel, wenn ich
* Item 1
* Item 2
* Item 3
schreibe, dann bekomme ich als Ergebnis:
- Item 1
- Item 2
- Item 3
Nummerierte Liste kann man so erstellen:
1. Item 1
2. Item 2
4. Item 3
und das Ergebnis ist:
- Item 1
- Item 2
- Item 3
und das interessant ist, dass obwohl ich die Nummer falsch gegeben habe, hat Markdown trotzdem die richtige Reihenfolge der Zahlen benutzt.
Man kann auch Tabelle erstellen. Zum Beispiel:
| Col1 | Col2 | Col3 |
| ------------|----------------|-------|
| a(1,1) | a(1,2) |a(1,3) |
| a(2,1) | a(2,2) | a(2,3)|
| a(3,1) | a(3,2) | a(3,3)|
und das Ergebnis ist
Col1 | Col2 | Col3 |
---|---|---|
a(1,1) | a(1,2) | a(1,3) |
a(2,1) | a(2,2) | a(2,3) |
a(3,1) | a(3,2) | a(3,3) |
Also Liste und Tabelle funtionieren auch.
Latex¶
Am Ende dieser ersten Post möchte ich nachweisen, dass ich Latex Formel schreiben kann. Wenn ich das folgende schreibe
\begin{equation}
H = \hbar\omega \left( n + \frac{1}{2}\right)
\end{equation},
dann bekomme ich:
\begin{equation} H = \hbar\omega \left( a^\dagger a + \frac{1}{2}\right) \end{equation}
Ok! Alles scheint in Ordnung zu sein. In meiner nächsten Post möchte ich sehen, was alles ich mit Python machen kann.