Public/New-MarkDownBreak.ps1
Function New-MarkDownBreak { <# .SYNOPSIS Outputs Markdown text break syntax. .DESCRIPTION Outputs Markdown text break syntax. .PARAMETER Type The type of syntax to output. .EXAMPLE New-MarkDownBreak | Out-File "C:\Path\To\My\File.md" -Encoding "ASCII" -Append .EXAMPLE (New-MarkDownBreak) * 3 | Out-File "C:\Path\To\My\File.md" -Encoding "ASCII" -Append .EXAMPLE New-MarkDownBreak -Type PageBreak | Out-File "C:\Path\To\My\File.md" -Encoding "ASCII" -Append .EXAMPLE New-MarkDownBreak -Type HorizontalRule | Out-File "C:\Path\To\My\File.md" -Encoding "ASCII" -Append #> [CmdletBinding()] PARAM ( [Parameter(Mandatory=$false, Position=0)] [ValidateSet("LineBreak","PageBreak","HorizontalRule")] [String]$Type = "LineBreak" ) #region BEGIN Block BEGIN { # Locally scope ErrorActionPreference for predictable behavior of Try/Catch blocks inside the function $ErrorActionPreference = 'Stop' # Create output variable $Results = [System.Collections.ArrayList]::new() } #endregion BEGIN Block #region PROCESS Block PROCESS { # Declare variables $Results = SWITCH ($Type) { LineBreak { '<br>' } HorizontalRule { "_____________________________________________________________________________________________________________________________________`r`n" } PageBreak { @" <div style="page-break-before:always"> </div> "@ } } } #endregion PROCESS Block #region END Block END { Return $Results } #endregion END Block } |