Purpose
One of the key features of BLOX Total CMS for Adobe InDesign and Adobe InCopy is the custom functions which are included. Without the custom functions BLOX Total CMS for Adobe InDesign and Adobe InCopy would be little more than a pattern recognition based find and change program.
It is the custom functions that can make an Adobe InDesign layout from the BLOX Total CMS asset.
Keep in mind, that the custom functions are not needed for everything. In fact most of the translation of BLOX Total CMS based asset is accomplished without using any of the custom functions.
Access
Custom functions can be strung together in Translate Script field of the Translate Ruleset.
Function Naming
All of the functions will be presented in this section of the documentation, but you should notice that each of the custom functions begins with the
or the following string of characters:
This makes the function calls similar to the tags used in many types of tag based formatted files such as XHTML, HTML, or XML. But the & helps make it easier to recognized a standard tag from a custom function.
Also, the text of the name of the function is always lowercase.
Function Parameters
Many of the custom functions have additional parameters. The parameters are placed between the
characters. Here is an example:
<&extend:(2,pointSize=14,leading=15)>
Three Types of Parameters:
Parameterless: In this case there will be nothing between :( and )> symbols and in some cases even the parenthesis will be missing as in the <&kill:> function is an example of such a empty parameterless function.
Single parameter: In this case there will be a single string listed between the :( and the )> symbols.
A <&cstyle:(strong)> call is an example of a single parameter function.
While the function names are always lowercase, parameters do not have to be lowercase or English.
Multi-parameters: In this case there will be many different parameters listed with , delimiters and between the ( and ) symbols.
A <&tbu2:(,120,-1,,ignore)> call is an example of a multi-parameter function.
Currently the function with the most predefined parameters is <&placefile: with up to 14 parameters.
Note, if a function requires multiple parameters but you don’t want to specify all of them, it is a good idea to reserve the space using the , delimiters as shown in the <&tbu2: example above.
Reserved Parameter Values:
Currently you may not use a
- | pipe,
- , comma,
- tab
- return, paragraph break, line break, etc.
as any parameter of a custom function. There are, however methods of inserting any of these characters as Adobe InDesign supports special metacharacters for things like returns ^p and tabs ^t.
| Delimited:
The custom functions are pipe delimited. So, to string together a series of custom functions place a pipe character | between each function.
For example here are two custom functions strung together:
<&size:(<&size>,)>|<&fit:()>
One way to think about the | is that, like in Unix, some functions can indeed pipe or redirect information to the next function in the line. BLOX Total CMS for Adobe InDesign and Adobe InCopy functions can indeed alter tags in a file, through tag propagation, so that the next function has something different to work with.