We switched to a manual approval system for registration on this forum, as this makes it easier to keep bots out of the forum. We'll approve everybody who doesn't look like a bot!

How to combine ID with ease-of-use?

For my Zettelkasten I use IDs that are based on note creation time. I understand from reading about Zettelkasten that this has a couple of benefits, most importantly being uniqueness.

But a date does not carry relevant information. So looking up the right note is harder when making a link, and thus not as efficient.

What kind of ID do you use with Zettlr? Do you have an approach that still generates unique IDs but is easier to interlink with other notes?

Thanks in advance for any suggestions & have a nice weekend,

Comments

  • I am using the default, date-time-based IDs and it works really well for me. I never had the impression that it makes it hard to look up a note for linking.

    Whenever I create a new Zettel, I immediately assign it an ID within a YAML header. I am using an Autohotkey shortcut that automatically generates the YAML header and the ID for me. Zettlr will automatically detect that this Zettel begins with something like "id: 20200425180603" and will interpret this as the unique identifier, which is then displayed in the Zettel list in the left-hand panel. However, in addition to the unique ID, every Zettel gets a descriptive name. You could define the name by specifying a title in the YAML header, but I prefer to define the title just by the file name of the .md file.

    Linking to a Zettel is fairly simple: as soon as you type a double opening square bracket [[, Zettlr will show you a drop down list of search suggestions. The list gets narrowed down as you type either the target Zettel's unique ID or its title. Of course, typing the title is usually more meaningful than the ID number. Eventually, you end up with a link to the desired target Zettel, e.g. [[20200126175612]] Zettelkasten and Getting Things Done

    What I really like about this is that internally, Zettlr seems to use only the ID for creating the link. In other words, suppose I have a Zettel linking to [[20200126175612]] Zettelkasten and Getting Things Done. However, since writing this link, I have renamed the file name of the target Zettel to "Zettelkasten and GTD". But as long as the unique ID has not changed, clicking on the link will still take me to that Zettel. I find this very convenient because I tend to change the titles/file names of my Zettel regularly, for example when I split a long Zettel into several smaller ones, or when I realize I should make the title more specific.

    I hope this helps!

  • Thanks so much for your in-depth reply! :) There's a lot of information in here that's going to be useful for my workflow.

    @enbeh said:
    The list gets narrowed down as you type either the target Zettel's unique ID or its title. Of course, typing the title is usually more meaningful than the ID number.

    This sounds great, but I don't get the title in the pull-down menu. For me it looks like this:

    And now you're saying I can search for the title there too? That's awesome! How do I make that happen? :)

    @enbeh said:
    Eventually, you end up with a link to the desired target Zettel, e.g. [[20200126175612]] Zettelkasten and Getting Things Done

    I neither get this in my Zettlr. I always have to manually type over the title of the note, which is a bit tiring.

    Is there an option for this that I overlooked?

  • Hm, how strange, that is not what it looks like for me. In the screenshot below, you see a link to another Zettel with corresponding [[ID]] and title. The screenshot shows me in the process of linking to yet another Zettel, and as I am typing "wils", Zettlr automatically offers me the matching note in the dropdown menu.

    Dunno why this looks different for you. How did you specify the setting that determines how links are pasted? Unfortunately, my app is set to German, but I guess the setting is in the same location for every language version.

  • This sounds great, but I don't get the title in the pull-down menu. For me it looks like this:

    Are your files name exactly like that?

  • Thanks for the replies!

    @enbeh said:
    Dunno why this looks different for you. How did you specify the setting that determines how links are pasted? Unfortunately, my app is set to German, but I guess the setting is in the same location for every language version.

    Thanks for this. I don't have that 'Immer an' setting enabled. Here's what I have:

    If I enable that 'Inner an' setting, Zettlr simply adds the filename to my notes. Since my filenames are time based, I get:

    But with that option enabled I don't get the feature to search by title, even though I do set title in the front matter of my files. So it probably has to be a different setting than "when linking files, always add the filename"?

    @hendrik said:
    Are your files name exactly like that?

    Yes, my file names are the unique timestamps. Here are some example file names I have:

    • 2020-04-12 110935.md
    • 2020-04-18 071333.md
    • 2020-04-30 093842.md
  • Yes, my file names are the unique timestamps.

    Well, there you go. Apparently, the search-as-you-type feature only works on the filenames. If the filename is a human-readable string, e.g. "for-each-next-loop.MD", this gives you a dropdown list of sensible titles. That is exactly what I was referring to in my first reply. If the title is just 2020-05-04-10-55.MD you just get the numbers. I just checked by comparing my notes with a test note set up like in your screenshot. The result is like in your screenshot as well. Why don't you try it out with a test note with a string as title...

  • But with that option enabled I don't get the feature to search by title, even though I do set title in the front matter of my files.

    For this, please watch this issue: https://github.com/Zettlr/Zettlr/issues/612

  • @enbeh said:
    Well, there you go. Apparently, the search-as-you-type feature only works on the filenames. If the filename is a human-readable string, e.g. "for-each-next-loop.MD", this gives you a dropdown list of sensible titles. That is exactly what I was referring to in my first reply. If the title is just 2020-05-04-10-55.MD you just get the numbers. I just checked by comparing my notes with a test note set up like in your screenshot. The result is like in your screenshot as well. Why don't you try it out with a test note with a string as title...

    Aha! So Zettlr simply looks at the filename, and the title front matter value is irrelevant in this context (as well as the Zettelkasten ID settings). Thanks for the info.

    Yes I could also make that happen on my end, if I rename the file. Then that new filename shows up in the drop-down menu Zettlr shows.

    @hendrik said:
    For this, please watch this issue: https://github.com/Zettlr/Zettlr/issues/612

    The way I understand that feature request, Zettlr would automatically add the note's title rather than the ID. But for that to work, it probably means the note

  • Maybe this topic has been already discussed somewhere... But:

    Wouldn't it make more sense if the title of a note (the one that is also shown in the list and the one that becomes autocompleted when searching) would NOT be the filename, but e.g. the first heading? In that case the filename could just be the ID - which would have the further advantage that changing titles of notes would not kill manual links already established between notes...

    For me, at least, the name of the file is completely irrelevant - I just rename files in order to have a note listing that makes any sense to me while in zettlr...

  • @alltagsverstand said:
    Wouldn't it make more sense if the title of a note (the one that is also shown in the list and the one that becomes autocompleted when searching) would NOT be the filename, but e.g. the first heading? In that case the filename could just be the ID - which would have the further advantage that changing titles of notes would not kill manual links already established between notes...

    This makes a lot of sense for me! Filenames are simply there to store our contents and to have an ID that prevents duplicates. But other than that, filenames aren't that important. Titles, on the other hand, hold much more meaning.

    I looked over at the GitHub website and there is a request that looks like what you also mean: https://github.com/Zettlr/Zettlr/issues/534 So perhaps it gets changed. I also found this https://github.com/Zettlr/Zettlr/issues/612 and this https://github.com/Zettlr/Zettlr/issues/716 that perhaps make working with titles easier.

    So perhaps the workflow might become a bit better in the future. :)

Sign In or Register to comment.