Obsidian Update

Obsidian 1.0.0 is here – What’s new?

From 0.15.9 to 1.0.0 everything new? Not at all. Obsidian remains rock solid. But even more beautiful and tidy.

Auf Deutsch: Obsidian 1.0.0 ist da – Was ist neu? (generateCLICKS.DE)

obsidian 1.0.0 01 minimal wk
Obsidian 1.0.0 set to Kepano’s Minimal theme (slightly modified 🙂 )

For weeks, everyone thought Obsidian 0.15.9 would be followed by version 0.16 – as usual. No way! Suddenly they turn up and dare the giant leap to version 1.0.0.

In the run-up it was already announced that something big is coming.

But there was still talk about “under the hood”, especially about the design. Now everybody knows: Yes, it looks different. But just a little bit. So, is this jump really that revolutionary?

Update: here you can download my complete Obsidian Vault for to-do lists with calendar links from GitHub including all needed plugins, settings and templates – of course already for the current Obsidian version

Minimal Theme is the reference

The Minimal theme developer, Kepano aka Stephan Ango recently joined the Obsidian developer team. Stephan is also responsible for the current default theme. Hopefully that doesn’t stop him from continuing to work on Minimal.

What makes the Minimal theme special is not that it is particularly beautiful (it is, of course, but so many other themes are so beautiful as well … see my recommended Obsidian themes below …).

Above all, Minimal is incredibly versatile, flexible and customizable.

If you install the theme and don’t agree with the default, you can install two community plugins right away, in order to customize your Minimal Theme, however you prefer:

  • Minimal Theme Settings
obsidian 1.0.0 02 minimal theme settings
Obsidian 1.0.0 community plugin Minimal Theme Settings
  • Style Settings (for Minimal and other themes)
obsidian 1.0.0 03 style settings plugin
Obsidian 1.0.0 community plugin Style Settings

I’ve (of course!) already played around with it, as you can see from the screenshots, and don’t even claim that’s my final word.

The best Obsidian themes (Minimal aside)

If you don’t feel like screwing with your “own” theme at all, you’ve got a great choice of alternatives. I list here only the ones that have already caught my eye.

Obsidian Standard Theme

obsidian 1.0.0 04 standard
Obsidian 1.0.0 Default Theme

First, the default theme. This is the fallback solution for me, before all the cords break (and I bend “my” minimal theme so much that I want to jump back to stable ground … for a moment).

Blue Topaz

obsidian 1.0.0 05 blue topaz
Obsidian 1.0.0 Blue Topaz Theme

Obviously a bit more playful than the gray standards: the theme “Blue Topaz”. Like Minimal, it’s worth seeing in dark as well as in light mode. And: responsive! That means it can be used on cell phones as well.

Things

obsidian 1.0.0 06 things
Obsidian 1.0.0 Things Theme

Somewhat more restrained than Blue Topaz, but still “stronger” in feel: the Theme Things.

Willemstad

obsidian 1.0.0 07 willemstad
Obsidian 1.0.0 Willemstad Theme

With Willemstad still a recommendation for more playful / courageous natures. Even if it is not obvious in this screenshot here.

It’s worth installing and optionally activating different themes.

The differences in detail only become apparent after you have used it for a while.

Before / After: My Obsidian Theme 0.15.9 vs 1.0.0

obsidian 1.0.0 08 luhmann 0.15.9
Obsidian 0.15.9 – my custom theme “Luhmann

My Obsidian update from 0.15.9 to 1.0.0 was sooo smooth. I did not expect that.

In the screenshot above I dare to look back:

  • The tabs are new. Older themes don’t know this feature
  • The Obsidian window now fits differently into the operating system
  • Under Windows you get a mix of “frameless” and “native”.

I have therefore finally switched to Minimal, which can handle all improvements perfectly. Nevertheless, I can still tweak individual aspects of my old theme as CSS snippets. But that’s worth a separate post …

Tabs, Plugins, Templates: What changes?

I was expecting some confusion as far as plugins and templates are concerned, especially because of the new tabs.

After a few days, I’m completely reassured.

At least for me – so far – the necessary changes have been minimal.

Tabs with inline titles make the Filename Heading Sync plugin obsolete

obsidian 1.0.0 09 new settings
Settings > Appearance: Show inline title, Show tab title bar

In the old version I had installed the Filename Heading Sync. This plugin installed, you never have to enter the filename and the main heading twice.

This is no longer necessary with Obsidian 1.0.0.

In the Settings > Appearance (see screenshot above):

  • Show Inline Title: shows the filename as # heading
  • Show Tab Title Bar: adds the filename incl. path to the note header

This is roughly equivalent to the functionality of the old plugin, but goes even further:

  • The main header (aka inline title) becomes editable
  • Or click on the filename in the header and change it there
  • Or right-click on the tab itself, choose “rename” in the context menu and assign the new name in a dialog box (modal)

Anyway. However you do it. Obsidian automatically synchronizes all five (!) places where the file name occurs:

  1. as Inline Title (main heading)
  2. in the path in the note header
  3. as identifier for the tab
  4. as a tooltip when you move the mouse over the tab title
  5. and as an item in the list of the file explorer

Don’t believe it?

Well, count yourself, in the screenshots above.

Watch out for “What is new in v1.0“.

Too much?

Yes, of course!

But the next updates are guaranteed to come anyway …

My header template with creation date and modification date

When I started getting acquainted with Obsidian sometime in August, one of my first concerns was how to give every note automatically

  • a creation date and
  • a modification date

to each note. That quickly led me to the Templater and Dataview plugins. But no matter how I went about it, the modification date wouldn’t work!

obsidian 1.0.0 10 created after last modified
The Last_Modified_Date issue: first modified THEN created … WHAT?!

