Community-Erweiterungen
Im ersten Artikel dieser Reihe bin ich bereits auf einige der mitgelieferten Erweiterungen eingegangen. Noch spannender sind jedoch die Community-Erweiterungen. Dieser Bereich muss allerdings zunächst aktiviert werden. Der entsprechende Dialog gibt einige Hinweise, die sorgfältig durchgelesen werden sollten. Grundsätzlich könnten Entwickler Schindluder mit einer dieser Erweiterungen treiben, daher sollten sie nicht aus dubiosen Quellen installiert werden. Die Erweiterungen in diesem offiziellen Katalog erhalten zwar einen ersten Code-Review, und da die meisten Open Source sind, kann der Code auch eingesehen werden. Dennoch bleibt immer ein Restrisiko, z.B. dass ein unbeabsichtigter Fehler etwas Schädliches bewirkt. Der Tipp, den die meisten Tutorials geben, ist, nur Erweiterungen zu verwenden, die viele Downloads haben, und um diese geht es dann auch hier.
In diesem Bildschirm (Einstellungen –> Externe Erweiterungen) müssen die Community-Erweiterungen aktiviert werden.


Nachdem der „Durchsuchen”-Button gedrückt wurde, wird endlich den Katalog angezeigt. Zunächst gehe ich auf die vier Erweiterungen ein, die ich unten rot markiert habe und werde mit der „Dataview” Erweiterung in diesem Artikel beginnen.

Dataview
Für die Dataview-Erweiterung ist eine Vault wie eine Datenbank, an die mit einer Abfragesprache Daten gesucht und dargestellt werden können. Diese Abfragesprache bietet eine Vielzahl von Möglichkeiten, auch komplexeste Abfragen zu erstellen. Ich werde mich jedoch auf einfache Abfragen beschränken. Wer tiefer eintauchen möchte, dem werden die vielen Videos auf YouTube empfohlen und natürlich die Dokumentation.
Um etwas Spielmaterial zu haben, kann hier eine kleine Zip-Datei heruntergeladen werden, in dem ein Ordner verpackt ist mit 10 Markdown Dateien, in denen die Eigenschaften der einzelnen Weine in Property-Listen abgelegt sind. Nach dem Entpacken kann sie einfach in den Obsidian-Ordner verschoben werden. Danach sollte sofort ein Ordner namens „03 Wein” im Datei-Explorer erscheinen.
Installation
Das Klicken auf die Dataview Kachel startet den Installationsprozess, als erstes werden Detailinformationen zur Erweiterung angezeigt, die einige Hinweise für die Verwendung geben. Als nächsten Schritt nachdem der Knopf „Installieren” geklickt wurde. ändert sich der Bildschirm leicht und statt des „Installieren” Knopf, werden nun die Funktionen „Aktivieren” und „Desinstallieren” angeboten. An dieser Stelle wird natürlich „Aktivieren” geklickt und zu guter letzt dann der Knopf Optionen



Nach diesen Schritten wird dann der Einstellungsdialog der Dataview-Erweiterung angezeigt.

Hier müssen noch das Datumsformate angepasst werden, dazu wird etwas runtergescrollt, bis zu diesen beiden Optionen und die Einstellungen entsprechend angepasst:

Die Liste
Mit der Dataview-Erweiterung ist es möglich, Abfragen zu erstellen, die entweder Listen, Aufgabenlisten oder Tabellen zur Darstellung des Ergebnisses nutzen. Fangen wir mit der Liste an.
Als Spielwiese wird erst einmal eine neue Notiz erstellt und z.B. „Dataview Test” genannt.
Wir starten mit der einfachsten Abfrage, bei der Links zu allen Dateien in der Vault gelistet werden.
```dataview
LIST
```
Wie in der Datenbank Welt üblich werden ich versuchen die Abfragebefehle in Großbuchstaben zu Schreiben, was die Übersicht etwas erhöht. In meiner kleinen Vault, die ich zum Schreiben dieses Tutorials verwendet habe, werden im Moment nicht viele Dateien angezeigt. Es sollten aber zumindest die Weine zu sehen sein:

