# Variables

Variables are placeholders that Curio dynamically replaces with information about the current project, Organizer item, idea space, figure, asset, date, or time. For example, `{%IdeaSpaceTitle}` displays the title of the current idea space.

You can use variables in text figures in any of these ways:

- Type the variable directly into a text figure.
- Choose **Insert > Variable**, then choose a variable from the submenu.
- Click the **Variable** toolbar button, then choose a variable.

When you use the Insert menu or toolbar button while editing a text figure, Curio inserts the variable at the insertion point. Otherwise, Curio creates a new text figure containing the variable.

!!! note
	Curio Professional customers can also create [custom project variables](../projects/#custom-variables).

## Formatting Variables

### Date and Time Styles

You can append one of the following styles to date and time variables:

- Short
- Medium
- Long
- Full
- ISO8601
- RFC3339

The first four correspond to the Short, Medium, Long, and Full styles in System Settings > Language & Region > Advanced.

[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) is a standard date and time format that includes time zone information, such as `2021-12-25T15:00:00-0500`, indicating the five-hour EST offset from GMT.

[RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) is similar to ISO 8601 but uses GMT/Zulu time, such as `2021-12-25T20:00:00Z`. In this example, five hours are added to the EST time to convert it to GMT/Zulu.

Some examples:

- `{%IdeaSpaceDateAddedShort}` → 1/25/22
- `{%IdeaSpaceDateAddedMedium}` → Jan 25, 2022
- `{%IdeaSpaceDateAddedLong}` → January 25, 2022
- `{%IdeaSpaceDateAddedFull}` → Tuesday, January 25, 2022
- `{%IdeaSpaceDateAddedISO8601}` → 2022-01-25

#### Dates With Time

Date variables can include `WithTime` before the style to include the time in the resulting output.

For example, instead of using separate `{%ProjectDateCreatedMedium}` and `{%ProjectTimeCreatedMedium}` variables, you can use `{%ProjectDateCreatedWithTimeMedium}`.

Some examples:

- `{%IdeaSpaceDateAddedWithTimeLong}` → January 25, 2022 at 2:45:24 PM
- `{%FigureStartDateWithTimeISO8601}` → 2021-12-25T20:12:45-05:00

#### Custom Date Formats

Curio has basic support for custom date formatting using a `Format:` style followed by a [Unicode date pattern](http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns).

For example:

- `{%ProjectDateCreatedFormat:yyyy-MM-dd'T'HH:mm:ssZ}` → 2021-11-16T18:51:41-0500

### Casing

You can append one of the following casing modifiers to a variable, preceded by a `/` symbol:

- uppercase
- lowercase
- capitalize

For example, `{%IdeaSpaceTitle/uppercase}` might result in `MY ITINERARY`.

## Variable Reference

### Project Variables

- `{%ProjectTitle}`
- `{%ProjectURL}` - a `curio://` link to the project
- `{%ProjectFilePath}`
- `{%ProjectDateCreated}`
- `{%ProjectTimeCreated}`
- `{%ProjectDateSaved}`
- `{%ProjectTimeSaved}`

### Section Variables

- `{%SectionTitle}` - the immediate section that owns this item
- `{%RootSectionTitle}` - the root, top-most section that owns this item

### Folder Variables

- `{%FolderTitle}` - the immediate folder that owns this item
- `{%RootFolderTitle}` - the root, top-most folder that owns this item

### Organizer Hierarchy Variables

- `{%ContainerTitle}` - the title of the parent Organizer item containing the current idea space. This can be a parent idea space, a containing folder, or the current section. If the current section is the default section and no other sections exist, the project title is used.

### Idea Space Variables

- `{%IdeaSpaceTitle}`
- `{%IdeaSpaceURL}` - a `curio://` link to the idea space
- `{%IdeaSpaceDateAdded}`
- `{%IdeaSpaceTimeAdded}`
- `{%IdeaSpaceDateModified}`
- `{%IdeaSpaceTimeModified}`
- `{%JournalSubtitle}` - inserts a Journal entry's custom subtitle

### Figure Variables

- `{%FigureURL}`
- `{%FigureDateAdded}`
- `{%FigureTimeAdded}`
- `{%FigureDateModified}`
- `{%FigureTimeModified}`
- `{%FigureStartDate}`
- `{%FigureDueDate}`
- `{%FigureDoneDate}`
- `{%FigureTagName}` - replaced with the name of the tag associated with a figure, such as a Stack figure title that changes dynamically based on its associated tag
- `{%FigureTagNames}` - replaced with a comma-separated list of all associated tags ([remove tag set prefixes](curio://defaults-write?Variable Tag Names TagSet Prefix Options=0), [remove spaces](curio://defaults-write?Variable Tag Names Spaces Removed=yes))
- `{%FigurePercentComplete}`
- `{%FigureCustomData}` or `{%FigureCustomData:KeyName}` - see [Custom Data Variables](../figure-inspectors/#custom-data-variables) for details
- `{%FigureCustomDataDelimited}`

### Container Figure Variables

- `{%ContainerFigureItemCount}` - replaced with the number of items in the collection figure
- `{%ContainerFigureDateModified}`
- `{%ContainerFigureTimeModified}`

### Asset Variables

- `{%AssetDateCreated}`
- `{%AssetTimeCreated}`
- `{%AssetDateModified}`
- `{%AssetTimeModified}`

### Other Variables

- Use the [Info inspector](../organizer/#identifier) to give a figure the identifier `{%IdeaSpaceTitle}`. The figure's content and the idea space's title in the Organizer will then stay in sync regardless of which one you change.
- Use the [Info inspector](../organizer/#identifier) to give a figure the identifier `{%IdeaSpaceTagNames}`. The figure's content and the idea space's associated tags will then stay in sync regardless of which one you change.
