en-GB/about_PSDocs_Configuration.help.txt

TOPIC
    about_psdocs_configuration
 
SHORT DESCRIPTION
    Describes custom configuration that can be used within PSDocs document
    definitions.
 
LONG DESCRIPTION
    PSDocs lets you generate dynamic markdown documents using PowerShell blocks
    known as document definitions. Document definitions can read custom
    configuration set at runtime or within options to change rendering. Within a
    document definition, PSDocs exposes custom configuration through the
    `$PSDocs` automatic variable.
 
    SETTING CONFIGURATION
    To specify custom configuration, set a property of the `configuration`
    object. Configuration can be set at runtime or as YAML by configuring `ps-docs.yaml`.
    For example:
 
    # Example: ps-docs.yaml
     
    # YAML: Using the configuration YAML property to set custom configuration 'MODULE1_KEY1'
    configuration:
      MODULE1_KEY1: Value1
 
    To ensure each custom key is unique use a prefix followed by an underscore
    that represent your module. Key names are not case sensitive, however we
    recommend you use uppercase for consistency.
 
    READING CONFIGURATION
    The `$PSDocs` automatic variable can be used within a Document definition to
    read configuration. Each custom configuration key is available under the
    `.Configuration` property. Additionally, several helper methods are
    available for advanced usage.
    Syntax:
 
    $PSDocs.Configuration.<configurationKey>
 
    For example:
 
    # Get the value of the custom configuration 'MODULE1_KEY1'
    $PSDocs.Configuration.MODULE1_KEY1
 
    The following helper methods are available:
    - `GetStringValues(string configurationKey)` - The configuration value as an
    array of strings. This helper will always returns an array of strings. The
    array will be empty if the configuration key is not defined or empty. -
    `GetValueOrDefault(string configurationKey, object defaultValue)` - Returns
    the configuration value. When the configuration key is not defined the
    default value will be used instead. - `GetBoolOrDefault(string
    configurationKey, bool defaultValue)` - The configuration value as a
    boolean. When the configuration key is not defined the default value will be
    used instead.
    Syntax:
 
    $PSDocs.Configuration.helper()
 
    For example:
 
    # Example using GetStringValues
    $values = $PSDocs.Configuration.GetStringValues('SAMPLE_AUTHORS');
     
    # Example using GetValueOrDefault
    $value = $PSDocs.Configuration.GetValueOrDefault('SAMPLE_CONTENT_OWNER', 'defaultUser');
     
    # Example using GetBoolOrDefault
    if ($PSDocs.Configuration.GetBoolOrDefault('SAMPLE_USE_PARAMETERS_SNIPPET', $True)) {
        # Execute code
    }
 
NOTE
    An online version of this document is available at
    https://github.com/Microsoft/PSDocs/blob/main/docs/concepts/PSDocs/en-US/about_PSDocs_Configuration.md.
 
SEE ALSO
    -
    Invoke-PSDocument
 
KEYWORDS
    - Configuration
    - PSDocs
    - GetStringValues
    - GetValueOrDefault
    - GetBoolOrDefault