From df5588ae587a0d9a8b0cb6066940697049758a43 Mon Sep 17 00:00:00 2001 From: Martin Binder Date: Sat, 20 Jun 2020 14:58:13 +0200 Subject: [PATCH] Update Convert-HelpToMarkdown.ps1 #1 fixed issues with InputTypes and ReturnValues #2 accomodate for dynamic parameters based on recommendations by June Blender https://info.sapien.com/index.php/scripting/scripting-help/writing-help-for-dynamic-parameters --- Public/Convert-HelpToMarkdown.ps1 | 37 ++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/Public/Convert-HelpToMarkdown.ps1 b/Public/Convert-HelpToMarkdown.ps1 index 2e8e95b..25e6998 100644 --- a/Public/Convert-HelpToMarkdown.ps1 +++ b/Public/Convert-HelpToMarkdown.ps1 @@ -1,4 +1,4 @@ -<# +<# .Synopsis Formats cmdlet help as MarkDown .Example @@ -113,9 +113,22 @@ function Convert-HelpToMarkDown # Description if ($HelpInfo.Description) { + $DescriptionParts = $HelpInfo.Description.Text -split 'DYNAMIC PARAMETERS' Write-Output '### Description' - Write-Output ($HelpInfo.Description | Out-String -Width 1200).Trim() + Write-Output ( $DescriptionParts[0] | Out-String -Width 1200).Trim() Write-Output '' + if ($DescriptionParts[1]) + { + Write-Output '### Dynamic Parameters' + $DynParamText = $DescriptionParts[1] # | Out-String -Width 1200 + #Write-Debug $ParameterText + $DynParamText = $DynParamText -replace '^\s*-', '#### ' + $DynParamText = $DynParamText.Trim() + $DynParamText = [System.Web.HttpUtility]::HtmlEncode($DynParamText) + + Write-Output $($DynParamText) + Write-Output '' + } } # Syntax @@ -124,15 +137,27 @@ function Convert-HelpToMarkDown Write-Output ($Command | Get-Command -Syntax).Trim() Write-Output `````` + # Input Types + if ($HelpInfo.InputTypes) + { + Write-Output '### Input Type(s)' + Write-Output '' + + foreach ($InputType in $HelpInfo.InputTypes) + { + Write-Output "- $($InputType.InputType.Type.Name)" + } + } + # Output Types - if ($Command.OutputType) + if ($HelpInfo.ReturnValues) { Write-Output '### Output Type(s)' Write-Output '' - foreach ($OutputType in $Command.OutputType) + foreach ($OutputType in $HelpInfo.ReturnValues) { - Write-Output "- $($OutputType.Name)" + Write-Output "- $($OutputType.ReturnValue.Type.Name)" } Write-Output '' @@ -192,4 +217,4 @@ function Convert-HelpToMarkDown Write-Output "
Generated $(Get-Date -Format 'dd-MM-yyyy HH:mm')
" } -} \ No newline at end of file +}