Formal spec of legal note names and link formats

Is there a formal spec for:

  1. Note names:
    1. What characters are legal in a note name?
    2. Are there length restrictions?
    3. any other restrictions?
  2. Link formats:
    1. What link formats are legal? So far I found:
    2. standard wiki link: [[note]]
    3. w/ header link: [[note#header]]
    4. w/ block link: [[note#^37066d]]]]
    5. w/ alt text: [[note|alt text]] (can be combined with header or block link)
    6. all can be prefixed with ! for embedding

Background

Since dendron is very likely dead, I am writing a cli tool to emulate its functionality on my Obsidian vault. I may wrap it as an Obsidian plugin in the future, but I want this to be standalone. Hence I find myself needing to implement renaming of notes.

These also exist without the note name and link to a heading or block in the same note.

1 Like

I don’t know if there’s a formal spec, but you can get the list of forbidden characters by typing one (like /) into a note name field. The Windows version might have a longer forbidden list — that info is in the forum somewhere.

I think length is just restricted by system limitations.

You are aware of Foam I hipe.