Control how new collection entries are named.

filename only applies to collections.

Use it to control how new files are named.

Value

You can either use a string:

filename: "{primary}.md"

Or use the object form when you also want a filename field in the editor:

filename:
  template: "{year}-{month}-{day}-{primary}.md"
  field: create

filename.field can be:

  • false: Hide the filename input.
  • create: Show it only when creating a new entry.
  • true: Show it when creating and editing.

Tokens

Token Description
{primary} Primary field from view.primary, or title, or the first field.
{slug} Alias for {primary}.
{year} Current year.
{month} Current month, zero-padded.
{day} Current day, zero-padded.
{hour} Current hour, zero-padded.
{minute} Current minute, zero-padded.
{second} Current second, zero-padded.
{fields.<name>} Field value from the current entry, slugified.
{<name>} Shorthand for {fields.<name>}.

Examples

Date-based post filenames

filename: "{year}-{month}-{day}-{title}.md"

Editable filename on create

filename:
  template: "{primary}.md"
  field: create