file ist ein Name innerhalb von dir. Die Grundeinstellung für dir ist
quartz/static/snippets, gerechnet ab der Wurzel der Site:
options:
dir: quartz/static/snippets # Standard
file: snippet.html # -> darinUnterordner sind erlaubt: file: kopf/marke.html liest
quartz/static/snippets/kopf/marke.html.
Die Grenze
Ein Pfad, der aus dir hinausführt, wird abgelehnt — die Box gibt nichts aus und der Bau warnt
einmal:
options:
file: ../../../etc/passwd # abgelehntGeprüft wird nicht die Zeichenkette, sondern der aufgelöste Pfad. Ein .. mitten im Namen hilft
also ebenso wenig wie eine Verknüpfung, die aus dem Ordner hinauszeigt.
Warum überhaupt eine Grenze
Die Konfiguration einer Quartz-Site wird weitergegeben — als Vorlagenpaket, als Repository, als Beispiel in einem Forum. Ein
file, das jeden Pfad des Rechners lesen dürfte, machte aus einem geteilten Eintrag ein Werkzeug zum Auslesen fremder Dateien. Die Grenze kostet nichts und schließt das aus.
Warum quartz/static/
Der Ordner gehört zur Site, nicht zum Inhalt. Das ist Absicht: Ein Schnipsel ist Gestaltung, und Gestaltung hat im Vault nichts verloren — sonst taucht sie im Explorer auf, in der Suche und im Graphen.
Alles unter quartz/static/ wird von Quartz ohnehin mit ausgeliefert. Das heißt auch: Die
Schnipsel-Dateien selbst sind über die Adresse der Site erreichbar. Für Markup, das ohnehin auf
jeder Seite steht, ist das folgenlos — aber es ist kein Ort für etwas, das nicht öffentlich sein
soll.