Skip to content

Template Variables Reference

TaskNotes supports template variables for dynamic content generation in body templates, folder paths, and filenames. Variables use the {{variableName}} syntax and are replaced with actual values when content is created.

Overview

Template variables are available in three contexts:

  • Body templates - Content templates for task and note files
  • Folder templates - Dynamic folder paths for file organization
  • Filename templates - Dynamic filename generation

Not all variables are available in every context. The tables below indicate where each variable can be used.

Task Properties

Variables for task-specific data.

Variable Description Body Folder Example
{{title}} Task title Yes Yes My Task
{{titleLower}} Title in lowercase Yes Yes my task
{{titleUpper}} Title in uppercase Yes Yes MY TASK
{{titleSnake}} Title in snake_case Yes Yes my_task
{{titleKebab}} Title in kebab-case Yes Yes my-task
{{titleCamel}} Title in camelCase Yes Yes myTask
{{titlePascal}} Title in PascalCase Yes Yes MyTask
{{priority}} Task priority value Yes Yes high
{{priorityShort}} First character of priority (uppercase) Yes Yes H
{{status}} Task status value Yes Yes active
{{statusShort}} First character of status (uppercase) Yes Yes A
{{context}} First context from contexts array No Yes work
{{contexts}} All contexts (comma-separated in body, / in folder) Yes Yes work, home or work/home
{{project}} First project from projects array No Yes ProjectA
{{projects}} All projects joined by / No Yes ProjectA/ProjectB
{{dueDate}} Task due date Yes Yes 2025-01-15
{{scheduledDate}} Task scheduled date Yes Yes 2025-01-10

Body Template Only

Variables available only in body templates (not folder templates).

Variable Description Example
{{details}} User-provided details/description Task description text
{{parentNote}} Parent note name/path where task was created Projects/MyNote
{{tags}} Task tags (comma-separated) urgent, review
{{hashtags}} Task tags as space-separated hashtags #urgent #review
{{timeEstimate}} Time estimate in minutes 30

Date and Time

Variables for current date and time values.

Variable Description Format Example
{{date}} Full current date YYYY-MM-DD 2025-01-07
{{year}} Current year YYYY 2025
{{shortYear}} Short year YY 25
{{month}} Current month MM 01
{{day}} Current day DD 07
{{monthName}} Full month name - January
{{monthNameShort}} Abbreviated month name - Jan
{{dayName}} Full day name - Tuesday
{{dayNameShort}} Abbreviated day name - Tue
{{week}} Week number of year WW 02
{{quarter}} Quarter of year Q 1
{{shortDate}} Compact date YYMMDD 250107

Time Variables

Variable Description Format Example
{{time}} Current time (compact) HHmmss 143052
{{time24}} 24-hour time HH:mm 14:30
{{time12}} 12-hour time with AM/PM hh:mm a 02:30 PM
{{hour}} Current hour (24-hour) HH 14
{{hourPadded}} Hour with leading zero HH 14
{{hour12}} Hour in 12-hour format hh 02
{{minute}} Current minute mm 30
{{second}} Current second ss 52
{{ampm}} AM/PM indicator a PM

Timestamps

Variable Description Format Example
{{timestamp}} Date and time combined YYYY-MM-DD-HHmmss 2025-01-07-143052
{{dateTime}} Date and time (no seconds) YYYY-MM-DD-HHmm 2025-01-07-1430
{{unix}} Unix timestamp (seconds) - 1736264852
{{unixMs}} Unix timestamp (milliseconds) - 1736264852000
{{milliseconds}} Current milliseconds SSS 123
{{ms}} Milliseconds (alias) SSS 123

Timezone

Variable Description Example
{{timezone}} Timezone offset +01:00
{{timezoneShort}} Short timezone offset +0100
{{utcOffset}} UTC offset +01:00
{{utcOffsetShort}} Short UTC offset +0100
{{utcZ}} UTC Z indicator Z

Unique Identifiers

Variable Description Example
{{zettel}} Zettelkasten-style ID (date + seconds since midnight in base36) 250107abc
{{nano}} Unique nano ID (timestamp + random string) 1736264852000x7k2m

ICS Calendar Event Variables

Variables for content created from ICS calendar events. Available when creating notes or tasks from calendar events.

Event Information

Variable Description Body Folder
{{icsEventTitle}} Event title Yes Yes
{{icsEventTitleLower}} Event title lowercase No Yes
{{icsEventTitleUpper}} Event title uppercase No Yes
{{icsEventTitleSnake}} Event title in snake_case No Yes
{{icsEventTitleKebab}} Event title in kebab-case No Yes
{{icsEventTitleCamel}} Event title in camelCase No Yes
{{icsEventTitlePascal}} Event title in PascalCase No Yes
{{icsEventStart}} Event start time (ISO format) Yes No
{{icsEventEnd}} Event end time (ISO format) Yes No
{{icsEventLocation}} Event location Yes Yes
{{icsEventDescription}} Event description Yes Yes
{{icsEventUrl}} Event URL Yes No
{{icsEventSubscription}} Calendar subscription name Yes No
{{icsEventId}} Unique event identifier (UUID) Yes No

Inline Task Conversion Variables

Variables available when converting inline tasks to task files.

Variable Description Example
{{currentNotePath}} Path to the current note's folder Projects/Notes
{{currentNoteTitle}} Title/name of the current note Meeting Notes

Examples

Body Template

---
created: {{date}}
priority: {{priority}}
status: {{status}}
---

# {{title}}

{{details}}

Created from: {{parentNote}}
Tags: {{hashtags}}

Folder Template

Organize tasks by project and status:

Tasks/{{project}}/{{status}}

Result: Tasks/MyProject/active

Organize by date hierarchy:

Daily/{{year}}/{{month}}/{{day}}

Result: Daily/2025/01/07

Organize ICS events by year and title:

Events/{{year}}/{{icsEventTitleKebab}}

Result: Events/2025/team-meeting

Filename Template

Using Zettelkasten ID:

{{zettel}}-{{titleKebab}}

Result: 250107abc-my-task.md

Using timestamp:

{{shortDate}}-{{title}}

Result: 250107-My Task.md

Notes

YAML Safety

When used in YAML frontmatter, values containing special characters (colons, brackets, quotes) are automatically quoted to prevent parsing errors.

Folder Path Sanitization

In folder templates, title values have filesystem-unsafe characters (<>:"/\|?*) replaced with underscores to ensure valid paths.

Empty Values

If a variable references data that isn't available (e.g., {{project}} when no project is set), it resolves to an empty string.

Case Transformations

The case transformation variables work as follows:

Transform Input Output
titleLower My Task Name my task name
titleUpper My Task Name MY TASK NAME
titleSnake My Task Name my_task_name
titleKebab My Task Name my-task-name
titleCamel My Task Name myTaskName
titlePascal My Task Name MyTaskName