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
- Style Settings (for Minimal and other themes)
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
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).
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.
Somewhat more restrained than Blue Topaz, but still "stronger" in feel: the Theme Things.
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
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
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:
- as Inline Title (main heading)
- in the path in the note header
- as identifier for the tab
- as a tooltip when you move the mouse over the tab title
- 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".
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!
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
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
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! 🙂 )
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
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
- The standard Templater command prints this date only once, when the file is created and the template is applied as the initial file content.
- 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.
- 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!
One from the source view and one from the live preview.
In Source Edit mode everything is clear. I see right away
is an internal link in double square brackets.
The double quotes just format the result as a full string.
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 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!
First in edit mode
- the frontmatter block is displayed
- the Templater command is displayed as such
- and: our HEADER template works 🙂
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"
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 …).
… anyway: until the next update 🙂