project_settings
Urtext projects can have any number of nodes with the title project_settings. The metadata in nodes with this title will be used to set the project behavior.
In project_settings, specifies whether consolidated metadata should on a single line nor multiple lines. Takes truthy or falsey values.
Default: No
Example:
In project_settings, specifies whether to rename files, if necessary, on each save. Takes truthy or falsey values.
Default: No
When popping nodes, optionally adds a breadcrumb showing which node the popped node was popped from, and the timestamp.
Default: popped_from
Example:
Specifies which keys’ values should be parsed case-sensitively.
Default: title – notes – timezone – timestamp_format – filenames – timestamp
Example:
(True or False) Sets whether Urtext will log updates, errors, messages to the Python console. (In Sublime Text, Press Control-tilde(~) to toggle the console)
Default: no
Example:
When including contents in dynamic nodes, determines whether internal multiline whitespace gets stripped from the dynamic output.
Default: True
Example:
When including contents in dynamic nodes, determines whether leading or trailing whitespace gets stripped from the dynamic output.
Default: yes
Example:
Sets filenames in the project folder(s) to be excluded from the project, if any.
Default: empty
Example:
When marking metadata using the * and ** syntax, these keys will get omitted, if present.
Default (read-only): title – _newest_timestamp – _oldest_timestamp – _inline_timestamp
Example:
In project_settings, specifies file extensions for Urtext to compile (in addition to .urtext). Only evaluated once (reload the project if you change it.) The dot is optional and added if not supplied.
Default: urtext
Example:
Specifies how dates will be formatted in filenames when the timestamp is included in the filename. Provided because some characters common in dates and times are not valid in filenames on certain platforms.
Accepts the Python strftime format, see https://strftime.org/
Default: %m-%d-%Y %I-%M %p
Example:
Sets a maximum title length (in characters) for filenames.
Default: 100
Example:
Sets the template for filenames. Accepts a list of metadata values referencing metadata keys. Any metadata key used in the project is valid, in addition to the PREFIX placeholder, which will apply a numerical prefix to the outputted filename.
default: title - _oldest_timestamp
example:
The keyname to use for the hash mark metadata shortcut. See Metadata -> Hash Key
Default: keyword
Example:
Identifies the home node id for the project, connected to the “Home” key (Ctrl-Shift-H).
Default: None
Example:
When browsing metadata, auto-selects a key so the first menu stage is skipped. Useful if you do not have many metadata keys or use only the hash key for metadata.
Default: None
Example:
When using the metadata browser dropdown, specifies how to sort the options. Accepts alpha or frequency
Default: alpha
Example:
When using the metadata browser, specifies how to sort the nodes displayed. Accepts any metadata keys in the project, including system keys.
Default: _oldest_timestamp
Example:
Specifies how to sort the values in the metadata browser. Either “alpha” or “frequency”.
Default: alpha
Example:
Specifies the default format for new file nodes. The following values can be strung together in any way:
- $timestamp
- $device_keyname
- $cursor
Any other Unicode characters are valid — arbitrary text, whitespace, newlines (\r), etc.
Default: $timestamp\n$cursor
Example:
Specifies a template for naming newly created file nodes. Accepts format strings and arbitrary text.
Default: $device_keyname $timestamp
Example:
Specifies the key order by which nodes will sort in the Node Browser dropdown
Default: _oldest_timestamp
Example:
index
would be, instance, a user-defined numerical key.Sets keys that should always be interpreted numerically for sorting and processing in dynamic output.
Default: _index - index - title_length - filename_title_length
Example:
Specifies entry points for other projects to compile. Only evaluated once (reload the project if you change it.)
Default: None
Example:
Specifies paths in addition to the entry point for initial compile. Value is a single node that contains nodes with the following keys:
-
- path – specifies the path to add. Accepts a relative or absolute file or folder path
- recursive – specifies whether to recurse subfolders
Only evaluated once — reload the project if you change it.
Default: None
Example:
{ Some Directive
path::|/ /directives/lint >
recursive::yes
} { Some Other included folder
path::|/ ../some other included folder >
recursive::yes
}
}
Provides a title for the entire project
Default is the project entry path
Example:
Set the format for timestamps globally. Accepts Python strftime
and arbitrary text. For format strings, see https://strftime.org/
Default: %a., %b. %d, %Y, %I:%M %p %Z
Specifices a timezone to which the timestamp keys should be localized, or, if including a timezone in the timestamp_format, what timezone to use.
Specifies keys for which the timestamp component should be used as the value instead of the text value itself.
Default: _inline_timestamp – _oldest_timestamp – _newest_timestamp