Building blocks control the file name format and structure for topics and maps.
The fm2dita.ini file includes two settings that require the use of file name building blocks. Most of the building blocks are the same as those provided in DITA-FMx (all except the “$FMX_” types), in addition to a four more “$FM_” types. A building block is a string of text enclosed in angle brackets and are used in the TopicNameTpl and MapNameTpl INI parameters.
The $TITLE* building blocks provide various options for using the text of the topic title. In all cases the text returned is processed by stripping the “stop words” as defined in the StopWords parameter.
You can include a modifier value after the building block name in square brackets. This value must be a number (from 0 to 99), and if provided, limits the length of the resulting string to that value (the first N characters). If you want to extract a substring from a building block, include the start and end positions in square brackets. For example, the following building block will extract the first two characters from the topic type:
<$TOPIC_TYPE[2]>
Or, to extract the second through fifth characters, use the following syntax:
<$TOPIC_TYPE[2-5]>
Valid building blocks are listed below (some of these make more sense to use in a file name than others):
<$FM_CHAPNUM> - chapter number (or letter) defined in the FM file
<$FM_CHAPNUM_LC> - lowercase chapter number (or letter) defined in the FM file
<$FM_FILENAME> - file name (without path or extension) of the FM file
<$FM_FILENAME_LC> - lowercase file name (without path or extension) of the FM file
<$FM_USER> - from maker.ini RegInfo/User
<$FM_COMPANY> - from maker.ini RegInfo/Company
<$OS_USERNAME> - %username% environment variable
<$OS_COMPUTERNAME> - %computername% environment variable
<$T_YYYY> - 4 digit year
<$T_YY> - 2 digit year
<$T_MM> - 2 digit month (zero padded)
<$T_MON> - 3 character month
<$T_MONTH> - full month name
<$T_DD> - 2 digit date (zero padded)
<$T_HOUR> - 2 digit hour (zero padded)
<$T_MIN> - 2 digit minute (zero padded)
<$T_SEC> - 2 digit second (zero padded)
<$TITLE> - the actual text of the title (with “stop words” removed)
<$TITLE_LC> - the text of the title lowercased
<$TITLE_NOSPACE> - the text of the title with spaces removed
<$TITLE_NOSPACELC> - the text of the title, lowercased with spaces removed
<$TITLE_NOSPACECAMEL> - the text of the title, with spaces removed, using “camel” casing
<$TITLE_NOSPACECAMELLOW> - the text of the title, with spaces removed, using “camel” casing, and the first character lowercased
<$TITLE_SPACETOUNDER> - the text of the title with spaces replaced with underscores
<$TITLE_SPACETOUNDERLC> - the text of the title with spaces replaced with underscores and lowercased
<$UNIQUEID> - the unique ID as applied to the root topic element
<$TOPIC_TYPE> - the topic type’s element name