Use H1 or YAML property "title" instead of or in addition to filename as display name

I’d like a set of fallbacks for this

  1. Front matter title
  2. First entry in aliases
  3. First header in file
  4. File name

Maybe the order should not be configurable so that the behavior is consistent.

4 Likes

Seconding on this, as already mentioned above my suggestion is to implement a title YAML tag to use in visualization-related scenarios instead of plain filenames. This solution is also compliant to ones adopted by other tools like pandoc and Zettlr, so it’s a step forward compatibility-wise too.

Plus, which YAML tags are supported should be documented in a dedicated page, maybe into an in-depth introduction about how front-matters work?

Thank you for your job!

6 Likes

yes this would be very nice

This would be really helpful! I use Zettelkasten IDs as file names in my vault. The introduction of aliases eased the pain of linking notes, but the graph and everything using file names as identifiers are still barely usable in this scenario.

4 Likes

Great suggestion. I’m Japanese, so I write the title of the note in Japanese.
However, I have concerns about the stability and flexibility of the file because the Japanese file names contain multiple bytes and contain NFD and NFC issues.

Being able to decouple the file name from the note title and attach a UID to the file name would eliminate these concerns.

11 Likes

That will be a great feature. For a Linux system, I prefer to follow “all lower case and underscore” as files’ name, while using H1 as a note’s title and link (so titles could include characters other than English characters).

1 Like

related: Support underscores "_" in block-id
(useful when refactoring blocks to separate files and vice versa)

+1 !
I too would like to be able to use the YAML frontmatter title instead of the file name in the graph.

2 Likes

I feel that #title is the more natural way to use a document title.

Edit: To use the first line as Title might be problematic. For example, I have my tags in the first line.

@jMatsuzaki Please, do not forget to like the original post by pressing :heart: under it, since it is officially prefered method of voting according to FAQ.
quote:

Rather than posting
“+1” or “Agreed”,
use the Like button.

1 Like

I’ve been thinking about this a bit, and I think the desktop app should mirror what Publish does.

  • Use the filename as the note’s display title
  • In desktop app, display file name at top of note i same size and position as an h1 in the document (this would mirror Publish and remove need for people to add their own titles)
  • Allow a display title attribute in YAML frontmatter where user can indicate a different display title (this would allow special characters, different formats, etc.)
  • Add display name at top of sidebar, so it’s clear what note you’re looking at
6 Likes

For the time being I would suggest following hint to access your note titles:

If you access your notes primarily through search (like I do), and use top-level headings for the note title, you can enter your search query in the Obsidian search field wrapped in parentheses and prefixed by a hash symbol:

# (one OR two)

If you use YAML front matter, just replace the hash symbol with title:

title: (one OR two)

Make sure the “Collapse results” search option is deactivated. Obsidian will show you list of matching file names together with the first matched line, which will be the note title.

2 Likes

@austin Related request that would help to see context when the note is scrolled down:


@saf-dmitry great workaround in search. Thanks. Here is a modification:
“#” alone matches fragment identifiers in URLs so I match only # at line beginning.
Here is regex that matches and highlights whole title line:
/^(#|title:) [^\n]*/ to be followed by search string.

The regex can be put in by text expander.

Below is AutoHotkey script that automatically writes the hotstring into search field after pressing Ctrl+Shift+F:

; AutoHotkey code to prefix title matching regexbefore search string
#IfWinActive ahk_exe Obsidian.exe
~^+f:: ; Ctrl+Shift+F ; Find in Obsidian
  Sleep, 100 ; maybe not needed 
  SendLevel, 0
  Send, {LControl up}{RControl up}{LShift up}{RShift up}
  Send, {Raw}/^(#|title:) [^\n]*/
  Send, {space}
  return
#IfWinActive

CSS snippet that can be tweaked to make highlighted titles easier to read:

.theme-light {
  --text-highlight-bg: rgba(0, 128, 0, 1);
}

.theme-dark {
  --text-highlight-bg: rgba(0, 128, 0, 1);
}
1 Like

@malecjan Thank you for your suggestions. Of course, you are generally right suggesting a regex for more accurate matching of note titles to distinguish them from URL fragments or e.g., hashtags.

In my post I just silently assumed, that all of your notes have a title, and this title always comes as the first non-blank line. In this case there is no need to clutter search query with more complex regexes.

Generally speaking, this workaround will only work, if the first matched line in a note is a title line, otherwise you will not see it in the list of search results.

Please, consider complementary simple request that will make this one much more useful in the future:

  • By putting title directly in “title” field instead of “aliases” field, we will have it ready when this request is implemented.
  • When we will see titles daily, we will want them to match in quick switcher and in link suggestions.
  • “Title” field is well defined, manageable by plugins so in case of need we would be able ourselves to fill missing titles by data extracted from markdown by some plugin to satisfy diverse opinions for how exactly this request should behave (what data to show instead of filename)
2 Likes

+1 for this !
Dokuwiki has that feature, and it’s so good being able to separate file name from note title.

You can still do that - file name can be prefix-whatever, add a

---
alias: [This name, That name]
---
# Name

But it’s more typing than I like, and now ther’s an alias name and a # title name to maintain. I’d still very much like this feature…

Please include this feature, I can’t imagine having to use graph views with date-formatted filenames.

Yes, please!! As someone who prefers unique ids for filenames this feature is super necessary

+1 to abstracting a filename from the title of a note for a Zettlekasten workflow.

1 Like