Um eine Darstellung wie die im oberen Bild zu bekommen, bei der links die Quellcode-Ansicht und rechts der Lesemodus angezeigt wird, wird auf den Tab der offenen Notiz mit der rechten Maustaste (oder ⌘-Klick oder Ctrl-Klick) geklickt und in dem Menü „Rechts teilen” ausgewählt. Dadurch werden dann zwei Versionen der aktuellen Datei angezeigt. In der einen Notiz kann die Quellcode-Ansicht angezeigt werden und in der anderen der Lesemodus.
Nun aber zurück zum „list”-Befehl, der noch mehr kann. Dazu verändern wir einfach den vorherigen Aufruf. Es werde dann vielleicht im Lesemodus zunächst einige Fehlermeldungen angezeigt, aber sobald der korrekte Ausdruck eingetippt wurde, sollten die entsprechende Liste angezeigt werden.
Falls man im Live-Preview einen Code-Block bearbeiten möchte, muss der Cursor im Bereich des Code-Blocks stehen. Woraufhin oben rechts am Block ein kleines Icon erscheint, mit dem der Block in den Editier-Modus geschaltet wird.
Das nächste Beispiel zeigt, wie in der eben erstellten Liste neben den Link zur Notiz, auch der Wert eine Eigenschaft angezeigt wird (hier der Notiz type
)

Wenn das Ziel ist, nur eine Liste mit den Notizen aus dem Ordner „03 Wein” anzuzeigen, wird dieser Ordner hinter dem Schlüsselwort FROM
definiert. Zusätzlich zeigt das Beispiel, wie die Ausgabe mit SORT file.name ASC
aufsteigend sortiert werden kann.

Mit der obigen Abfrage werden allerdings alle Notizen in dem Ordner angezeigt, einschließlich der Notiz „Keine Weindatei!”. Da in den Wein Notizen die Eigenschaft type = wein
definiert ist, kann der type
für die Abfrage genutzt werden. Auf diese Weise werden nur Weine als Ergebnis angezeigt. Wenn die Angabe des Ordners weggelassen werden würde, würden alle Notizen im gesamten Vault gefunden werden, in denen die Eigenschaft type = wein
definiert ist. Hier also die Abfrage mit dem Zusatz WHERE type = wein
:

Wenn die Eigenschaft als Wert eine Liste hat, wie bei den Weinen die Eigenschaft rebe
, dann muss die Abfrage etwas anders gestaltet werden:

Abfrage Syntax ist im Prinzip nicht schwer, aber da man sie wohl nie so oft verwendet, kann es eine gute Idee sein, sich für solche Dinge auch Notizen im der Vault machen.
Mit ein bißchen Übung und Nachlesen, können auch komplexere Erbnisse erreicht werden:

Die LIST-Abfrage bietet eine gute Möglichkeit, Notizen zu erstellen, die alle Notizen mit bestimmten einer Ausprägung einer Eigenschaft oder die bestimmte „Tags” enthalten anzeigen. Für so eine Notiz wird oft der Ausdruck „MOC” verwendet, was für „Map of Content” steht. Im Prinzip ist ein „MOC” ein Ersatz oder eine Ergänzung Ordner. In einem „MOC”-Übersicht können Notizen aus verschiedenen Ordnern stammen und trotzdem als zu einer definierten Kategorie angehörig angezeigt werden. So könnten Notizen auch in zwei oder mehr „MOC”-Übersichten angezeigt werden, was in einer Ordnerstruktur nur durch Kopieren der Datei erreicht werden kann.
Notizen können auch mit einer anderen Syntax nach „Tags” gesucht werden. Dabei ist es dann auch nicht relevant, ob diese in den Properties unter tags
aufgeführt sind oder mit dem # markiert sind.
Im nächsten Beispiel habe ich der Einfachheit halber den Tag #hugo
als Beispiel in die „Dataview Test”-Notiz geschrieben. Die Suche nach list from #hugo
listet dann genau diese Notiz auf. Falls noch andere Notizen in der Vault entweder in den Properties oder im Fleißtext existieren, können diese ebenso gesucht werden. Im Moment habe ich in meiner Vault nur die Artikel dieser Reihe in den Properties getaggt, die dann ebenso wie #hugo
mit einer Suche aufgelistet werden. In dem Beispiel habe ich #hugo OR #obsidian
. Der dritte Aufruf in dem Beispiel dient dazu, wenn nur in den „Tags” in den Properties gesucht werden soll.

In einer Tabelle können die Ergebnisse einer Abfrage oft etwas übersichtlicher dargestellt werden als in einer Liste. Daher bietet die Dataview-Erweiterung auch die Option, die Ergebnisse als Tabelle darzustellen. Das nächste Beispiel zeigt eine Tabelle aller Notizen vom type = wein
, wobei die Eigenschaften rebe
und winzer
als Tabellenspalten angezeigt werden.

Da die Benennung der Spalten durch die technischen Namen geschieht, bietet die Dataview-Erweiterung die Möglichkeit diesen Namen durch die Option AS
zu ersetzten. Die erste Spalte ist allerdings die ID der Notiz, die nur versteckt werden kann. Wenn in der ersten Spalte als „Wein” und der Link zur Notiz angezeigt werden sollen, muss stattdessen diese Spalte als file.link AS Wein
definiert werden. So würde eine entsprechende Anfrage und die Tabelle aussehen, wobei sie Abfrage auf die roten Weine eingeschränkt ist. ‘

