Here is the setup I’ve been using in Obsidian since late March 2022. The default plugins and configuration would provide most of the functionality I want. However, I tweaked a few things to add more value than my Bullet Journal could provide.

Plugins

I use quite a few plugins and have most of them configured uniquely. There are a few negatives to this approach:

  • load time for obsidian is slow1
  • keeping track of plugins is a bit of a pain
  • must manually synchronize/manage installed plugins2

That said, I’m happy with the current configuration.

Admonition

GitHub release (latest by date)

I’ve added a few custom admonition types.

These get used for daily/weekly/monthly notes when organizing my to-do lists. They also are a way to wrap information in correspondence tracking so that I can highlight important details. While not absolutely necessary, they are helpful and make the journaling look better organized.

Advanced Tables

GitHub release (latest SemVer)

I use advanced tables so that I can be lazier when writing up information in journals. It auto-sizes the header to match the width of cell content. I used to do this manually by copy-pasta with Prettier, but now I keep that all in the journal entry.

Calendar

GitHub release (latest SemVer)

I use this plugin extensively, multiple times a day. Not only does it give an easy way to move through daily logging, but it also makes it easier to create periodic entries for weeks and months. While keyboard shortcuts can get me similar behavior, some days, I just want to use the mouse.

The only change that I made to the settings for this plugin was to show week numbers in a separate column. I use weekly notes to track my finished tasks for use in status meetings and other times when I want to skim through past accomplishments.

Dataview

GitHub release (latest SemVer)

Rarely used by itself, this is necessary for templates, heatmaps, and task lists. I enabled javascript queries to allow some other plugin functionality, but did not otherwise make any changes.

Dynamic Table of Contents

GitHub release (latest SemVer)

I have a few ToCs scattered throughout my journal. I generate most index lists in Dataview, so this is more of a nice-to-have. It is much more helpful when using Obsidian to draft other documents. I can keep the ToC updated automatically, then export that markdown file into another application without fiddling with some other editor’s ToC generation options.

Footnote Shortcut

GitHub release (latest SemVer)

An easy way to create/edit/return from footnotes. I set my hotkey (done manually) to be CMD + SHIFT + 6. It’s the same shortcut as noted in the plugin documentation. Their reasoning made sense to me, and I didn’t want to think about it much more.

Heatmap Calendar

GitHub release (latest SemVer)

The only heatmaps in my journal are two yearly trackers on my year pages. They aren’t really important or even that useful, but they look nice, so I keep this plugin around. If it gets updated to show monthly heatmaps, I have a few more items I’d like to track at that granularity.

There’s no configuration for this plugin, but I did change the date format for it to work since my daily entries do not follow the YYYY-MM-DD format.

Icon Folder

GitHub release (latest SemVer)

It gives me visual reminders of folder contents and nothing else. Not really needed, but pretty, so it stays around.

Icon Shortcodes

GitHub release (latest SemVer)

Most headers in my daily notes have an icon for recognition and visual appeal. Not required, but if I remove it now, I’d need to remove all the references from previous entries.

Linter

GitHub release (latest SemVer)

I configured this plugin more than most others. I have it set to lint when I save (CTRL + S) a file. I also configured it to ignore my template folder as the linter should not modify those files while template fields are present. I don’t remember which settings I’ve tweaked for linting. I sync this setting in github, so my style remains consistent across instances.

Natural Language Dates

GitHub release (latest SemVer)

Rarely used, this plugin is most likely to get removed from my set-up at some point. I keep it around at the moment so that I don’t have to think when I want to link to @tomorrow or @yesterday.

I updated the date format to match my periodic note format and configured it to add the dates as a link.

Note Refactor

GitHub release (latest SemVer)

Helpful when I feel inclined to move a bunch of notes around and need to split out content.3 Less valuable in day-to-day operations. Another candidate for pruning soon.

Obsidian Git

GitHub release (latest SemVer)

Configuring this was easy enough, but setting up git was more of a hassle. I usually do my development in Linux, so for Windows machines, I had to set up git with proper credentials to enable access to the private repo where I store my journal. Beyond that effort, I have the hostname set separately for each instance’s commit message to track where information was created.

I recommend setting it up to backup after X minutes from the last file change. The inherent delay has bitten me a few times when switching between machines where files don’t quite get synced, and I need to resolve conflicts manually.

Periodic Notes

GitHub release (latest SemVer)

Daily notes are the backbone of my journaling experience. Matching the format of my physical bullet journal, I have tweaked many settings here and used templates to maintain consistency. The change that most affects other plugins is my date format, YYYY.MM.DD - ddd.

Smart Typography

GitHub release (latest SemVer)

Keeping my style consistent is crucial, and linting doesn’t cover all aspects of text encoding. This auto-converts punctuation and symbols to a standard type and cleans up my entries overall. Unfortunately, this does not apply retroactively to pre-existing text.

Style Settings

GitHub release (latest SemVer)

Highly recommended when using the Blue Topaz theme. I changed the default font and dataview list icons (Pacman was cute, but not what I wanted to see).

Tasks

GitHub release (latest SemVer)

This is used on every daily/weekly/monthly file and many others in my collections. I use a global task filter of #task to give the option of non-task checkboxes when I need to create an untracked checklist.

Templater

GitHub release (latest SemVer)

Most templates that I use are for periodic notes. However, there are also some templates for correspondence tracking and one-on-one meetings. I toyed with the idea of using Obsidian to create blog entries, but directly using Hugo’s archetypes ended up being a better solution.


Core Settings

There are a few settings that I’ve changed scattered throughout the core plugins and main application. Of note, page preview is invaluable to peek at contents for reference without the need to switch between files while writing.

I also show backlinks by default to ease movement throughout the journal.

Since I am using periodic notes, I have the Daily notes core plugin disabled. I also have Workspaces disabled. I found that it did not play well with backups due to plugin version mismatches.

Hotkeys

I have changed the default/unset hotkeys for the following:

  • CTRL + SHIFT + A Advanced Tables: Open table controls toolbar
  • CTRL + SHIFT + B Backlinks: Toggle backlinks in document
  • CTRL + ALT + N Create note in new pane
  • CTRL + SHIFT + 6 Footnote Shortcut: Insert and Navigate Footnote
  • CTRL + <space> Periodic Notes: Open daily note
  • CTRL + M Periodic Notes: Open monthly note
  • <blank> Periodic Notes: Open weekly note
  • CTRL + Y Periodic Notes: Open yearly note
  • CTRL + T Tasks: Create or edit task
  • CTRL + ENTER Tasks: Toggle task done
  • CTRL + SHIFT + D Templates: Insert current date
  • <blank> Toggle checkbox status

Theme

GitHub release (latest SemVer)

I tried out a few different options in the beginning. Blue Topaz won out as it gives a nice minimal feel without being too austere. Furthermore, it plays well with my plugins and has cohesiveness for all the journal parts.


  1. It can take up to a minute to load the application ↩︎

  2. I have to remember to check for updates when switching between computers (e.g., work, personal desktop, personal laptop). Usually, when I update one, I add a task to touch the others. ↩︎

  3. This doesn’t happen much after I got everything set up in the first week or two. ↩︎