Diese Seite wird mit hugo erstellt und lässt sich in Sekunden statisch generieren – was wunderbar zum schnellen Obsidian Editor und Workflow passt.

Die unten stehenden Konfiguration ermöglicht dabei ein paar Basics:

  • neue Notes werden direkt in content/posts abgelegt
  • eine neue timeline (s. Zeitleiste für Hugo/PaperMod) Datei anlegen unter Verwendung eines Templates. Dafür ist die Daily Notes Funktion praktisch
  • shortcuts, z.B. deployment mit den Tasten alt+shift+d

Die Konfiguration ist inspiriert von https://4rkal.com/posts/obsidianhugo.

Allgemein

Als Obsidian Vault nutze ich das root des blogs. Also content ist ein Unterverzeichnis, in templates sind die obsidian-templates.

In Obsidian -> Preferences verwende ich noch diese Einstellungen:

  • Files and Links:
    • Default location for new posts: In the folder specified below … “content/posts”
    • Excluded files: “public/”
    • Default location for new attachments: In the folder specified below … “assets/images”
  • Editor:
    • Properties in document: Source
    • Spellcheck: off
  • Templates:
    • Template folder location: “templates”

Deployment

Da ich der einzige Benutzer bin, und auf dem Cloud-Server nur diese Seite liegt, passiert das deployment einfach per rsync/ssh aus dem von Hugo generierten public Verzeichnis.

Hier kommt das Plugin Shell commands zum Einsatz:

  • unten stehendes script als neuer Cmd
/opt/local/bin/hugo --minify || exit 1

echo "Deploying ..."
rsync -n -prvzp --delete public/ DESTSERVER:/DESTPATH/ || exit 1
echo "Deployed successfully!"

git commit -a -m "deployed."
git push origin master

(hugo pfad, -n für no-op und destination ist anzupassen)

  • Als alias trage ich ‘deploy’ ein
  • In Output -> Output channel for stdout: “Notification ballon”, damit die Ausgabe kurz sichtbar ist.

Der Rest bleibt alles auf Standard-Einstellung.

Bei Darstellungsproblemen ist es manchmal hilfreich vorher das public Verzeichnis zu löschen – könnte man auch in das script aufnehmen. Und ein git commit und tagging ist vielleicht auch sinnvoll.

Dann noch den hotkey erstellen, oder alternativ einfach das cmd-Menü verwenden (cmd+p -> deploy).

  • Obsidian -> Preferences -> Hotkeys
    • “Shell commands: Execute: deploy” -> alt+shift+d

Timeline

Die Timeline (Zeitleiste auf meiner Seite), zeigt z.B. tägliche Funde, Bemerkenswertes etc. Jeder Tag hat ein md-file im Format YYYY-MM-DD. Genaueres unter Zeitleiste für Hugo/PaperMod

Hier ist die Daily Notes Funktion praktisch, mit diesem template und Konfiguration:

Neues template: templates/timeline

---
title: {{date}}
date: {{date}}
---

### Heute gefunden...

Dann…

  • Obsidian -> Preferences -> Daily Notes:
    • Date format: “YYYY/YYYY-MM-DD”
    • New file location: “content/timeline”
    • Template file location: “templates/timeline”

Jetzt lässt sich einfach mit “open daily note” (linke Leiste / cmd+p) ein neuer Eintrag für die timeline Sektion im blog erstellen.

Posts

Neues template: templates/post

---
title: {{title}}
date: {{date}}
description:
summary: 
tags: ["software"]
showToc: true
tocOpen: true
draft: true
---

content...

Ein neuer post lässt sich nun mit cmd+n, title ändern, cmd+p -> insert template -> post anlegen.

Fazit

Die Lösung ist sehr einfach, und funktioniert mit Standard-Obsidian und nur einem Plugin.

Praktisch wäre für mich noch:

  • den lokalen hugo server in einer externen shell starten mit shortcut
  • Konvertieren von obsidian links zu HTML links