Note Type

approved

by koishiiko

This plugin has not been manually reviewed by Obsidian staff. Assign type to your notes and quickly switch between them.

2 stars82 downloadsUpdated 10d agoMIT

Obsidian Note Type

sample

Features

  • Adds a Note Type dropdown in the Properties editor to change the current note's type.
  • Switching a note type populates properties and content from a template (supports built-in syntax and Templater).
  • Default note type: automatically apply a note type to new files.

This plugin is heavily inspired by the latest update of Octarine (v0.42). Essentially, it just changes the Templater/QuickAdd template-filling workflow (Run command -> Choose template) into a dropdown-based switcher, but in my personal opinion, it greatly improves the user experience. Huge thanks to Octarine for the idea!

Getting Started

  1. Install the plugin.
  2. Add your Note Types (see configuration details below).
  3. Open any note — use the dropdown at the top of the Properties editor to switch note types.

How It Works

The plugin does not introduce new note syntax, just binds a configurable property key (default: noteType) to represent the note type. A dropdown is displayed in the Properties editor listing all predefined note types. When a type is selected, the corresponding template is formatted and applied, both properties (frontmatter) and body content are populated.

Configuration

Base Settings

SettingDescription
Property keyThe frontmatter property key used to identify the note type (default: noteType).
Hide note type propertyWhen enabled, the raw property input is hidden — only the styled dropdown is shown.

Note Types

Define your note types here. Each note type has the following options:

FieldDescription
KeyUnique identifier written to the configured property key.
NameDisplay name shown in the dropdown.
IconIcon from Lucide displayed alongside the name.
ColorColor applied to the icon and name in the dropdown.
TemplatePath to the template file used when this note type is selected.
FormatterThe engine used to process the template (see below).

Formatters

Default (Built-in)

Uses {{ variable }} or {{ date:format }} syntax with variable. The following variables are available:

  • now / date: Alias for moment().format(). see: https://momentjs.com/docs
    {{ now }} // default: YYYY-MM-DD hh:mm:ss
    {{ now:YYYY-MM-DD }}
    
  • ctime / mtime: create time / modify time of current note
    {{ ctime }} // default: YYYY-MM-DD hh:mm:ss
    {{ mtime:YYYY-MM-DD }}
    
  • name / ext / fullname: name of current note.
    {{ fullname }} // foo.md
    {{ name }} // name
    {{ ext }} // md
    
Templater

More complex templates can be implemented using the Templater plugin, see: Templater document

Overwrite Behavior

When a note already has content, you can control how templates are applied. If Show conflict modal is enabled, you will be prompted to choose the behavior each time a conflict occurs. Otherwise, the default settings are used.

Property Behavior

OptionDescription
ReplaceReplace all properties with the template's properties.
KeepKeep existing properties, skip conflicting ones from the template.
OverwriteKeep existing properties, but overwrite those that conflict with the template.

Content Behavior

OptionDescription
ReplaceReplace with the template's content.
KeepPreserve the existing note content (do not replace).

Default Note Type

SettingDescription
Enable default note typeWhen a file without a note type is opened, automatically assign the default note type and apply its template.
Default note typeThe note type to use as the default.
Empty note onlyOnly apply the note type to empty files.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.