Ansonsten gibt es viele Ähnlichkeiten zwischen Listen und Tabellen, was und wie abgefragt wird. Wie in den Beispielen zu sehen ist, kann die Dataview-Erweiterung auch auf andere Metadaten einer Notiz zugreifen, wie z.B. den Namen der Datei, den Link zur Datei, das Erstellungs- oder letzte Änderungsdatum und vieles mehr. Es ist auch möglich, Abfragen „inline” im Text einer Notiz zu definieren. Ich nutze z.B. in meinen Notizen als Fußzeilen die folgenden Abfragen (natürlich in den Vorlagen definiert):
---
erstellt: `=dateformat(this.file.ctime, "DDDD HH:mm")`
letzte Änderung: `=dateformat(this.file.mtime, "DDDD HH:mm")`
Ordner: `=this.file.folder`
Was dann so im Lese-Modus angezeigt wird:

Aufgaben
Die Dataview-Erweiterung kann auch dazu genutzt werden, Aufgaben aus verschiedenen Notizen in einer Notiz zusammen zu führen und so einen Überblick zu schaffen,. welche Aufgaben noch offen sind, die z.B. in den täglichen Notizen definiert werden können. Die Syntax für eine Aufgabe ist:
- [ ] Dies ist eine Aufgabe
- [x] Dies ist eine erledigte Aufgabe
- [ ] Dies ist eine Aufgabe mit einer Variablen [fällig:: 19.10.2023]

Im ersten Beispiel im nächsten Bild werden alle Aufgaben mit der Abfrage TASK
angezeigt, auch diejenigen ohne Text aus dem Vorlagenordner.
Das zweite Beispiel zeigt nur die Aufgaben an, die bereits erledigt sind, also completed
. Die offenen Aufgaben würden mit der Option !completed
aufgelistet. Das !
steht dabei für ein logisches „nicht”. Eine Aufgabe kann auch direkt in dieser Übersicht auf „erledigt” gesetzt werden, indem auf die Checkbox geklickt wird. Wenn man das in diesem Beispiel macht, dauert es einige Augenblicke, und die geklickte Aufgabe wandert in den unteren Teil.
Wenn der Aufgaben-Text geklickt wird, öffnet sich die Notiz, in der die Aufgabe eingegeben wurde.

completed
Im nächsten Bild werden zunächst alle nicht erledigten Aufgaben der Notizen im Ordner „Tägliche Notizen” aufgelistet, gruppiert den täglichen Notizen. Das letze Beispiel filtert die Anzeige der Aufgaben nach dem Wert der Variablen fällig = "19.10.2023"
, die an der Aufgabe definiert wurde.

Mit Hilfe dieser Abfragen, ist es durchaus möglich eine rudimentäre Aufgabenverwaltung sich zusammen zu stellen. DIe Abfragen, auch bei den Liste oder Tabellen können durchaus komplex definiert werden. Es lohnt sich sicherlich die Dokumentation zu lesen. Aber es reichen oft die hier gezeigten Beispiele um eine gute Übersicht über die Daten zu bekommen
Mit Hilfe dieser Abfragen ist es durchaus möglich, eine rudimentäre Aufgabenverwaltung zusammenzustellen. Die Abfragen, sowohl bei Listen als auch bei Tabellen, können durchaus komplex definiert werden. Es lohnt sich sicherlich, die Dokumentation zu lesen, aber oft reichen die hier gezeigten Beispiele aus, um eine gute Übersicht über die Daten zu bekommen.
Kalender
Ein kleines Gimmick, das ich auch erst im Rahmen dieser Artikel Reihe entdeckt habe habe, ist die Kalenderanzeige. In dem Beispiel werden in dem Kalender die Dateien, die an einem bestimmten Datum erstellt wurden, als Punkt angezeigt. Der Tag ist zwar anklickbar und öffnet dann eine Notiz, allerdings habe ich nicht herausbekommen, welche Notiz das am Ende ist. Zum Vergleich habe ich auch mal alle Notizen, die am 18.10.2023 erstellt wurden, als Tabelle gelistet. Ich werde noch auf die Calendar Community-Erweiterung eingehen, daher habe ich diesen Kalender nur erwähnt, weil es ihn gibt. 😉

Lob, Kritik, Korrekturen – ich finde alles toll. Schreib es in die Kommentare!
Schreibe einen Kommentar zu Karl Antworten abbrechen