Bullet Journaling
Bullet journalling is a way of quickly getting your thoughts down for the day. In many ways, its more akin to a GTD and task management than traditional journalism.
Kevin's Workflow

Features Used
Create Daily Journal Notes Command
The daily journal helps you keep a journal for each day of the year. By default, it will create the journal under daily.{date}
though this is configurable by setting the dendron.dailyJournalDomain
.
You can create a daily journal using > Dendron: Create Daily Journal Note
or Cmd+Shift+I
shortcut.
Sibling Navigation Command
- shortcuts:
- key:
ctrl+shift+]
- when:
editorFocus
- key:
Go to the next sibling
Schema Templates
a template you can apply to all notes that match this schema. See Schema Templates for more details.
template:
# identifier for the template (for a note based template, it would be the name of the note)
id: journal.template.daily
# what sort of template we are creating. currently, only 'note' is supported
type: note
VSCode Commands
Move Editor Command
You can move vscode tabs using the following builtin commands:
View: Move Editor Into Next Group
View: Move Editor Into Previous Group
They are mapped on to the following keyboard shortcuts:
- mac:
cmd+ctrl+left|right
This is helpful for looking at your notes side by side.

Pinning Tabs
You can pin tabs in VSCode by right clicking on a tab and selecting Pin Tab
.
The latest VSCode lets you control pin behavior for tabs. It's not currently documented as of 2020.09.28 but as of the latest insider build, it has a few different options to control the pinned behavior.
- options:
- normal (default), normal tab size with a pin icon
- shrink: reduced tab size with some text visible
- compact: only icon visible
"workbench.editor.pinnedTabSizing": "shrink"
Zen Mode
VSCode can be visually noisy. You can hide most of the UI by toggling Zen Mode
with a three panel layout.
The following setting overrides are useful:
// by default, zen mode will open a new "workspace" which I don't like
"zenMode.fullScreen": false,
// I'm a vim user so I like my line numbers
"zenMode.hideLineNumbers": false,
To navigate tabs and look at the breadcrumb outline, You can use the following commands
workbench.action.showAllEditors -> (no shortcut by default, consider mapping to ctrl + t)
breadcrumbs.focusAndSelect -> cmd + t
You can see a video of this workflow in the video below.

Always show preview of md being edited
Set the following option in your workspace settings
"markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": true,
Snippets
Have links auto-complete without additional key presses
- Update your settings to the following
// The following settings will only apply to markdown files:
"[markdown]": {
// quickSuggestions true will provide suggestions as you type.
// If you turn this on and DO NOT want suggestions
// for non-wiki-link, non-tag words,
"editor.quickSuggestions": true,
// This is poorly documented, but seems to offer suggestions
// from any word in open document when turned on, which
// can be a little distracting in markdown docs:
"editor.wordBasedSuggestions": false,
"editor.tabSize": 2,
// Set this to false if you turn on quickSuggestions
// but don't want suggestions for markdown related snippets
// as you type:
"editor.suggest.showSnippets": false,
},
Markdown
Always have the preview open
You can add the following setting to your workspace to always have a markdown editor show up with your content.
"markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": true,
Symbol search
When using the standard file-search in vscode (ctrl-P
), you can search for all titles in your workspace if you use the starting keyword #
Example: if i know i had a header with the title "cheatsheet", i can type in # cheatsheet
Auto bullet list
VSCode doesn't support auto-formatting by default. You can use the following workaround to mimic the behavior.
- Add list-item below current position. Using
-
{
"key": "shift+enter",
"command": "type",
"args": {
"text": "\r\n- "
},
"when": "editorTextFocus && !editorReadOnly && editorLangId == 'markdown'"
}
- Add list-item below current position. Using
*
{
"key": "shift+enter",
"command": "type",
"args": {
"text": "\r\n* "
},
"when": "editorTextFocus && !editorReadOnly && editorLangId == 'markdown'"
}
Credit for this recipe goes to @Stigs#0135
Academic Notes with Templates
With Dendron's schema templates you can make templates that are applied automatically whenever you create reading notes. You can even make different templates for different types of sources. For instance, you can have one template for articles and another for books.
- Add an
article.schema.yml
schema file that applies anarticle.template.notes.md
template file - Add a
book.schema.yml
schema file that applies abook.template.notes.md
template file - Add other schema and template files with relevant patterns for conference presentations, TED talks, edited collections, etc.
You can adopt or adapt these schema template files for books and articles.
Once you've made similar schema and template files, when you make a new file using the lookup bar, the template will be applied to your new note in the corresponding schema's domain. A new note with a name like article.hall-stuart-encoding-decoding.notes
will apply the article template, and a new note with a name like book.hooks-bell-feminism-is-for-everybody.notes
will apply the book template.
Other Tools
This is a list of other tools that work well with Dendron.
- nvAlt: local markdown editor that works well with Dendron notes (mac only)
Other VSCode Extensions
Git
- Git Automator: one command to commit and push all changes
- Git Doc: auto-commit and (optionally) auto push your notes at fixed intervals
- Gitlens: Repository/File/Line history and annotations of all your files
- Path AutoComplete: Path autocomplete for VSCode
Other
- Macros: Define custom macros
- Vim: VIM key bindings 😍
- Bookmarks: Bookmark lines within File Vertical Limit: Work with multiple cursors and blocks of text
- CodeUI: Easier customization of every part of the VSCode UI
Other Browser Extensions
Web Clipper
- Markdown Web: markdown based web clipper
- Roam Highlighter
Kevin's Workflow Part 2
By popular demand, here's an expanded take on how Kevin uses journals in Dendron