The error was – of course – with me.

If I hadn’t used a cell phone, changed something there with Obsidian and only synchronized via Dropbox a day later: no one would have noticed anything 🙂 .

My mistake was to use Dataview to show the creation date and the modification date of a note file.

Dataview is a super plugin for dynamically evaluating your notes, with all its bells and whistles. But it doesn’t save any of it!

That means, every time you call a note, Dataview executes all the queries and shows the results nicely, as a list or whatever you specified.

You may also ask Dataview for file.ctime and file.mtime

But Dataview never knows more than your operating system. So it is so easy to “trick”, e.g. by synchronization with your cloud:

  • THERE is e.g. a file from yesterday
  • But it has never been seen HERE
  • So we SYNC it from THERE to HERE
  • Ah! New file! says Windows, all right!
  • Creation date must be NOW, what else?
  • Modification date obviously the SAME
  • Done!

Of course, this will never work. And it’s not Dataview‘s fault at all.

Better use Templater!

Templater also asks the operating system: what is new, what has been changed?

But: Templater stores the queried values in your note (at least concerning the creation date, we’ll come to the modification date in a moment, wait! 🙂 )

obsidian 1.0.0 11 header template
My custom header template including creation date as frontmatter, modification date right after the frontmatter section, and the plus sign for dynamic updates

So I sat down again and reworked my “Default Template“, which Templater applies automatically every time I create a new note, e.g. with the keyboard shortcut Ctrl N

Actually, the frontmatter section would be perfect to put the creation date and the modification date there

  • in the preamble to the actual content
  • between the triple hyphens
  • at the very beginning of the file

No problem whatsoever with the creation date. The templater command is

<% tp.file.creation_date("MM/DD/YYYY HHmm") %>

Kind of translated:

  • write today’s date
  • in the format day.month.year hoursMinutes
  • e.g. 12/22/2022 1310
  • and save it here in my note

We leave out the usual colon between hours and minutes, because YAML doesn’t like it and CSS can’t handle it (more about this at the end).

Now there is only one thing left: the modification date.

Unfortunately this does not work with Templater in the frontmatter section, because

  1. The standard Templater command prints this date only once, when the file is created and the template is applied as the initial file content.
  2. Adding a plus sign, Templater promises continuous updates. Unfortunately, you’ll never see its results, because in Obsidian’s Edit and Preview Modes, only the commands are shown.
  3. Then in Obsidian’s Reading mode, no frontmatter block is shown at all (unless you change the default setting)

So we have to write this command outside the frontmatter section:

<%+ tp.file.last_modified_date("MM/DD/YYYY HHmm") %>

IMPORTANT: the tiny plus sign after the opening <%

Now, outside the frontmatter section, Templater actually fulfills the promise. This date will be updated continously AND you will see the result, at least in Preview and Reading modes.

My note template with date and time in the filename

Templater can also do nested templates. Of course I had to try this out, for my default template. In the first line, the header template (see above) is integrated by a single command.

But attention. There are 2 screenshots, intentionally!

obsidian 1.0.0 12 note template edit
My custom note template, including the header, auto-renaming new notes to the current date and time (Source Edit Mode)

One from the source view and one from the live preview.

In Source Edit mode everything is clear. I see right away

[[HEADER Template]]

is an internal link in double square brackets.

The double quotes just format the result as a full string.

obsidian 1.0.0 13 note template preview
Same custom note template in Live Preview Mode

In Preview mode, however, it’s quite a bit confusing. You have to watch out for the colors!

In the second line of the header template, two Templater commands are nested.

  • tp.date.now("YYYYMMDDHHmmssSSS") is again the current date. This time formatted without any separators, from year to microsecond, to really capture that one, unique moment
  • tp.file.rename(…) takes the result of tp.date.now(…) and makes it the new filename. Renames what would otherwise be called “Untitled”

So, what’s the point of all this?

Well, sometimes new notes just fly around and you might not be able to come up with a convincing filename (title) each time. Then these notes live in your “NEW” folder (according to your preferences and settings).

So, by default, you will end up with a list of filenames like

  • Untitled
  • Untitled 1
  • Untitled 2

Using my method above, you will see a list of creation dates, hours, and minutes.

No separators, as mentioned. Select, delete, overwrite with a single click.

The screenshot above shows finally what Obsidian currently does with Templater out of Ctrl N: a new note!

obsidian 1.0.0 14 new note edit
New note by ctrl N – custom templates applied, auto-renamed (Edit Mode)

First in edit mode

  • the frontmatter block is displayed
  • the Templater command is displayed as such
  • and: our HEADER template works 🙂
obsidian 1.0.0 15 new note preview
New Note from Edit to Preview Mode by ctrl E

If we now fearlessly continue with Ctrl E – switching to preview mode (Live Preview):

  • the modification date works
  • and it is even visible
  • in reading mode of course the same

But: why no colon between hours and minutes, just for the absolute perfection?

Because I want to display both, the creation date and the modification date perfectly consistent. Unfortunately in the frontmatter block the colon has a special meaning. It is the separator between field name and field value. That’s what the YAML format requires, e.g.

---
Something: "A string value"
SomethingDifferent: 42
---

Templater prints dates as strings, just as “A string value” above. Unfortunately, as soon as “A string value” contains a colon, e.g. “A string: value”, everything after the colon is displayed in purple (or whatever your theme / CSS snippet …).

Disturbing?!

… anyway: until the next update 🙂

Links

Obsidian 1.0 – the all new Obsidian

Obsidian Theme “Minimal” Documentation

is the author and publisher of generateCLICKS, based in Hannover, Germany. When he's not busy with his web agency, other websites and YouTube, he can be found with his wife, on the road in their Multivan, or he is looking for a coffee and a pretzel.