Heim > Artikel > Backend-Entwicklung > Mein Obsidian + Hugo-Blogging-Setup (Automatische Veröffentlichung mit Hotkeys)
Wenn Sie auf diesen Artikel geklickt haben, wissen Sie wahrscheinlich, was diese beiden Technologien sind, aber wenn Sie es nicht wissen, finden Sie hier eine kurze Erklärung:
Obsidian ist ein funktionsreicher Markdown-Editor. Aber es ist nicht nur ein Markdown-Editor. Es ist eine Möglichkeit, Wissen zu verwalten. Es eignet sich hervorragend, um Ihre Gedanken auf flexible, nichtlineare Weise zu ordnen.
Obsidian funktioniert auf allen Plattformen. Sie können also Artikel von praktisch jeder Plattform aus schreiben.
Ich mache mir jetzt seit ein paar Monaten alle meine Notizen darin und es ist großartig!
Hugo ist ein ultraschneller statischer Website-Generator aus Golang. Ich nutze Hugo für meinen Blog nun seit fast 2 Jahren. Ich habe kürzlich das Thema meines Blogs geändert. Lesen Sie mehr über die Veränderung Neuer Look, Neuanfang.
In diesem Artikel werde ich nicht zeigen, wie man diese beiden Technologien einrichtet, sondern lediglich, wie man sie zum Zusammenwirken bringt.
Wenn Sie nicht erfahren möchten, wie ich diesen gesamten Blog mit Hugo, Cloudflare und render.com einrichte, lesen Sie: So richte ich diesen Blog kostenlos ein (Domain, Hosting, SSL) Vollständiger Leitfaden
Wenn Sie keine gute Anleitung zur Verwendung von Obsidian suchen, lesen Sie: Erste Schritte – obsidian.md
Meine Ziele für den Aufbau sind:
Mein aktueller Arbeitsablauf funktioniert wie folgt:
Wenn Sie den Reiseteil überspringen möchten, können Sie direkt zu The Sauce gehen
Ich werde ein paar Fehler durchgehen, die ich beim Einrichten gemacht habe.
Die erste Idee, die ich hatte, war, einen einfachen Symlink zu erstellen (ich verwende übrigens Linux), der die beiden Ordner miteinander verknüpfen würde.
Grundsätzlich habe ich zwei Ordner:
blog/ vault/
Der Blog-Ordner enthält alle Blog-Ordner und der Tresor ist mein persönlicher Tresor.
Der Symlink würde diese Ordner verknüpfen
blog/content vault/Blog
Allerdings das Problem mit einem Symlink ist, dass der Ordnerinhalt in meinem Git-Repo nicht sichtbar ist. Das bedeutet, dass niemand Änderungen an meinen Artikeln vorschlagen kann
Ich wollte meine Ordner synchronisieren. Ich habe versucht, ein paar Bash-Skripte zu schreiben, die die beiden Ordner mithilfe eines Cronjobs automatisch synchronisierten. Allerdings ist es eine Verschwendung von Ressourcen, wenn das ständig im Hintergrund läuft, wenn ich nicht schreibe. Das einfache Ausführen der Skripte über CLI ist einfach nicht so reibungslos.
Grundsätzlich habe ich das so eingerichtet, dass ich zwei Ordner habe:
blog vault
Der Blog-Ordner enthält alle erforderlichen Hugo-Dateien und verfügt außerdem über ein Unterverzeichnis namens „Content“, in dem alle Markdown-Blogdateien gespeichert sind.
Ich habe in meinem Tresor einen neuen Ordner namens Blog erstellt
blog/content vault/Blog
Danach habe ich alle meine Dateien aus dem Inhaltsverzeichnis in den Blog kopiert.
Ich habe dann angefangen, genau diesen Artikel zu schreiben
Ich brauchte eine Möglichkeit, eine einfache Vorlage zu erstellen, die alle erforderlichen Hugo-Titelmaterialien enthält.
Das ist ganz einfach.
Lesen Sie, wie Sie Vorlagen einrichten – obsidian.md
Ich habe in meinem Vorlagenordner eine Datei namens Blog Post erstellt
Meine Blog-Beitragsvorlage enthält Folgendes:
--- title: "{{Title}}" description: date: "{{date:YYYY-MM-DD}}T{{time:HH:mm:ss}}+00:00" draft: true --- **If you enjoyed this article consider [supporting me](https://4rkal.eu.org/donate)**
Ich habe alle erforderlichen Titel, einschließlich eines Titels, einer Beschreibung und eines Datums in dem Format, das Hugo verlangt.
Ich habe außerdem einen kleinen Spendentext hinzugefügt, den ich am Ende jedes Artikels einfüge.
Das bedeutet, dass ich diese Vorlage automatisch in jede Datei einfügen und mit dem Schreiben beginnen kann!
Jetzt möchte ich, dass alle meine Dateien in meinem Tresor/Blog-Verzeichnis in den Blog/Inhalt kopiert werden
Dank eines hilfreichen Discord-Benutzers habe ich das Obsidian-Shellcommands-Plugin gefunden.
HINWEIS: Dieses Plugin funktioniert derzeit nicht sehr gut mit der Flatpak-Version von Obsidian (da Flatpak die Umgebung isoliert). Die Verwendung einer anderen Alternative (.deb oder appimage) scheint zu funktionieren.
Es ermöglicht Ihnen, Shell-Befehle im Hintergrund mit einem Hotkey auszuführen.
Die Schritte zum Einrichten sind die folgenden:
On Linux/MacOS that is:
cp -a ~/folder1/. ~/folder2/
in my case that is cp -a ~/Documents/vault/Blog/. ~/Documents/blog2/content/
On windows it most probably is:
robocopy "%USERPROFILE%\folder1" "%USERPROFILE%\folder2" /E /COPYALL
After that we need to set a hotkey that will run the command
Click on the (+) icon to go to the hotkey settings and assign a hotkey
My hotkey is CTR + 0, simply because that was available.
Now every time that I run the hotkey it copies over all of my files to the hugo folder ready to be published
I also want to be able to automatically publish my articles. But I want it to happening by hitting a hotkey.
I wrote a small script that does exactly that:
#!/bin/bash cd ~/Documents/blog hugo git add . git commit -m "new" git push -u origin main
This script will build my website, commit and push to my github repo, where it is picked up and published. Read How I setup this blog for free (domain, hosting, ssl) Complete Guide to learn how to setup your own blog for free.
Don’t forget to make the script executable by running
chmod +x ./YOURSCRIPT.sh
Then create a new shell command for the shellcommand plugin (as we did before) and enter the path to your script.
In my case that is:
~/Documents/blog2/push.sh
Then enter a hotkey and you’re done!
I can now simply open my obsidian vault, create a new file, insert my template and have all the info automatically entered.
I then write my article inside of obsidian
Run my hotkey and copy all the files into the hugo directory
Hit another key and my blog is published!
If you enjoyed this article consider supporting me
Das obige ist der detaillierte Inhalt vonMein Obsidian + Hugo-Blogging-Setup (Automatische Veröffentlichung mit Hotkeys). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!