# Dataview Das Dataview-Plugin von Michael Brenan stellt eine nützliche Funktionalität innerhalb von Obsidian bereit: Es lassen sich über das Frontmatter jeder Notiz jeweils spezifische Metadaten für ein gegebenes Dokument definieren. Diese werden in der Auszeichnungssprache YAML angegeben (keine Sorge, das ist noch intuitiver als Markdown). Drei Bindestriche rahmen das YAML-Frontmatter ein, sodass Obsidian erkennt, dass die darin enthaltenen Daten als Metadaten klassifiziert und nicht regulär angezeigt werden, sofern das Plugin installiert ist. Die Daten für die vorliegende Notiz sehen beispielsweise so aus: ``` --- title: Dataview author: "Mary Shnayien" tags: YAML, Obsidian, Customization, Metadata status: 🟢 --- ``` Unter `title` kann der jeweilige Titel des Dokuments notiert werden, unter `author` der_die Autor_in. Sinneinheiten wie zusammenhängende Vor- und Nachnamen sollten dabei in Anführungszeichen gesetzt werden. Unter `tags` können die Tags aufgelistet werden, die zu einer jeweiligen Notiz gehören, sofern sie nicht ohnehin schon innerhalb des Fließtextes gesetzt wurden. Unter `status` habe ich mich dazu entschieden, mit den Emojis 🟢, 🟡 und 🔴 anzuzeigen, ob ich einen jeweiligen Eintrag als fertig, in progress oder enorm defizitär betrachte. Es können nach Belieben solche Kategorien angefertigt werden. Bis auf wenige, deren Namen vorgegeben sind (bspw. `author` oder `title`), können die Kategorien komplett frei benannt werden. Ich hätte beispielsweise die Status-Kategorie `pinguin` nennen können – das würde keinen Unterschied für die Funktionalität machen, sofern man bei der Datenabfrage das Feld mit dem vergebenen Namen adressiert. ## Anwendungsmöglichkeiten Damit kommen wir zu einer Anwendungsmöglichkeit des Dataview-Plugins: Alle user_innengenerierten Daten werden mit Dataview in spezifischer Weise durchsuchbar und sortierbar. Ein Beispiel ist das Inhaltsverzeichnis meines Ordners, dessen Code folgendermaßen aussieht: ```` ```dataview table file.tags AS Tags, file.cday AS Created, status AS Status from "Mary Shnayien" where !contains(title, "🗃️ Inhalt") sort file.cday desc ``` ```` Hier eine kurze Erläuterung dazu: * Mit der Angabe ` ```dataview` wird Obsidian angezeigt, dass der folgende Codeblock mit dem Dataview-Plugin interpretiert werden soll. * Die Zeile `table file.tags AS Tags, file.cday AS Created, status AS Status` macht klar, dass die Daten als Tabelle dargestellt werden sollen, und welche Spalten diese Tabelle haben soll. Dazu werden jeweils die Feldnamen aufgerufen und nach `AS` steht, wie ich die Tabellenspalten gerne benannt haben möchte (das ist also eher Kosmetik). * Die Zeile `from "Mary Shnayien"` spezifiziert den Ort, an dem gesucht werden soll – in diesem Fall ist das mein Ordner. Alle Dateien außerhalb des Ordners werden ignoriert. * Die Zeile `where !contains(title, "🗃️ Inhalt")` tut nichts anderes, als die Datei namens "🗃️ Inhalt" aus der Liste auszuschließen, denn ansonsten würde das Inhaltsverzeichnis sich selbst als Datei aufführen – sehr unsinnvoll. * Die Zeile `sort file.cday desc` spezifiziert, dass die Dateien in der Tabelle absteigend nach Datum sortiert werden. Würde man ein solches Inhaltsverzeichnis für das komplette Laborbuch anlegen wollen, könnte man beispielsweise mit `sort authors asc` alphabetisch nach Autor_innen sortieren. Es lassen sich beliebig weitere Operatoren hinzufügen, sodass beispielsweise nur Notizen angezeigt oder ausgeschlossen werden, die einen bestimmten Tag enthalten, oder abstrakter: die einen spezifischen Wert in einer selbst festgelegten Kategorie haben. Beispielsweise ließe sich ein Verzeichnis erstellen, das alle Einträge im Laborbuch, die abgeschlossen sind, alphabetisch nach Autor_innen sortiert: ```` ```dataview table author AS Autor_in, file.tags AS Tags, file.cday AS Created from "" where contains(status, "🟢") sort author asc ``` ```` Mit dieser Funktion ließe sich das Problem umgehen, dass Autor_innenschaft nur 'weich' angegeben werden kann (d.h. entweder über Tags oder einfach inline als Text). ## Installation Bei dem Dataview-Plugin handelt es sich um ein sogenanntes "Community-Plugin", da es nicht zur Grundausstattung von Obsidian gehört. Um es zu installieren, muss zunächst unter *Settings -> Community Plugins* Community Plugins aktiviert werden. Danach kann über die Suchfunktion "Dataview" gesucht und installiert werden. Nach der Installation muss das Plugin noch aktiviert werden, damit es funktionstüchtig ist.