Merge-MarkdownHelp

Merge multiple markdown versions of the same cmdlet into a single markdown file.

Syntax

Merge-MarkdownHelp
     [-Path] <String[]>
     [-OutputPath] <String>
     [-Encoding <Encoding>]
     [-ExplicitApplicableIfAll]
     [-Force]
     [[-MergeMarker] <String>]
     [<CommonParameters>]

Description

Similar modules, or different versions of the same module, often contain duplicate content.

Merge-MarkdownHelp merges the multiple markdown files into a single markdown file. It uses the applicable: yaml metadata field to identify what versions or tags are applicable. It acts on two levels: for the whole cmdlet and for individual parameters.

The resulting markdown contains the applicable: tags as well as all of the content of the original markdown files. Duplicate content is simply ignored. Content that is unique to each file is merged using merge markers, followed by a comma-separated list of applicable tags. A merge marker is a string of text that acts as a marker to describe the content that was merged. The default merge marker text consists of three exclamation points !!! however this can be changed to any relevant text using the -MergeMarker flag.

Examples

Example 1

The Test-CsPhoneBootstrap.md cmdlet is included in both Lync Server 2010 and Lync Server 2013. Much of the content is duplicated and thus we want to have a single file for the cmdlet with unique content merged from each individual file.

Merge-MarkdownHelp -Path @('Lync Server 2010\Test-CsPhoneBootstrap.md', 'Lync Server 2013\Test-CsPhoneBootstrap.md') -OutputPath lync

The resulting file will be located at lync\Test-CsPhoneBootstrap.md.

Parameters

-Encoding

Specifies the character encoding for your external help file. Specify a System.Text.Encoding object. For more information, see about_Character_Encoding.

Type:Encoding
Position:Named
Default value:UTF8 without BOM
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExplicitApplicableIfAll

Always write out full list of applicable tags. By default cmdlets and parameters that are present in all variations don't get an application tag.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Indicates that this cmdlet overwrites an existing file that has the same name.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MergeMarker

String to be used as a merge text indicator. Applicable tag list would be included after the marker

Type:String
Position:3
Default value:'!!! '
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputPath

Specifies the path of the folder where this cmdlet creates the combined markdown help files.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifies an array of paths of markdown files or folders. This cmdlet creates combined markdown help based on these files and folders.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

Inputs

String[]

Outputs

FileInfo[]