Zum Inhalt

Roadblocks

Automatisierung

Für die Automatisierung habe ich mir eine eigene Dockerfile erstellt, welche mit docker-compose gebuildet wird. Ebenfalls habe ich einen NGINX Server hinzugefügt, weil Mkdocs nicht standalone gehostet werden sollte. (Der Python Webserver hällt nicht so viele connections gleichzeitig aus.)

Docker-compose
version: '3'

services:
  mkdocs:
    build: .
    volumes:
      - /v*****/d*****/d***********:/docs

  nginx:
    image: nginx
    ports:
      - "4685:80"
    volumes:
      - /v*****/d*****/d***********/site:/usr/share/nginx/html
Dockerfile
FROM squidfunk/mkdocs-material
RUN pip install mkdocs-mermaid2-plugin
RUN pip install mkdocs-autorefs
RUN pip install mkdocs-table-reader-plugin
RUN pip install mkdocs-macros-plugin
RUN pip install mkdocs-video

Mkdocs vs Meine Geduld

Um das ganze noch weiter zu automatisieren habe ich ein Script geschrieben welches das GIT Repo erneut herunterlädt und der Dockerinstanz sagt "Hey du! Bau mal bitte den inhalt neu!"

Restartscript
git config --global --add safe.directory /v**/********/*****/**********/************
cd /v**/********/*****/**********/************
git fetch --all
git reset --hard origin/main
git pull
cd /v**/********/*****/**********/************/******

docker-compose exec -i mkdocs mkdocs build -v -c
sudo docker exec -i mkdocs_mkdocs_1 mkdocs build -v -c

Info

Du werter Leser wirst jetzt sicher denken, "Aber warum baust du das zwei mal?" Und du hättest recht.. Aber aus IRGENDEINEM GRUND baut er die Seite teilweise nicht auf, wenn docker-compose genutzt wird, und manchmal nicht wenn docker selbst genutzt wird. (Und glaub mir, es liegt nicht am sudo)

Social cards (Mkdocs vs Meine Geduld v2)

Ich habe heute nach etwa 3 Stunden recherchieren gelernt, dass Mkdocs eine "Insider version" hat. Diese kostet 15 Euro im Monat und fügt weitere Customization Optionen hinzu. Beispielsweise Hintergründe für die Social cards.... Durch das, dass ich die Dokumentation nur überflogen habe, habe ich nicht gesehen, dass die Hintergrundbilder nicht nur im erweiteren Plugin, sondern auch in der Basisversion kostenpflichtig sind.

Zur Aufklärung:

Das hier sind Social Cards: Example of a discord card Sobald irgendwie das Feature aufgeschalten wird für meine Socialcards eigene Hintergründe zu nutzen (Was nicht passieren wird) werde ich folgenden Hintergrund aufschalten:

Funfact

Zu diesem "Fehlverhalten" wird nichts in den Logs angezeigt. Das Plugin arbeitet an sich ja normal :/

Multi-Project ansatz (Mkdocs vs Meine Geduld v3)

Hier ist an sich das selbe Spiel am Werk. Die Projects sind ebenfalls ein Insider feature. ABER diesmal wird im Log angezeigt, dass "Projects" nicht installiert ist, was zumindest ein wenig Hilfe gibt.

Crash wegen leerer beschreibung.

Funfact. Wenn du eine YML in deinen Notizen nutzt (Wie diese Website), lasse NICHT die beschreibung leer.

Error

Page meta description of 'Projekte/Server/Homepage.md' must be a string, but is of type "".

Dies hat sich lösen lassen, indem ich die Metadaten oben ausgefüllt habe. Natürlich schaue ich immer zuletzt die Logs an...