A way to tell Obsidian that a property will only contain unique values

Use case or problem

I use Obsidian to write notes on external resources – web pages or PDFs. I have front-matter properties to link to these resources.

For example, here I’ve taken some notes on a PDF that I’ve downloaded from the web and saved to my vault. I have a property that links back to the original page, and a property that does an internal link to the file in my vault:

---
date: 2023-12-09
tags:
  - languages/chinese
  - latex
  - typography
  - papers-ive-read
pdf: "[[wong.pdf]]"
url: https://www.tug.org/TUGboat/tb24-3/wong.pdf
---

The pdf and url properties both have type string, so when I add them to a new note, Obsidian helpfully offers an autocomplete prompt based on other values I’ve used for that field.

But here’s the rub: these properties always have unique values, so autocomplete is completely unhelpful here. e.g. I’m never going to create a second note with pdf: [[wong.pdf]], because anything I have to say I want to add to the existing note instead.

Proposed solution

It would be nice to be able to tell Obsidian that this property should only ever contain unique values, and have it update its behaviour accordingly.

The thing I care most about is disabling autocomplete for that field.

There might be interesting other things you can do with “unique-value” properties, e.g. a plugin to highlight cases where this uniqueness constraint is violated.

Current workaround (optional)

I dismiss the autocomplete field and get on with my day.

This is a paper cut, not a problem.

Related feature requests (optional)

I couldn’t find any.

4 Likes