Zettelkasten Forum

Custom ID

There are so many topics already on Zettel IDs that it's difficult to know where to post further comment, but since my suggestion is quite simple I thought it best to start a new thread.

It started like this: The timestamp format 202201041342 is hard-wired into The Archive. I find 220104-1342 to be easier to grasp (as well as shorter). There are probably almost as many preferences for how to format an ID as there are users. It seems to me that a default ID option field, perhaps using date tokens, would fit quite naturally into Advanced Prefs, and could make a lot of users happy.


  • edited January 2022

    Have you thought of making the kind of unique identifier you want manually or via a text-expansion tool?

  • edited January 2022

    Customizing the auto-generated identifiers is on our to-do list but not planned for any particular release. (Also see here: https://forum.zettelkasten.de/discussion/190/request-configurable-id-stamp) Will keep you posted once we think about this again.

    Author at Zettelkasten.de • https://christiantietze.de/

  • @Annabella: yes I have done just that. Command-N runs a KM macro that renames the default ID, so I do have a workaround, I just felt that it would be a good feature to have. Glad to hear it's on the roadmap Christian, and thanks for the link to the parallel discussion.

  • i use alfred snippets for UID as 2022.0131.2024 and just add it in the headings

  • Zettlr has such a facility in Preferences > Zettelkasten > Pattern used to generate new IDs. The default value is %Y%M%D%h%m%s but you could change this to %Y.%M%D.%h%m if you wanted. I just did. You would have to change the regex that matches IDs also. I allow alphanumerics with a leading digit and underscores, and just added a period (the extension .md at the end still works). My ID regex, defined in Preferences > Zettelkasten > ID regular expression is now (\d[\w\.]{13,}). This will also accommodate very general IDs of outlines within outlines, with parallel outlines. You might want something more restricted, such as (\d{4}.\d{4}.\d{4}) which will match the generating pattern %Y.%M%D.%h%m exactly. The filenames generated will be exactly what you'd want (if you want them to be the same as the IDs.)

    Here's a screenshot

    GitHub. Erdős #2. CC BY-SA 4.0. Problems worthy of attack / prove their worth by hitting back. -- Piet Hein.

Sign In or Register to comment.