This file has been written for documentation and testing purposes only. This
might change in future. So, if you're reading this file's source instead of the
generated documentation, you should (mentally) replace every occurence of
# } @… below this comment with # @… (mind the stripped }-bracket).
The namespace json-files provide information used to determine how to link a type. It consists of a list of Objects, Arrays, Strings or a mix of these three variants.
The Object-variant maps types (eg. Package.ClassName or String) or
namespaces (eg. Package., mind the trailing dot) to an URL as String or
an Array containing the definition of how to link the namespace or specific
type in the generated documentation.
The Array and the String-variants provide a subset of (or shortcut to) the Object-variant's capabilities, as documented below.
This is stub coffee-script providing a reduced reference of the related language definition file's structure. Also required to make this file run without failures, if one tries to do so.
There are four variants to define how to link a type
typeOrNamespace :
This key is used to match the value to process. May either match exactly with the given value …
"typeOrNamespace" === "value"
… or if the processed language knows namespaces and has a namespace.separator
and the value ends with this separator …
"typeOrNamespace".lastIndexOf(separator) === \ "typeOrNamespace".length - separator.length
… it can also match the start of the value …
"value".indexOf("typeOrNamespace") === 0
optionalUrl?type={type} :
This String-value represents the URL to link to. Any occurence of {type}
will be substituted with the urlencoded value of the type. The type name's
fragments replace any occurence of {type.positionOfFragment-1}. Any of
those placeholders being left after substition, will be stripped from the
resulting string.
The whole string may be substituted by false to disable linking completly.
typeOrNamespace :
See typeOrNamespace in variant (1) above.
If the Array is empty the value to process is used as link without touching it at all.
The Array may be substituted by false to disable linking the namespace or
specific type completly.
urlPrefixOrFunction :
Default: ""
If this String is a property of LANGUAGES.language.namespace and this
property is a function, the function will be called with the value to process,
the namespace.separator and the remaining "typeOrNamespace"-Array elements
as arguments.
The function can either return the URL as string, false if the value to
process shall not be linked, or null if the function can not handle the
value.
Otherwise the value is prepended to the generated URL.
stripNamespacePrefix :
Default: ""
A string which will be stripped of the start of the type's value
addUrlSuffix :
Default: ".html"
A string which will be appended to the end of the URL to generate.
splitNamespaceString :
Default: LANGUAGES.language.namespace.separator
A string to split the type's value or null to skip splitting. The resulting
Array will be joined with the joinNamespaceString described below.
joinNamespaceString :
Default: "/"
A string to join the splitted the type's value, as described above in splitNamespaceString.
See variant (2) above. The difference is that every type-value will be processed by this definition, no matter which type or namespace it is.
See variant (2) above. The difference is that every type-value will be processed by this definition, no matter which type or namespace it is.
A namespace like …
… with an input like …
… outputs …
Property dummy is of type Exact.Match
A namespace like …
… with an input like …
… outputs …
Property dummy is of type Exact.Match
A namespace like …
… with an input like …
… outputs …
Property dummy is of type Package.ClassName
A namespace like …
… with an input like …
… outputs …
Property dummy is of type Package.ClassName
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
… or with an input like …
… outputs if no other namespace- or type-definition matches …
Property dummy is of type another.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
… or with an input like …
… outputs if no other namespace- or type-definition matches …
Property dummy is of type another.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.subbranch.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type root.branch.split.here.leaf
A namespace like …
… with an input like …
… outputs …
Property dummy is of type branch.to.link
… with an input like …
… outputs …
Property dummy is of type branch.to.skip
If …
… is a function, then a namespace like …
… with an input like …
… calls …
… and outputs whatever the hypothetic camelize-function spits out …
Property dummy is of type root.branch.subbranch.leaf
… or with an input like …
… it's result is false to skip the link-generation, so the process outputs …
Property dummy is of type root.branch.to.force
… or with an input like …
… the process simply skips this input and goes on with the next namespace entry, so the process outputs …
Property dummy is of type root.branch.to.skip
If …
… is a function, then a namespace like …
… with an input like …
… calls …
… and outputs whatever the hypothetic camelize-function spits out …
Property dummy is of type root.branch.subbranch.leaf
… or if it's result is false to skip the link-generation, the process outputs …
Property dummy is of type root.branch.to.force
… or if it's result is null to indicate that the function does not know how to
handle the given type, then further processing will be applied.
If …
… is a function, then a namespace like …
… with an input like …
… calls …
… which outputs whatever the hypothetic camelize-function spits out, eg.:
Property dummy is of type root.branch.subbranch.leaf
… or if it's result is false to skip the link-generation, the process outputs …
Property dummy is of type root.branch.to.force
… or if it's result is null to indicate that the function does not know how to
handle the given type, then further processing will be applied.
Supported Namespaces