• Konvertieren von Markdown zu LibreOffice vice versa

    So konvertierst du eine Markdown-Datei ins LibreOffice-Format und umgekehrt

    Markdown ist eine beliebte Auszeichnungssprache, die oft für die Erstellung von Textdokumenten, insbesondere in der Software-Entwicklung und im Webbereich, verwendet wird. Doch was, wenn du ein Markdown-Dokument in ein offizielleres Format wie das von LibreOffice (ODT) umwandeln möchtest oder du ein LibreOffice-Dokument in Markdown konvertieren willst? In diesem Artikel erklären wir, wie du beide Konvertierungen problemlos durchführen kannst.

    Markdown in LibreOffice (ODT) konvertieren

    Es gibt verschiedene Möglichkeiten, eine Markdown-Datei in das LibreOffice-Format (ODT) zu konvertieren. Hier stellen wir dir zwei beliebte Methoden vor: die Nutzung eines Konvertierungstools und die manuelle Umwandlung über ein Textverarbeitungsprogramm.

    Pandoc – Das vielseitige Konvertierungstool

    Pandoc ist ein leistungsstarkes und flexibles Kommandozeilenwerkzeug, das verschiedene Dateiformate miteinander konvertieren kann, darunter auch Markdown und ODT. Es ist sowohl für Windows, macOS als auch für Linux verfügbar.

    Schritte:

    1. Installiere Pandoc:
      • Auf Windows kannst du Pandoc von pandoc.org herunterladen.
      • Auf macOS kannst du es über Homebrew installieren:
    Bash
    brew install pandoc

    Auf Linux kannst du es über deinen Paketmanager installieren:

    Bash
    sudo apt install pandoc

    Markdown-Datei konvertieren

    Angenommen, deine Markdown-Datei heißt beispiel.md, dann kannst du sie mit folgendem Befehl in das ODT-Format konvertieren:

    Bash
    pandoc beispiel.md -o beispiel.odt
    1. Dieser Befehl nimmt deine Markdown-Datei und erzeugt eine ODT-Datei, die du dann mit LibreOffice öffnen kannst.

    LibreOffice (ODT) in Markdown konvertieren

    Nun, da wir wissen, wie man eine Markdown-Datei in das LibreOffice-Format konvertiert, wollen wir auch wissen, wie man umgekehrt von ODT nach Markdown konvertiert.

    Pandoc ist auch hier die ideale Lösung. Es kann eine ODT-Datei direkt in Markdown umwandeln. Du benötigst nur einen einfachen Befehl.

    Schritte:

    Angenommen, du hast eine ODT-Datei mit dem Namen beispiel.odt, führe den folgenden Befehl aus:

    Bash
    pandoc beispiel.odt -o beispiel.md

    Dieser Befehl wird die ODT-Datei in eine Markdown-Datei umwandeln, die du in jedem Markdown-Editor weiterbearbeiten kannst.

    Fazit

    Die Konvertierung von Markdown in das LibreOffice-Format und umgekehrt ist dank leistungsstarker Tools wie Pandoc einfach und effizient. Ob du nun Markdown in ODT für die weitere Bearbeitung mit LibreOffice oder ODT in Markdown für die Verwendung in einem textbasierten Editor umwandeln möchtest – es gibt für jede Situation die passende Lösung.

  • Installation von QEMU/KVM auf Linux Mint

    In diesem Artikel erkläre ich, wie man QEMU/KVM auf Linux Mint installiert und gebe einige zusätzliche Hinweise zur Nutzung des Tools. QEMU und KVM sind leistungsstarke Werkzeuge zur Virtualisierung, die es ermöglichen, virtuelle Maschinen (VMs) effizient zu erstellen und zu verwalten.

    Getestet mit Linux Mint 22.

    Schritt 1: Installation der erforderlichen Pakete

    Um QEMU/KVM zusammen mit einem grafischen Manager zu nutzen, müssen wir zunächst die benötigten Pakete installieren. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

    Bash
    sudo apt install bridge-utils virt-manager

    Nach der Installation müssen sie eventuell Ihr System rebooten damit das Tool aktiv wird.

    Erklärung der Pakete:

    • bridge-utils: Dieses Paket enthält Tools zur Verwaltung von Netzwerkbrücken, die in Virtualisierungsumgebungen wichtig sind.
    • virt-manager: Dies ist der grafische Manager, der eine benutzerfreundliche Oberfläche für die Verwaltung von VMs bietet. Bei der Installation werden automatisch alle erforderlichen Abhängigkeiten mitinstalliert.

    Schritt 2: Virtuelle Maschinen erstellen

    Nach der Installation können Sie den Virtuelle Maschinen-Manager (virt-manager) starten. Dies geht ganz einfach über das Anwendungsmenü oder indem Sie im Terminal virt-manager eingeben.

    Eine VM erstellen oder importieren:

    • Um eine neue VM zu erstellen, klicken Sie auf „Neue virtuelle Maschine“ und folgen Sie den Anweisungen im Assistenten. Hier können Sie die gewünschten Ressourcen wie CPU, RAM und Festplattenspeicher konfigurieren.
    • Falls Sie bereits eine VM haben, können Sie diese auch importieren, indem Sie die entsprechenden Optionen im Manager nutzen.

    Netzwerkoptionen

    Ein wichtiger Aspekt bei der Nutzung von VMs ist die Netzwerkintegration. Sie können VMs entweder ohne Netzwerkzugang oder mit verschiedenen Netzwerkmodi (z. B. NAT, bridged) konfigurieren.

    Wenn Sie einen bridged Netzwerkmodus wählen, wird Ihre VM so behandelt, als wäre sie ein eigenständiger Computer im Netzwerk, was besonders nützlich für Serveranwendungen ist.

    Zusätzliche Hinweise

    • Netzwerkkonfiguration: Wenn Sie virtuelle Maschinen mit Internetzugang benötigen, stellen Sie sicher, dass Sie die Netzwerkeinstellungen korrekt konfigurieren. Sie können zwischen verschiedenen Netzwerkkonfigurationen wählen, z. B. NAT oder Bridge-Mode.
    • Leistung optimieren: Um die Leistung Ihrer virtuellen Maschinen zu verbessern, stellen Sie sicher, dass Ihr System über genügend RAM und CPU-Ressourcen verfügt. Es kann hilfreich sein, die Hardwarevirtualisierung im BIOS zu aktivieren, wenn dies noch nicht geschehen ist.
    • Ressourcen überwachen: Nutzen Sie Tools wie htop oder den integrierten Task-Manager, um die Ressourcennutzung Ihrer virtuellen Maschinen im Auge zu behalten. Dies hilft Ihnen, Engpässe frühzeitig zu erkennen.
    • Fehlerbehebung: Wenn Sie auf Probleme stossen, überprüfen Sie die Logs. Diese finden Sie in der Regel unter /var/log/libvirt/. Dort können Sie nützliche Fehlermeldungen finden, die Ihnen bei der Diagnose helfen.

    Häufige Probleme und Tipps

    Bei der Installation kann es manchmal zu Problemen kommen, insbesondere wenn man auf veraltete Anleitungen stösst. Hier sind einige Tipps, um häufige Fallstricke zu vermeiden:

    1. Aktualisieren Sie Ihr System: Stellen Sie sicher, dass Ihr Mint auf dem neuesten Stand ist. Führen Sie dazu sudo apt update && sudo apt upgrade aus.
    2. Kernel-Module prüfen: Überprüfen Sie, ob die Kernel-Module für KVM geladen sind. Dies können Sie mit lsmod | grep kvm tun. Falls die Module nicht geladen sind, können Sie versuchen, sie manuell zu laden.
    3. Virtualisierung im BIOS aktivieren: Stellen Sie sicher, dass die Virtualisierungstechnologie (VT-x oder AMD-V) im BIOS aktiviert ist. Ohne diese Einstellung kann KVM nicht genutzt werden.

    Fazit

    Die Installation von QEMU/KVM auf Linux Mint ist mit wenigen Schritten schnell erledigt. Mit dem virtuellen Maschinen-Manager können Sie unkompliziert VMs erstellen und verwalten. Durch die Berücksichtigung der oben genannten Tipps und Hinweise können Sie potenzielle Probleme vermeiden und Ihre Virtualisierungserfahrung optimieren. Viel Erfolg beim Experimentieren mit virtuellen Maschinen!

  • Git und GitHub auf Linux Mint installieren und konfigurieren: Eine Schritt-für-Schritt-Anleitung

    Git und GitHub sind essenzielle Werkzeuge für Entwickler und Programmierer. In diesem Blogpost zeigen wir dir, wie du Git auf deinem Linux Mint-System installierst und konfigurierst und wie du es mit GitHub verbindest. Lass uns gleich loslegen!

    1. Git installieren

    Zuerst müssen wir sicherstellen, dass unser System auf dem neuesten Stand ist und dann Git installieren. Öffne ein Terminal und führe die folgenden Befehle aus:

    Bash
    sudo apt update<br>
    sudo apt install git



    Nach der Installation kannst du überprüfen, ob Git korrekt installiert wurde, indem du diesen Befehl eingibst:

    Bash
    git --version

    Dies sollte dir die installierte Version von Git anzeigen.

    2. Git konfigurieren


    Bevor du mit Git arbeiten kannst, solltest du deine Benutzerdaten konfigurieren. Dies hilft dabei, deine Commits später korrekt zuzuordnen. Führe die folgenden Befehle aus, um deinen Namen und deine E-Mail-Adresse zu setzen:

    Bash
    git config --global user.name "Dein Name"
    git config --global user.email "deineemail@domain.com"

    3. Die wichtigsten Git-Befehle

    Jetzt, wo Git installiert und konfiguriert ist, schauen wir uns einige grundlegende Befehle an:

    Neues Repository initialisieren:

    Bash
    git init <directory>


    Dateien zur Staging-Area hinzufügen:

    Bash
    git add .            # Fügt alle Änderungen hinzu
    git add <Dateiname>  # Fügt eine spezifische Datei hinzu


    Änderungen committen:

    Bash
    git commit -m "Kommentar zu den Änderungen"

    4. Mit GitHub verbinden

    Um deine Änderungen auf GitHub zu speichern, musst du dich zuerst bei GitHub anmelden und ein neues Repository erstellen. Gehe zu GitHub Login und erstelle ein neues Repository.

    4.1. Token erstellen

    Um GitHub von der Kommandozeile aus zu nutzen, benötigst du ein persönliches Zugriffstoken. Gehe folgendermaßen vor:

    1. Klicke auf dein Profilbild oben rechts und wähle Settings.
    2. Wähle Developer Settings.
    3. Klicke auf Personal access tokens (classic).
    4. Klicke auf Generate new token (classic).
      • Vergib einen Namen für das Token.
      • Lege die Laufzeit fest.
      • Wähle die benötigten Berechtigungen aus (meistens alle Komponenten).
      • Klicke auf Generate Token.
    5. Kopiere das Token und bewahre es sicher auf.

    4.2. Repository mit GitHub verbinden

    Nun kannst du dein lokales Repository mit GitHub verbinden. Verwende den folgenden Befehl und ersetze <token> mit deinem Token, <name> mit deinem GitHub-Nutzernamen und <repo> mit dem Namen deines Repositories:

    Bash
    git remote set-url origin https://<token>@github.com/<name>/<repo>

    Um deine Änderungen auf GitHub zu pushen, verwende diesen Befehl:

    Bash
    git push origin main

    Fazit

    Jetzt bist du bereit, Git und GitHub auf deinem Linux Mint-System zu verwenden! Diese Anleitung deckt die grundlegenden Schritte ab, um mit der Versionskontrolle zu beginnen. Mit etwas Übung wirst du bald sicher im Umgang mit Git und GitHub sein. Viel Spass beim Codieren!

    Hier noch mehr zu Git: https://education.github.com/git-cheat-sheet-education.pdf

  • Einführung in Nemo Actions: Anpassung des Kontextmenüs in Linux Mint

    Einführung in Nemo Actions: Anpassung des Kontextmenüs in Linux Mint




    Nemo, der Dateimanager von Linux Mint, bietet eine nützliche Funktion namens «Nemo Actions». Mit diesen benutzerdefinierten Aktionen können Benutzer spezifische Befehle oder Skripte direkt aus dem Kontextmenü von Dateien und Ordnern ausführen. In diesem Blogbeitrag werde ich erklären, wie du Nemo Actions erstellst und anpasst, um dein Linux Mint Erlebnis zu verbessern.

    Was sind Nemo Actions?

    Nemo Actions ermöglichen es dir, benutzerdefinierte Befehle oder Skripte auszuführen, indem du eine Aktion im Kontextmenü auswählst. Diese Aktionen sind besonders nützlich für wiederkehrende Aufgaben oder spezielle Workflows. Du kannst beispielsweise Aktionen erstellen, um Dateien zu komprimieren, Metadaten zu bearbeiten oder Dateitypen zu konvertieren.
    Grundlegende Parameter einer Nemo Action.

    Eine typische .nemo_action Datei enthält mehrere wichtige Parameter:

    Name: Der Name der Aktion, wie er im Kontextmenü angezeigt wird.
    Comment: Eine kurze Beschreibung der Aktion.
    Exec: Der auszuführende Befehl oder das Skript.
    Icon-Name: Der Name des Icons, das neben der Aktion angezeigt wird.
    Selection: Gibt an, wann die Aktion verfügbar ist (z.B. any, s, m, n, o).
    Extensions: Eine Liste von Dateierweiterungen, für die die Aktion gilt.
    Mimetypes: Eine Liste von MIME-Typen, für die die Aktion gilt.
    Quote: Wie Dateinamen im Befehl zitiert werden (double oder single).
    EscapeSpaces: Gibt an, ob Leerzeichen in Dateinamen durch Backslashes ersetzt werden sollen (true oder false).
    Conditions: Zusätzliche Bedingungen für die Anzeige der Aktion.
    Directories: Gibt an, ob die Aktion auch für Verzeichnisse gilt.
    Schemes: Eine Liste von URI-Schemata, für die die Aktion gilt.
    Parameters: Zusätzliche Parameter, die an den Befehl übergeben werden.
    StartupNotify: Gibt an, ob eine Startbenachrichtigung gesendet werden soll.

    Beispiel einer Nemo Action

    Hier ist ein einfaches Beispiel einer .nemo_action Datei, die ein PDF-Dokument komprimiert:

    INI
    [Nemo Action]
    Name=PDF komprimieren
    Comment=Komprimiere das ausgewählte PDF-Dokument
    Exec=<compress_pdf %F>
    Icon-Name=document-save
    Selection=any
    Extensions=pdf;
    Mimetypes=application/pdf;
    Quote=double
    EscapeSpaces=true

    Erweiterte %-Variablen

    In den Exec-Parametern kannst du verschiedene %-Variablen verwenden, um Informationen über die ausgewählten Dateien und Verzeichnisse zu übergeben:

    %f: Der vollständige Pfad zur ersten ausgewählten Datei.
    %F: Eine durch Leerzeichen getrennte Liste der vollständigen Pfade zu allen ausgewählten Dateien.
    %d: Der Pfad zum Verzeichnis, das die ausgewählten Dateien enthält.
    %D: Eine durch Leerzeichen getrennte Liste der Verzeichnisse, die die ausgewählten Dateien enthalten.
    %h: Der Name des Heimatverzeichnisses des Benutzers.
    %H: Der vollständige Pfad zum Heimatverzeichnis des Benutzers.
    %n: Der Name der ersten ausgewählten Datei (ohne Pfad).
    %N: Eine durch Leerzeichen getrennte Liste der Namen aller ausgewählten Dateien (ohne Pfad).
    %u: Der URI der ersten ausgewählten Datei.
    %U: Eine durch Leerzeichen getrennte Liste der URIs aller ausgewählten Dateien.
    %i: Der MIME-Typ der ersten ausgewählten Datei.
    %I: Eine durch Leerzeichen getrennte Liste der MIME-Typen aller ausgewählten Dateien.
    %m: Die MIME-Beschreibung der ersten ausgewählten Datei.
    %M: Eine durch Leerzeichen getrennte Liste der MIME-Beschreibungen aller ausgewählten Dateien.

    Icons für Nemo Actions

    Die Wahl eines passenden Icons kann die Benutzerfreundlichkeit deiner Aktionen verbessern. Hier ist eine Liste häufig verwendeter Icons:

    document-save – Speichern
    document-open – Öffnen
    document-print – Drucken
    text-x-generic – Allgemeines Textdokument
    application-pdf – PDF-Dokument
    application-msword – Microsoft Word-Dokument
    image-x-generic – Allgemeines Bild
    audio-x-generic – Allgemeine Audiodatei
    video-x-generic – Allgemeine Videodatei

    Diese Icons sind Teil der Standard-Symbolthemen wie Adwaita oder Papirus und sind normalerweise in den Verzeichnissen /usr/share/icons oder ~/.icons zu finden.

    Installation von Nemo Actions

    Um eine Nemo Action zu installieren, muss du folge diesen Schritten ausführen:

    Erstelle die .nemo_action Datei: Erstelle eine Textdatei mit der Endung .nemo_action, die die Parameter und den Befehl deiner Aktion enthält. Speichere diese Datei an einem geeigneten Ort, zum Beispiel in deinem Heimatverzeichnis.

    Stelle sicher, dass ghostscript installiert ist, da es zum Komprimieren von PDF-Dateien verwendet wird.

    Bash
    sudo apt-get update 
    sudo apt-get install ghostscript

    Kopiere die Datei in das Nemo-Aktionen Verzeichnis: Verschiebe oder kopiere die Datei in das Verzeichnis ~/.local/share/nemo/actions/. Falls dieses Verzeichnis nicht existiert, erstelle es:

    Bash
    mkdir -p ~/.local/share/nemo/actions/
    cp /path/to/your_action.nemo_action ~/.local/share/nemo/actions/

    Beispiel für die Action Datei

    INI
    [Nemo Action]
    Name=PDF komprimieren
    Comment=Komprimiere das ausgewählte PDF-Dokument
    Exec=<scripts/compress_pdf.sh %F>
    Icon-Name=document-save
    Selection=any
    Extensions=pdf;
    Mimetypes=application/pdf;
    Quote=double
    EscapeSpaces=true

    Da für die Komprimierung der PDF-Datei nur ein Kommando benötigt wird, kann man das Kommando auch direkt in die Action Datei schreiben.

    INI
    [Nemo Action]
    Active=true
    Name=PDF File komprimieren
    Comment=PDF File komprimieren
    Exec=gs -sDEVICE=pdfwrite -dPDFSETTINGS=/print -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%F_smal.pdf" %F
    Icon-Name=pdf
    Selection=any;
    Extensions=pdf
    Terminal=true

    Beispiel Skript zum Komprimieren eines PDF Files

    Erstelle ein Skript, das die eigentliche Komprimierung durchführt.

    Erstelle das Skript im Home-Verzeichnis:

    Bash
    nano ~/compress_pdf.sh

    Füge den folgenden Inhalt in diese Datei ein:

    Bash
    #!/bin/bash
    
    for file in "$@"; do
    output="${file%.pdf}-compressed.pdf"
    
    echo $output
    
    gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$output" "$file"
    
    
    if [ $? -eq 0 ]; then
    notify-send "PDF komprimiert" "Die Datei $file wurde erfolgreich komprimiert zu $output"
    else
    notify-send "Fehler" "Die Datei $file konnte nicht komprimiert werden"
    fi
    done
    -dPDFSETTINGS=Konfiguration
    /screen wählt eine Ausgabe mit niedriger Auflösung, ähnlich der Einstellung.
    /ebook wählt eine Ausgabe mit mittlerer Auflösung.
    /printer wählt eine Ausgabe die für den Druck geeignet ist.
    /prepress wählt eine Ausgabe, die der Acrobat Distiller-Einstellung „Prepress Optimized“ (bis Version X) entspricht.
    /default wählt eine Ausgabe, die für eine Vielzahl von Anwendungen geeignet ist, möglicherweise auf Kosten einer grösseren Ausgabedatei. 

    Mache das Skript ausführbar:

    Bash
    chmod +x ~/compress_pdf.sh


    Verschiebe das Script in das Verzeichniss: ~/.local/share/nemo/actions/scripts

    Nemo neu starten: Um die Änderungen zu übernehmen, starte Nemo neu. Das kannst du tun, indem du Nemo einfach schliesst und wieder öffnest, oder indem du den folgenden Befehl im Terminal ausführst:

    Bash
    nemo -q
    nemo &

    Aktion testen: Klicke mit der rechten Maustaste auf eine Datei oder ein Verzeichnis, um das Kontextmenü zu öffnen, und überprüfe, ob deine neue Aktion verfügbar ist.

    Fazit

    Nemo Actions bieten eine leistungsstarke Möglichkeit, den Dateimanager von Linux Mint an deine Bedürfnisse anzupassen. Mit benutzerdefinierten Aktionen kannst du deine Workflows optimieren und häufig wiederkehrende Aufgaben effizienter gestalten. Die Verwendung von %-Variablen und passenden Icons ermöglicht es dir, diese Aktionen noch weiter zu individualisieren.

    Wenn du mehr über Nemo Actions erfahren möchtest oder nach weiteren Beispielen suchst, empfehle ich dir, die folgenden GitHub-Repositories zu besuchen:

    smurphos / nemo_actions_and_cinnamon_scripts

    Alfcx / linux-mint-nemo-actions

    kelebek333 / nemo-actions Public

    JonasAlfredsson/nemo-actions

    dhonx/nemo-actions

    wilfison/nemo_actions


    Viel Spass beim Experimentieren und Anpassen deiner Nemo-Aktionen!


  • Dynamische Galerie

    Hier mal ein Beispiel für eine dynamische Galerie.

    Um eine dynamische Galerie mit dem WordPress Plugin Media Library Assistant (MLA) zu erstellen, die automatisch aktualisiert wird, wenn ein Bild zu einer Kategorie hinzugefügt wird, kannst du die folgenden Schritte befolgen:

    Installation und Einrichtung des Media Library Assistant

    1. Plugin installieren:
      • Gehe zu deinem WordPress-Dashboard.
      • Navigiere zu Plugins > Installieren.
      • Suche nach „Media Library Assistant“.
      • Installiere und aktiviere das Plugin.

    Erstellen einer Kategorie für Bilder

    1. Kategorie erstellen:
      • Gehe zu Medien > Kategorien.
      • Erstelle eine neue Kategorie (z. B. „Galerie“).

    Bilder der Kategorie zuweisen

    1. Bilder zuweisen:
      • Gehe zu Medien > Medienübersicht.
      • Wähle die Bilder aus, die du zur Galerie hinzufügen möchtest.
      • Klicke auf „Bearbeiten“ und weise die Bilder der zuvor erstellten Kategorie zu.

    Galerie mit Shortcode erstellen

    1. Galerie-Shortcode erstellen:
      • Erstelle eine neue Seite oder einen neuen Beitrag oder bearbeite eine bestehende Seite/einen bestehenden Beitrag.
      • Füge den folgenden Shortcode ein, um eine dynamische Galerie anzuzeigen:
    [mla_gallery attachment_category="berge" ]

    Ersetze «berge» mit dem Namen (slug) der Kategorie, die du für deine Bilder erstellt hast.

    Anpassen des Shortcodes

    Der mla_gallery Shortcode bietet viele Anpassungsmöglichkeiten. Hier sind einige Beispiele:

    Anzahl der Spalten:

    [mla_gallery category="Galerie" columns="4"]

    Anzahl der Bilder pro Seite:

    [mla_gallery category="Galerie" posts_per_page="12"]

    Bildgrösse festlegen:

    [mla_gallery category="Galerie" size="medium"]

    Galerie automatisch aktualisieren

    Die Galerie wird automatisch aktualisiert, wenn du neue Bilder der entsprechenden Kategorie hinzufügst. Es sind keine weiteren Schritte erforderlich, da der Shortcode die Bilder dynamisch basierend auf der Kategorie lädt.

    Zusammenfassung

    1. Installiere und aktiviere das Media Library Assistant Plugin.
    2. Erstelle eine Kategorie für die Galerie.
    3. Weise die Bilder der Kategorie zu.
    4. Erstelle einen Shortcode auf einer Seite oder einem Beitrag, um die Galerie anzuzeigen.

    Mit diesen Schritten hast du eine dynamische Galerie, die sich automatisch aktualisiert, wenn du Bilder zur entsprechenden Kategorie hinzufügst.

    Grundlegende Parameter

    1. taxonomy: Bestimmt die Taxonomie, die für die Filterung der Galerie verwendet wird.
      • Beispiel: taxonomy="attachment_category"
    2. term: Der Name des Terms (Kategorie), den du anzeigen möchtest.
      • Beispiel: term="Galerie"
    3. columns: Die Anzahl der Spalten in der Galerie.
      • Beispiel: columns="3"
    4. posts_per_page: Die Anzahl der Bilder pro Seite.
      • Beispiel: posts_per_page="9"
    5. size: Die Größe der angezeigten Bilder (thumbnail, medium, large, full).
      • Beispiel: size="large"

    Zusätzliche Parameter

    1. mla_caption: Bestimmt das Template für die Bildunterschriften.
      • Beispiel: mla_caption="{+title} - {+caption}"
    2. mla_alt: Bestimmt das Template für den Alt-Text.
      • Beispiel: mla_alt="{+alt}"
    3. mla_link: Bestimmt das Template für den Link um das Bild herum.
      • Beispiel: mla_link="{+file_url}"
    4. mla_itemwidth: Bestimmt die Breite der einzelnen Galerie-Items in Pixeln.
      • Beispiel: mla_itemwidth="200"
    5. mla_itemheight: Bestimmt die Höhe der einzelnen Galerie-Items in Pixeln.
      • Beispiel: mla_itemheight="150"
    6. mla_columns: Bestimmt die Anzahl der Spalten in der Galerie (ähnlich wie columns).
      • Beispiel: mla_columns="4"
    7. mla_align: Bestimmt die Ausrichtung der Galerie (none, left, center, right).
      • Beispiel: mla_align="center"
    8. mla_class: Fügt eine CSS-Klasse hinzu, um die Galerie zu stylen.
      • Beispiel: mla_class="custom-gallery-class"

    Erweiterte Parameter

    1. orderby: Bestimmt die Reihenfolge der Bilder (title, date, menu_order, rand, etc.).
      • Beispiel: orderby="date"
    2. order: Bestimmt die Reihenfolge der Sortierung (ASC für aufsteigend, DESC für absteigend).
      • Beispiel: order="DESC"
    3. mla_output: Bestimmt das Template für das Galerie-Output.
      • Beispiel: mla_output="file_url"
    4. mla_debug: Aktiviert den Debug-Modus, um zusätzliche Informationen anzuzeigen.
      • Beispiel: mla_debug="true"

    Anpassung und Styling

    Du kannst die CSS-Klasse (mla_class) verwenden, um zusätzliche Stile über dein Theme’s CSS-Datei hinzuzufügen. Hier ist ein Beispiel für CSS:

    CSS
    .custom-gallery-class {
      margin: 0 auto;
      text-align: center;
    }
    .custom-gallery-class img {
      border: 2px solid #ccc;
      padding: 5px;
    }

    Weitere Ressourcen

    Für eine vollständige Liste der verfügbaren Parameter und deren Anwendung kannst du die offizielle MLA Dokumentation konsultieren.

    Beispiel Gallerie

  • Beispiel für einen Shortcode in WordPress

    Hier ist ein Beispiel für einen WordPress Shortcode, der das Alter einer Person basierend auf einem eingegebenen Geburtsdatum berechnet und das Alter in Jahren und Monaten zurückgibt.

    Füge diesen Code in die functions.php Datei deines WordPress-Themes ein:

    PHP
    function berechne_alter($atts) {
        // Attribute des Shortcodes extrahieren
        $atts = shortcode_atts(array(
            'geburtsdatum' => '01.01.1970', // Standardwert, falls kein Geburtsdatum angegeben wird
        ), $atts, 'alter_berechnen');
    
        // Geburtsdatum in ein DateTime-Objekt umwandeln
        $geburtsdatum = DateTime::createFromFormat('d.m.Y', $atts['geburtsdatum']);
        $heute = new DateTime('now');
    
        if (!$geburtsdatum) {
            return 'Ungültiges Datum';
        }
    
        // Alter berechnen
        $interval = $heute->diff($geburtsdatum);
        $jahre = $interval->y;
        $monate = $interval->m;
    
        return "{$jahre} Jahre und {$monate} Monate";
    }
    
    // Shortcode registrieren
    add_shortcode('alter_berechnen', 'berechne_alter');
    

    Du kannst diesen Shortcode in deinem WordPress-Beitrag oder deiner Seite wie folgt verwenden:

    [alter_berechnen geburtsdatum="12.03.1980"]

    Dieser Shortcode nimmt das Geburtsdatum im Format dd.mm.yyyy und gibt das Alter der Person in Jahren und Monaten zurück.

    Erklärung des Codes:

    1. shortcode_atts: Diese Funktion extrahiert die Attribute des Shortcodes und setzt standardmäßige Werte, falls diese nicht angegeben wurden.
    2. DateTime::createFromFormat: Konvertiert das Geburtsdatum aus dem String-Format d.m.Y in ein DateTime-Objekt.
    3. new DateTime('now'): Erstellt ein DateTime-Objekt für das aktuelle Datum und die aktuelle Uhrzeit.
    4. $heute->diff($geburtsdatum): Berechnet den Unterschied zwischen dem aktuellen Datum und dem Geburtsdatum.
    5. $interval->y und $interval->m: Extrahiert die Anzahl der Jahre und Monate aus dem Intervall.
  • Batch Konvertierung von ODT Fies ins DOCX Files

    Mit Pandoc lässt sich ganz einfach ein ganzer Ordner mit ODT (LibreOffice) Files in DOCX Files konvertieren, damit man sie für Leute, die nur MS Word haben, weiter geben kann und sie nicht selber konvertieren müssen.

    Wenn noch nicht, muss zuerst Pandoc installiert werden.

    Bash
    sudo apt install pandoc

    Danach kann man im Ordner, in dem die Files sich befinden, folgendes Kommando aus frühen.

    Bash
    for file in *; do pandoc -r odt -w docx -o "$file".docx "$file" ; done

  • Farbige Titelleiste für den Cinnamon-Desktop / Linux Mint

    Farbige Titelleiste für den Cinnamon-Desktop / Linux Mint

    Wenn Sie wie ich häufig mehrere Fenster wild auf Ihrem Desktop verteilt haben, ist es wünschenswert, auf den ersten Blick erkennen zu können, welches Fenster aktiv ist und wo sich die Titelleiste der anderen Fenster befindet. Leider lässt sich die Titelleiste auf dem Cinnamon-Desktop (Version 6) nicht direkt über die Einstellungen konfigurieren. Es gibt jedoch eine Möglichkeit, dies über CSS anzupassen.

    Hierfür müssen Sie die Datei ~/.config/gtk-3.0/gtk.css bearbeiten. In dieser Datei fügen Sie folgende Einträge hinzu:

    CSS
    headerbar {
        min-height: 32px;
        padding: 0 6px;
        color: #cccccc ;
        background-image: linear-gradient(to bottom, shade(rgb(135, 161, 239),1), shade(rgb(94, 130, 236), 0.3))
    }
    
    headerbar:backdrop {
        color: #aaaaaa;
        background-image: linear-gradient(to bottom, shade(rgb(166, 164, 164),1), shade(grey, 0.5));
    }
    

    Wenn die Datei gtk.css noch nicht vorhanden ist, kann sie einfach
    erstellt werden.

    Der Ordner .config ist standardmässig nicht sichtbar. Im Dateimanager Nemo kann dies unter «Ansicht» -> «Versteckte Dateien anzeigen» eingestellt werden.

      Nach einem Neustart des Desktops wird das aktive Fenster eine blaue Titelleiste haben, während die anderen Fenster eine graue aufweisen.

    1. Bilder in SW konvertieren mit Python

      Bilder in SW konvertieren mit Python

      Dieses Python-Skript verwendet die PIL (Python Imaging Library) Bibliothek, um Bilder in Schwarzweiss umzuwandeln und dabei Kontrast und Helligkeit anzupassen. Hier ist eine kurze Anleitung zur Verwendung des Skripts:

      Das Python Script kann von meinem Github Repository heruntergeladen werden. https://github.com/tcicit/tci_sw_converter/tree/main

      Beispiele:

      Original Image
      Kontrast Faktor 1
      Kontrast Faktor 2

      Installiere PIL: Stelle sicher, dass die PIL-Bibliothek installiert ist. Du kannst sie mit dem folgenden Befehl installieren:

      pip install pillow

      Führe das Skript aus: Verwende die Kommandozeile, um das Skript auszuführen. Hier ist ein Beispiel:

      Ein einzelnes Bild konvertieren:

      Bash
      python3 tci_sw_converter.py -i input_image.jpg -o output_image.jpg -c 1.5 -b 0.8
        -i oder --input: Pfad zum Eingabebild (JPG).
        -o oder --output: Optionaler Pfad zum Ausgabebild (JPG). Wenn     nicht angegeben, wird ein Standardname im selben Verzeichnis erstellt.
        -c oder --contrast: Kontrastfaktor (Standard: 1.0).
        -b oder --brightness: Helligkeitsfaktor (Standard: 1.0).
      

      Mehrere Bilder im Verzeichnis konvertieren:

      Installiere PIL: Falls noch nicht installiert (wie oben beschrieben). Führe das Skript aus: Verwende die Kommandozeile, um das Skript für ein Verzeichnis mit Bildern auszuführen. Hier ist ein Beispiel:

      Bash
      python3 tci_sw_converter.py -d input_directory -c 1.5 -b 0.8
         -d oder --directory: Pfad zum Verzeichnis mit Bildern für die Stapelverarbeitung.
         -o oder --output: Optionaler Pfad zum Ausgabeverzeichnis. Wenn nicht angegeben, wird ein Ordner mit dem Namen "converted_images" im Eingabeverzeichnis erstellt.
         -c oder --contrast: Kontrastfaktor (Standard: 1.0).
         -b oder --brightness: Helligkeitsfaktor (Standard: 1.0).
      

      Hinweis:

      Stelle sicher, dass das Skript im gleichen Verzeichnis wie die Bilder oder im Systempfad liegt, damit es ohne Pfadangabe ausgeführt werden kann.


    2. Inkscape Mischmodi

      Inkscape Mischmodi

      In Inkscape können Sie die Mischmodi von Objekten verwenden, um kreative Effekte zu erzielen (siehe Beitragsbild). Mischmodi bestimmen, wie sich die Farben zweier übereinanderliegender Objekte miteinander vermischen. Da die Mischmodi noch nicht sehr bekannt und dokumentiert sind, habe ich mal eine Übersicht erstellt, um das Verhalten aufzuzeigen.

      Die Mischmodi können an verschiedenen Stellen in Inkscape verwendet werden.

      • im Füllmodus
      • bei den Konturen
      • bei den Ebenen

      Die Voreinstellung ist Normal.

      In der Voreinstellung (Mischmodus „Normal“) ist die Farbe des überdeckten Objekts für die Farbe des verdeckenden gänzlich irrelevant. Das verdeckende Objekt erscheint einfach in seiner ursprünglichen Farbe.

      Wählen Sie einen anderen Mischmodus, so verhält sich das verdeckende Objekt wie ein Farbfilter. Der Effekt, der eintritt, hängt von der Wahl des Filters ab.

      Hier noch eine detailliertere Beschreibung des Themas aus der Wikipedia: https://de.wikibooks.org/wiki/Inkscape/_Mischmodi

      Übersicht Mischmodi

    3. Wie man ein Mosaik mit Voronoi-Muster in Inkscape erstellt

      Wie man ein Mosaik mit Voronoi-Muster in Inkscape erstellt

      Voronoi-Muster gibt es überall in der Natur. Dieses Muster in Vektorsoftware nachzubilden, ist super einfach. In diesem Tutorial wird Mosaikmuster in Inkscape mit dem Voronoi Pattern-Tool erstellt. Wir verwenden auch das Tweak Tool, um Farbfarbvariationen zu erstellen.

      Inkscape Artikel zum Thema: https://de.wikipedia.org/wiki/Voronoi-Diagramm

      Schritt 1 – Ein Rechteck zeichnen

      Erstellen Sie ein Rechteck mit dem Rechteckwerkzeug.


      Schritt 2 – Verwendung der Voronoi-Erweiterung

      Das Rechteck aus wählen.

      Um das Voronoimuster zu erzeugen Erweitungen -> Stile -> Voronoi-Muster-Füllung… auswählen.

      Ändern Sie die durchschnittliche Zellgrösse auf 40 bis 80. Diese Zahl hängt von der Grösse Ihres Rechtecks ab. Wenn die Zahl niedrig ist, kann es sein, dass das Erstellen des Musters sehr lange dauert. Klicken Sie auf Anwenden und dann auf Schliessen.

      Schritt 3 – Objekt in Muster umwandeln

      Um das Modelierwerkzeug zu nutzen, müssen wir das Muster in Einzelteile verwandeln. Während das Muster noch ausgewählt ist, klicken Sie auf Objekte dann Muster und klicken Sie auf Muster -> Füllmuster in Objekt umwandeln. Achten Sie darauf, dass nur das Muster ausgewählt ist.

      Danach müssen sie die entstanden Pathe kombinieren Pfad -> Kombinieren


      Wählen Sie nun sowohl das Muster als auch das Rechteck aus, klicken Sie Patherneut auf das Path-Menü und wählen Sie die Division. Das Muster ist in individuelle Formen zerlegt.
      Für den nächsten Arbeitsschritt ist eine wichtige Anpassung nötig. Das Mosaik muss mit einer weissen Farbe gefüllt werden. Wählen Sie alle aus und verwenden Sie das Füllfeld auf der rechten Seite. Alternativ klicken Sie auf Weiss auf der unteren Farbpalette.

      Schritt 4 – Farbe mit dem Tweak Tool auftragen

      Klicken Sie links auf das Tweak Tool. Oben auf dem Bildschirm sind die Bearbeitungsoptionen. Klicken Sie oben auf den Modus: Malen Sie die Farbe des Werkzeugs auf ausgewählte Objekte. Passen Sie die Breite und Kraft oben links an. Wenn Sie eine hellere Farbe wollen, erhöhen Sie die Kraft. Um einen kleineren Bereich zu malen, verringern Sie die Breite.


      Wählen Sie eine Farbe aus der unteren Farbpalette. Sie können auch die Farbwahl oben rechts sehen. Klicken Sie nun auf und ziehen Sie mit der Maus über das Mosaik. Wenn Sie auf + ziehen klicken, wird die Farbe in verschiedenen Farbtönen hinzugefügt. Wenn Sie die Maus immer wieder über einen Bereich bewegen, erhöht sich die Farbstärke. Passen Sie die Breite und Kraft beim Malen an, um den abgedeckten Bereich und Intensität zu ändern.

      Erstellen Sie ein buntes Mosaik, indem Sie zwischen den Farben wechseln.


    4. Grafik Code Konvertert (hex converter) in Python

      Grafik Code Konvertert (hex converter) in Python

      Das Modul kann verwendet werden, um einen HEX Farbcode (ff0000) in verschiedene Repräsentationen umzuwandeln. Das Modul ist entstanden, dass die Dokumentation von «colorsys» ziemlich rudimentär ist und ich lange Suchen musste, bis ich den richtigen Ansatz gefunden hatte.

      Dokumentation «colorsys»: https://docs.python.org/3/library/colorsys.html

      • CSS Namen: red
      • RGB: rgb(255,0,0)
      • HSL: hsl(0, 100%, 50%)
      • HSV: hsv(0, 100%, 100%)
      • YIQ: yiq(0.3000,0.5990,0.2130)

      Für mehr Information sie folgende Wikipedia-Artikel:

      https://de.wikipedia.org/wiki/Farbe

      https://de.wikipedia.org/wiki/RGB-Farbraum

      https://de.wikipedia.org/wiki/HSV-Farbraum

      https://de.wikipedia.org/wiki/YIQ-Farbmodell

      https://de.wikipedia.org/wiki/Webfarbe

      Beschreibung der fünf Funktionen, die mit der Umwandlung von Farbwerten arbeiten.

      Die Funktion hex_to_rgb akzeptiert einen Hexadezimalcode als Eingabe (z.B. «#ffffff») und gibt ein Tupel zurück, das die Werte für Rot, Grün und Blau in Dezimal- und Normalisierungsformaten sowie eine RGB-Farbkodierung enthält. Wenn der Eingabewert kein gültiger Hexadezimalcode ist, gibt die Funktion eine Fehlermeldung aus.

      Die Funktion hex_to_name akzeptiert auch einen Hexadezimalcode als Eingabe und gibt den Namen der Farbe zurück, die dem Code am nächsten kommt, basierend auf den CSS-Namen. Wenn der Eingabewert kein gültiger Hexadezimalcode ist oder kein Name gefunden werden kann, gibt die Funktion den Wert «no css name» zurück.

      Die Funktionen rgb_to_hsl und rgb_to_hsv akzeptieren die normalisierten Werte für Rot, Grün und Blau als Eingabe und geben die Werte für die entsprechenden Farbräume HSL und HSV sowie die Farbkodierungen zurück. Die Funktionen verwenden die in Python eingebaute colorsys-Bibliothek, um die Umrechnungen durchzuführen.

      Schliesslich gibt es die Funktion grb_to_yiq, die die normalisierten Werte für Rot, Grün und Blau akzeptiert und die entsprechenden Werte für den Farbraum YIQ zurückgibt. Die Funktion verwendet auch die colorsys-Bibliothek.

      Python
      '''
      Ein keines Pyton Modul um Hex-Farbwerte in verschiedene Formate um zu wandeln.
      Das Modul wurde durch diesen Artikel inspieriert: https://coderz.club/RGB-to-HSL-HSV-YIQ/
      
      Das Error Handling ist mur ganz rudimentaer implementiert.
      
      Autor: Thomas Cigolla, 16.02.2023
      '''
      import colorsys
      import webcolors
      import re
      
      def hex_to_rgb(hex_string):  # input Format #ffffff
          
          match = re.search(r'^#(?:[0-9a-fA-F]{3}){1,2}$', hex_string) # Test if strin a hex value
      
          if match:                      
      
              if len(hex_string) == 4:                                # if hex code only 3 digit then expand it to 6 digit
                  hex_string = webcolors.normalize_hex(hex_string)
      
              if len(hex_string) == 7:
                  # Strips the newline characters and '#'
                  hexCodeStr = hex_string.strip("#\r\n")
      
                  # Convert hex to decimal
                  r = int(hexCodeStr[0:2], 16)
                  g = int(hexCodeStr[2:4], 16)
                  b = int(hexCodeStr[4:6], 16)
      
                  # normalize 0 to 1
                  r_norm = r / 255
                  g_norm = g / 255
                  b_norm = b / 255
                  rgb = f'rgb({r},{g},{b})'
                  return r, g, b, r_norm, g_norm, b_norm, rgb
              else:
                  print ("String is not valid: ", hex_string )
                  
          else:
              print ('Hex is not valid: ', hex_string)
      
      def hex_to_name(hex_string):
      
          try:
              name = webcolors.hex_to_name(hex_string)
              return name
          except ValueError: 
              #print (f'{hex_string} has no defined color name in html4.')
              return "no css name"
      
      def rgb_to_hsl(r_norm, g_norm, b_norm):    
      
          # Convert RGB to HLS (more commonly known as HSL)
          h,l,s = colorsys.rgb_to_hls(r_norm, g_norm, b_norm)
          h *= 360
          s *= 100
          l *= 100
          hsl = f'hsl({h:0.0f}, {s:0.0f}%, {l:0.0f}%)'
          return h, s, l, hsl
      
      def rgb_to_hsv(r_norm, g_norm, b_norm):
          # Convert RGB to HSV
          h,s,v =  colorsys.rgb_to_hsv(r_norm, g_norm, b_norm)
          h *= 360
          s *= 100
          v *= 100
          hsv = f'hsv({h:0.0f}, {s:0.0f}%, {v:0.0f}%)'
          return h, s, v, hsv
      
      def grb_to_yiq(r_norm, g_norm, b_norm):
          # Convert RGB to YIQ
          y,i,q = colorsys.rgb_to_yiq(r_norm, g_norm, b_norm)
          return y, i, q
          
      

      Beispiel:

      Python
      # example for usage
      def print_codes_comma_delimiter(hex_string):
          # Output
          r, g, b, r_norm, g_norm, b_norm, rgb = hex_to_rgb(hex_string)
          h, s, l, hsl = rgb_to_hsl(r_norm, g_norm, b_norm)
          h, s, v, hsv = rgb_to_hsv(r_norm, g_norm, b_norm)
          y, i, q = grb_to_yiq(r_norm, g_norm, b_norm)
          name = hex_to_name(hex_string)
      
          print(f'{hex_string},"{name}","{rgb}","rgb({r},{g},{b})","{hsl}","hsl({h:0.0f}°, {s:0.1f}%, {l:0.1f}%)","{hsv}","hsv({h:0.0f}°, {s:0.1f}%, {v:0.1f}%)","yiq({y:0.4f},{i:0.4f},{q:0.4f})"')
      
    5. Python Pakete updaten

      Python Pakete updaten

      PIP der Paketmanager unter Python kennt kein Update oder Upgrade von installierten Paketen. Das ist auch sinnvoll, wenn man in einer Virtual Umgebung (virtualenv) arbeitet. Aber wenn man alleine auf einer Umgebung arbeitet, wünscht man sich manchmal eine einfache Möglichkeit um alle Paket, die nicht mehr aktuell sind zu aktualisieren.

      Anzeigen und upgrade kann mit folgendem Script gemacht werden.

      Zuerst muss das Script installiert werden.

      pip install pip-upgrade-outdated

      Danach kann das Script einfach laufengelassen werden und alle Pakete werden upgegradet.

      pip_upgrade_outdated

      Hier noch die restlichen Parameter.

      usage: pip_upgrade_outdated [-h] [-3 | -2 | --pip_cmd PIP_CMD] [--serial | --parallel | --sequential] [--user] [--dry_run] [--verbose] [--version] [--exclude PKG]
      
      Upgrade outdated python packages with pip. Any unknown arguments will be passed to pip.
      
      options:
        -h, --help            show this help message and exit
        -3                    use pip3
        -2                    use pip2
        --pip_cmd PIP_CMD     use PIP_CMD (default pip)
        --serial, -s          upgrade in serial via a single batch pip upgrade command (default)
        --parallel, -p        upgrade in parallel via individual pip ugrade commands
        --sequential, -q      upgrade in serial via individual pip ugrade commands
        --user, -u            Adds the --user flag when installing the packages
        --dry_run, -n         get list, but don't upgrade
        --verbose, -v         may be specified multiple times
        --version             show program's version number and exit
        --exclude PKG, -x PKG
                              exclude PKG; may be specified multiple times
      

    6. Streifenbilder erzeugen mit Python

      Streifenbilder erzeugen mit Python

      Die Idee von diesem Programm ist, bestehende Bilder in Streifen zu zerschneiden und dann wieder zufällig zusammenzusetzen.

      Original

      Nach der Bearbeitung

      Hier können noch mehr Beispiele gefunden werden

      Um dies zu erreichen, öffnet das Programm zunächst das Bild und berechnet dann die Breite und Höhe des Bildes.

      Anschliessend wird das Bild in die vorgegebene Anzahl an Streifen zerschnitten, entweder in horizontaler oder vertikaler Richtung.

      Danach werden die Streifen in zufälliger Reihenfolge wieder zusammengesetzt und ein neues Bild erstellt.

      Das Programm erzeugt dann einen eindeutigen Dateinamen und speichert das neue Bild.

      Python
      import PIL import Image
      import random
      import uuid
      
      def horizontal_strips (img, width, height, num_strips):
      
          # Calculate the strip height
          strip_height = int(height/num_strips)
      
          strips = []
          for i in range(num_strips):
              # Get the current strip
              box = (0, i*strip_height, width, (i+1)*strip_height)
              strip = img.crop(box)
              strips.append(strip)
      
          return strip_height, strips
      
      
      def vertical_strips (img, width, height, num_strips):
      
          # Calculate the strip width
          strip_width = int(width/num_strips)
      
          strips = []
          for i in range(num_strips):
              # Get the current strip
              box = (i*strip_width, 0, (i+1)*strip_width, height)
              strip = img.crop(box)
              strips.append(strip)
      
          return strip_width, strips
      
      def main(inFile, num_strips, direction):
          try:
              # Open the image
              img = Image.open(inFile)    
          except:
              print("Something went wrong when opening the file: ", inFile) 
      
          # Get the height and width of the image
          width, height = img.size
      
          if (direction == "h"):
              strip_dim, strips = horizontal_strips (img, width, height, num_strips)
          else:
              strip_dim, strips = vertical_strips (img, width, height, num_strips)
      
          # Shuffle the strips
          random.shuffle(strips)
      
          # Reassemble the image
          reassembled_img = Image.new('RGB', (width, height))
      
          # for i in range num_strips:
          offset = 0
          for strip in strips:
              if (direction == "h"):
                  reassembled_img.paste(strip, (0, offset))
              else:
                  reassembled_img.paste(strip, (offset, 0))
      
              offset += strip_dim
      
          # make Filename
          id = str(uuid.uuid4())
          # Save the reassembled image
          reassembled_img.save(f'reassembled_image-{id}.jpg')
      
      if __name__ == "__main__":
          # ------- Init -------
          inFile = "berg.jpg" # Filename of input File 
          num_strips = 12     # Define the number of strips
          direction = "v"     # corp direction h = horizontal or v = vertical
      
          main(inFile, num_strips, direction)

    7. Eindeutiger Filename in Python

      Eindeutiger Filename in Python

      Falls Sie kurze eindeutige IDs als Dateinamen oder für andere Fälle benötigen, versuchen Sie shortuuid. shortuuid verwendet Klein- und Grossbuchstaben und Ziffern und entfernt ähnlich aussehende Zeichen wie
      l, 1, I, O und 0.

      Das Paket shortuuid muss über den Paketmanager nachinstalliert werden.

      pip install shortuuid

      Danach kann das Paket verwendet werden.

      >>> import shortuuid
      >>> shortuuid.uuid()
      'Tw8VgM47kSS5iX2m8NExNa'
      >>> len(ui)
      22
      

      Wenn man shortuuid nicht installieren will, kann man auch das Modul uuid verwenden, welches viel längere Strings erzeugt.

      Das Modul uuid ist Bestandteil der Python Distribution.

      >>> import uuid
      >>> unique_filename = str(uuid.uuid4())
      >>> len(unique_filename)
      36
      >>> unique_filename
      '2d303ad1-79a1-4c1a-81f3-beea761b5fdf'
      
    8. Media Library Assistant – Prameter für mla_gallery

      Media Library Assistant – Prameter für mla_gallery

      Die mla_gallery-Funktion ist ein Shortcode, der von dem «Media Library Assistant»-Plugin für WordPress bereitgestellt wird. Mit diesem Shortcode können Sie Bilder und andere Medien aus der Media Library in WordPress auf einer Seite oder in einem Beitrag anzeigen.

      Die mla_gallery-Funktion akzeptiert eine Vielzahl von Parametern, mit denen Sie das Verhalten und das Aussehen der angezeigten Medien anpassen können. Hier sind einige der verfügbaren Parameter:

      • ids: Eine durch Kommas getrennte Liste von Medien-IDs, die angezeigt werden sollen.
      • include: Eine durch Kommas getrennte Liste von Attachment-Slugs oder -IDs, die zur Galerie hinzugefügt werden sollen.
      • exclude: Eine durch Kommas getrennte Liste von Attachment-Slugs oder -IDs, die von der Galerie ausgeschlossen werden sollen.
      • columns: Die Anzahl der Spalten, in denen die Medien angezeigt werden sollen.
      • size: Die Größe der angezeigten Miniaturansichten.
      • link: Legt fest, ob die Miniaturansichten verlinkt werden sollen. Mögliche Werte sind «file», «none» und «post».
      • orderby: Die Sortierreihenfolge der Medien. Mögliche Werte sind «ID», «author», «title» und viele mehr.
      • order: Die Sortierrichtung der Medien. Mögliche Werte sind «ASC» (aufsteigend) und «DESC» (absteigend).

      Dies sind nur einige der verfügbaren Parameter. Weitere Informationen und eine vollständige Liste der Parameter finden Sie in der Dokumentation des «Media Library Assistant»-Plugins oder indem Sie den folgenden Shortcode verwenden: .

      Ich hoffe, dies hilft Ihnen bei der Verwendung der mla_gallery-Funktion und beim Anpassen der angezeigten Medien.

      Hier finde sie noch mehr Informationen: https://de.wordpress.org/plugins/media-library-assistant/

    9. Anpassen Media Libary Assistant – mal_gallery mit CSS

      Anpassen Media Libary Assistant – mal_gallery mit CSS

      Es ist möglich, das Aussehen der Galerie, die mit dem «Media Library Assistant»-Shortcode mla_gallery erstellt wurde, mit CSS anzupassen. Dazu können Sie die CSS-Klassen und -IDs verwenden, die von dem Plugin generiert werden.

      Um das Aussehen der Galerie anzupassen, können Sie zunächst ein Child-Theme erstellen oder ein bestehendes CSS-Stylesheet bearbeiten. Anschliessend können Sie CSS-Regeln definieren, die sich auf die Klassen und IDs beziehen, die von dem Plugin generiert werden.

      Hier sind einige Beispiele für CSS-Regeln, die das Aussehen der Galerie anpassen können:

      • .mla-gallery-view: Diese Klasse bezieht sich auf das Gesamtelement der Galerie. Sie können diese Klasse verwenden, um das Layout, die Farben und andere allgemeine Stileigenschaften der Galerie anzupassen.
      • .mla-item-view: Diese Klasse bezieht sich auf jedes Element innerhalb der Galerie, das ein einzelnes Medium anzeigt. Sie können diese Klasse verwenden, um das Aussehen der Miniaturansichten, der Titel und anderer Elemente innerhalb der Galerie anzupassen.
      • .mla-caption-view: Diese Klasse bezieht sich auf das Element, das den Titel und die Beschreibung eines Mediums anzeigt. Sie können diese Klasse verwenden, um das Aussehen der Titel und Beschreibungen innerhalb der Galerie anzupassen.

      Bitte beachten Sie, dass diese Beispiele nur als Orientierung dienen und dass die tatsächlichen Klassen und IDs, die von dem Plugin generiert werden, von der verwendeten Version und den Einstellungen des Plugins abhängen können. Ich empfehle Ihnen daher, die Dokumentation des Plugins zu lesen oder die HTML-Struktur der Galerie zu untersuchen, um die genauen Klassen und IDs zu finden, die Sie verwenden möchten.

      Ich hoffe, dies hilft Ihnen beim Anpassen des Aussehens der Galerie mit CSS.

      Hier finden sie noch mehr Informationen: https://de.wordpress.org/plugins/media-library-assistant/

    10. Massenumbenennung mit dem Nemo-Dateimanager in Linux Mint 20 oder höher

      Massenumbenennung mit dem Nemo-Dateimanager in Linux Mint 20 oder höher

      Seit der Version Linux Mint 20.2 «Uma» können im Dateimanager Nemo mit der Extension Bulky mehrere Dateien im Desktops direkt umbenennen werden.

      Nun ist das Umbenennen von Dateien in Linux keine Aufgabe, bei der es an Optionen mangelt. Es gibt eine Reihe von Anwendungen für diese Aufgabe, die von kommandozeilenbasierten Batch-Umbenennungsprogrammen bis hin zu benutzerfreundlichen GUI-Anwendungen reichen.

      Das auf Python basierende Bulky von Linux Mint scheint irgendwo zwischen diesen beiden Optionen zu liegen, da es relativ leistungsfähige Umbenennungsregeln bietet, die jedoch in einer einfachen Benutzeroberfläche dargestellt werden

      Leider ist die Dokumentation noch sehr rudimentär, besser gesagt noch nicht vorhanden. Deshalb hier mal eine erste Übersicht, was man damit machen kann.

      Bulky bei Github: https://github.com/linuxmint/bulky

      Dieser Beitrag ist initiiert von diesem Post: https://itsfoss.community/t/bulk-rename-with-nemo/9716

      Dateien umbenennen

      • Alle umzubenennenden Dateien im Dateimanager auswählen und mit der rechten Maustaste auf Umbenennen klicken.
      • Wählen Sie die Fenster Ersetzen und Nur Namen
      • Geben Sie im Feld, Finden einen Stern (*) ein und ignorieren Sie die rote Warnmeldung.
      • Im Feld Ersetzen neuer-name_%n ein (nach Eingabe von %n verschwindet die Warnmeldung).
      • Mit diesen Einstellungen bleibt die Dateiextension gleich.
      • Klicken Sie auf Umbenennen, um den Vorgang abzuschliessen.

      Sie können auch %n, %0n, %00n oder %000n eingeben, wenn sie führende Nullen bevorzugen.

      Teile des alten Namens ersetzten oder ergänzen

      Um den alten Namen beizubehalten und nur einen Teil der Dateinamen hinzuzufügen oder zu ersetzen, verwenden Sie die Option Einfügen.

      Um die Erweiterung oder Ersetzung am Ende des alten Namens anfügen, klicken Sie auf das Feld Vom Ende. Sie können auch die Autonummerierung verwenden.

      Einfügen von neuen Elemente in den alten Namen

      Um neue Elemente innerhalb des alten Namens erscheinen zu lassen, klicken Sie auf das +Zeichen im Fenster An Position, um den neuen Namenszusatz zu verschieben.

      Teile ersetzen

      Um Teile des alten Namens durch den neuen zu ersetzen, klicken Sie auf das Feld Überschreiben, die gleiche Anzahl Zeichen, die der neue Name hat, wird im alten Namen ersetzt. Wenn Sie den neuen Namen vom alten trennen wollen, drücken Sie mehrmals die Leertaste. (Hinweis: Wenn Sie die Leertaste drücken, werden zusätzliche Zeichen aus dem alten Namen gelöscht)

      HINWEIS: Wenn die rote Warnmeldung irgendwann während dieses Vorgangs erscheint, bedeutet dies lediglich, dass Sie Ihre neuen Namen nicht nummeriert (mit «_%n» versehen) haben.**

      Tip

      Die Einstellungen für den Bach-Renamer unter Nemo finden sie «Bearbeiten» -> «Einstellungen» -> «Verhalten» dann ganz nach unten scrollen. Hier können auch andere Batch-Renamer eingebunden werden.