„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Mein Obsidian + Hugo-Blogging-Setup (Automatische Veröffentlichung mit Hotkeys)

Mein Obsidian + Hugo-Blogging-Setup (Automatische Veröffentlichung mit Hotkeys)

Veröffentlicht am 29.08.2024
Durchsuche:850

My Obsidian   Hugo blogging setup (Auto publishing with 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

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 praktisch von jeder Plattform aus schreiben.

Ich mache mir jetzt seit ein paar Monaten alle meine Notizen darin und es ist großartig!

Hugo

Hugo ist ein ultraschneller Generator für statische Websites, hergestellt in 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.

Aufstellen

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 benötigen, lesen Sie: Erste Schritte – obsidian.md

Ziele

Meine Ziele für die Einrichtung sind:

  1. Verwendung eines einzelnen Obsidiangewölbes
  2. Ich habe eine benutzerfreundliche Obsidian-Vorlage, die ich für meine Blogbeiträge verwenden kann.
  3. Meine persönlichen Tresorordner privat halten.
  4. Automatische Veröffentlichung mit Obsidian-Hotkeys.
  5. Bewahren Sie alle Markdown-Dateien in einem öffentlichen Github-Repository auf, damit die Leute Änderungen vorschlagen können

Vorhandenes Setup

Mein aktueller Arbeitsablauf funktioniert wie folgt:

  1. Artikel aus dem Inhaltsordner bearbeiten.
  2. Hugo-Befehl ausführen.
  3. Push auf Github.
  4. Render.com übernimmt die Änderungen automatisch und stellt sie bereit.

Reise

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.

Fehler Nr. 1

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

Fehler Nr. 2

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.

Die Soße

Grundsätzlich habe ich das so eingerichtet, dass ich zwei Ordner habe:

blog
vault

Der Blog-Ordner enthält alle notwendigen Hugo-Dateien und verfügt außerdem über ein Unterverzeichnis namens Content, das alle Markdown-Blog-Dateien enthält.

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

Obsidian-Vorlagen

Ich brauchte eine Möglichkeit, eine einfache Vorlage einzurichten, die alle erforderlichen Hugo-Titelmaterialien enthält.

Das ist ganz einfach.

Lesen Sie, wie Sie Vorlagen einrichten – obsidian.md

Ich habe eine Datei namens Blog Post in meinem Vorlagenordner 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!

Ordnersynchronisierung

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:

  1. Installieren Sie das Plugin
  2. Plugin aktivieren
  3. Gehen Sie zu den Plugin-Optionen
  4. Klicken Sie auf Neuer Shell-Befehl
  5. Jetzt müssen Sie einen Shell-Befehl eingeben, um die Dateien von einem Ordner in den anderen zu kopieren.

Unter Linux/MacOS ist das:

cp -a ~/folder1/. ~/folder2/

in meinem Fall ist das cp -a ~/Documents/vault/Blog/. ~/Documents/blog2/content/

Unter Windows ist es höchstwahrscheinlich:

robocopy „%USERPROFILE%\folder1“ „%USERPROFILE%\folder2“ /E /COPYALL

Danach müssen wir einen Hotkey festlegen, der den Befehl ausführt

Klicken Sie auf das ( )-Symbol, um zu den Hotkey-Einstellungen zu gelangen und einen Hotkey zuzuweisen

Mein Hotkey ist CTR 0, einfach weil das verfügbar war.

Jetzt werden jedes Mal, wenn ich den Hotkey betätige, alle meine Dateien in den Hugo-Ordner kopiert, damit sie veröffentlicht werden können

Skripte automatisch veröffentlichen

Ich möchte meine Artikel auch automatisch veröffentlichen können. Aber ich möchte, dass es durch Drücken eines Hotkeys geschieht.

Ich habe ein kleines Skript geschrieben, das genau das tut:

#!/bin/bash
cd ~/Documents/blog

hugo

git add .
git commit -m "new"
git push -u origin main

Dieses Skript wird meine Website erstellen, festschreiben und in mein Github-Repo übertragen, wo es abgeholt und veröffentlicht wird. Lesen Sie den vollständigen Leitfaden „Wie ich diesen Blog kostenlos einrichte (Domain, Hosting, SSL), um zu erfahren, wie Sie Ihren eigenen Blog kostenlos einrichten.

Vergessen Sie nicht, das Skript durch Ausführen von

ausführbar zu machen.

chmod x ./YOURSCRIPT.sh

Erstellen Sie dann einen neuen Shell-Befehl für das Shellcommand-Plugin (wie zuvor) und geben Sie den Pfad zu Ihrem Skript ein.

In meinem Fall ist das:

~/Documents/blog2/push.sh

Dann einen Hotkey eingeben und fertig!

Abschluss

Ich kann jetzt einfach meinen Obsidian-Tresor öffnen, eine neue Datei erstellen, meine Vorlage einfügen und alle Informationen werden automatisch eingegeben.

Dann schreibe ich meinen Artikel in Obsidian

Führen Sie meinen Hotkey aus und kopieren Sie alle Dateien in das Hugo-Verzeichnis

Drücken Sie eine andere Taste und mein Blog wird veröffentlicht!

Wenn Ihnen dieser Artikel gefallen hat, denken Sie darüber nach, mich zu unterstützen

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/4rkal/my-obsidian-hugo-blogging-setup-auto-publishing-with-hotkeys-365d?1 Bei Verstößen wenden Sie sich bitte an [email protected] um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3