public/Write-CmdletExample.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
function Write-CmdletExample() { Param( [Parameter(Position = 0)] [PsCustomObject] $Model, [Parameter(Position = 1)] [String] $HeaderTemplate, [Parameter(Position = 2)] [String] $ItemTemplate ) $examples = $Model.Examples if($examples) { $examples = $Model.Examples.example if(!($examples -is [Array])) { $examples = @($examples); } } else { return; } if($examples -and $examples.Length) { if([String]::IsNullOrWhitespace($HeaderTemplate)) { $HeaderTemplate = "`n## Examples`n`n" } if([String]::IsNullOrWhitespace($ItemTemplate)) { $ItemTemplate = @" ### {0} ``````powershell {1} `````` {2} "@ } $out = "" $out += $HeaderTemplate; foreach($example in $examples) { $model = Read-HelpExample $example; if($model.IsEmpty) { return; } $code = $model.Code $remarks = $model.Remarks $title = $model.Title if($title) { $title = $model.Title.Trim("- ".ToCharArray()) } $out += [String]::Format($ItemTemplate, $title, $code, $remarks) } return $out; } return ""; } |