en-US/Documentarian-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-MDLinks</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>MDLinks</command:noun>
      <maml:description>
        <maml:para>Converts Markdown hyperlinks to numbered link references.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet finds all hyperlinks and link references in a Markdown file then replaces all links with numbered link references. The link reference definitions are added to the end of the file. Existing link reference definitions aren't removed. You must edit the updated Markdown file to remove them. This gives you the opportunity to inspect the new link definitions to ensure accuracy.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-MDLinks</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>An array of one or more paths to Markdown files. This parameter support wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Outputs information about the hyperlinks in a file without altering the file.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Outputs information about the hyperlinks in a file without altering the file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>An array of one or more paths to Markdown files. This parameter support wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>This cmdlet produces no output unless you use the PassThru parameter.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1 - Convert links in a single file ----------</maml:title>
        <dev:code>Convert-MDLinks .\overview.md</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>--------- Example 2 - Convert links in a multiple file ---------</maml:title>
        <dev:code>Convert-MDLinks .\*.md</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>- Example 3 - Show information about the hyperlinks in a file -</maml:title>
        <dev:code>Convert-MDLinks .\README.md -PassThru
 
mdlink : [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
target : https://opensource.microsoft.com/codeofconduct/
ref :
label : Microsoft Open Source Code of Conduct
newlink : [Microsoft Open Source Code of Conduct][05]
 
mdlink : [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
target : https://opensource.microsoft.com/codeofconduct/faq/
ref :
label : Code of Conduct FAQ
newlink : [Code of Conduct FAQ][06]
 
mdlink : [opencode@microsoft.com](mailto:opencode@microsoft.com)
target : mailto:opencode@microsoft.com
ref :
label : opencode@microsoft.com
newlink : [opencode@microsoft.com][09]
 
mdlink : [![Build Status](https://apidrop.visualstudio.com/Content%20CI/_apis/build/status/PROD/CabGen(PowerShell_Upda
          table_Help)
target : https://apidrop.visualstudio.com/Content%20CI/_apis/build/status/PROD/CabGen(PowerShell_Updatable_Help
ref :
label : ![Build Status
newlink : [![Build Status][03]
 
mdlink : [learn.microsoft.com]([https://learn.microsoft.com/powershell/scripting/)
target : [https://learn.microsoft.com/powershell/scripting/
ref :
label : learn.microsoft.com
newlink : [learn.microsoft.com][01]
 
mdlink : [Contribution License Agreement](https://cla.microsoft.com/)
target : https://cla.microsoft.com/
ref :
label : Contribution License Agreement
newlink : [Contribution License Agreement][04]
 
mdlink : [contributor's guide](https://aka.ms/PSDocsContributor)
target : https://aka.ms/PSDocsContributor
ref :
label : contributor's guide
newlink : [contributor's guide][02]</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/convert-mdlinks/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-Contraction</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>Contraction</command:noun>
      <maml:description>
        <maml:para>Converts common word pairs to contractions in a Markdown document.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Microsoft Style Guide recommends using contractions in our documentation. The cmdlet updates markdown files by replacing common word pairs with contractions. You can update multiple files by specifying a comma-separated list of paths to file or folders and include wildcards.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-Contraction</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to one or more files or folders containing files. The parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>When provided the cmdlet search subfolders for files that match the Path parameter value.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to one or more files or folders containing files. The parameter supports wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>When provided the cmdlet search subfolders for files that match the Path parameter value.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1 - Update all files in a folder -----------</maml:title>
        <dev:code>ConvertTo-Contraction -Path articles\cloud-shell\*.md</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/convertto-contraction/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ContentWithoutHeader</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ContentWithoutHeader</command:noun>
      <maml:description>
        <maml:para>Gets the content of a Markdown file without the YAML frontmatter.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The cmdlet gets the content of a Markdown file without the YAML frontmatter. This is useful when updating the metadata of the file or for passing Markdown text to another command for processing.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ContentWithoutHeader</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to the Markdown file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>See the source code for `Update-Metadata` for another example.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1 - Render the Markdown file as HTML ---------</maml:title>
        <dev:code>Get-ContentWithoutHeader .\Update-Metadata.md |
    ConvertFrom-Markdown |
    Select-Object -ExpandProperty Html</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/get-contentwithoutheader</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Document</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Document</command:noun>
      <maml:description>
        <maml:para>Parses a document as Markdown and returns it as a usable object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-Document` cmdlet parses one or more Markdown files and returns a **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)object for each of them.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Document</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specify the path to one or more Markdown files or folders containing Markdown files.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specify the path to one or more Markdown files or folders containing Markdown files.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>This cmdlet doesn't support input from the pipeline.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>ParsedDocument</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>This cmdlet returns a **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)object for every Markdown file specified by the Path parameter.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1: Get a parsed Markdown document ----------</maml:title>
        <dev:code>Get-Document -Path ./CHANGELOG.md
 
-output-list
FileInfo : C:\code\pwsh\Documentarian\CHANGELOG.md
RawContent : # Project Changelogs
 
                 All notable changes to these projects are documented in a
                 changelog file in their folder.
 
                 The format is based on [Keep a Changelog][01], and this
                 project adheres to
                 [Semantic Versioning][02].
 
                 For releases before `1.0.0`, this project uses the following
                 convention:
 
                 - While the major version is `0`, the code is considered
                 unstable.
                 - The minor version is incremented when a
                 backwards-incompatible change is introduced.
                 - The patch version is incremented when a
                 backwards-compatible change or bug fix is introduced.
 
                 ## Modules
 
                 - [Documentarian][03]
                 - [Documentarian.DevX][04]
 
                 [01]: https://keepachangelog.com/en/1.0.0/
                 [02]: https://semver.org/spec/v2.0.0.html
                 [03]: Source/Modules/Documentarian/CHANGELOG.md
                 [04]: Source/Modules/Documentarian.DevX/CHANGELOG.md
 
ParsedMarkdown : {Markdig.Syntax.HeadingBlock, Markdig.Syntax.ParagraphBlock,
                 Markdig.Syntax.ParagraphBlock, Markdig.Syntax.ParagraphBlock…}
FrontMatter :
Body : # Project Changelogs
 
                 All notable changes to these projects are documented in a
                 changelog file in their folder.
 
                 The format is based on [Keep a Changelog][01], and this
                 project adheres to
                 [Semantic Versioning][02].
 
                 For releases before `1.0.0`, this project uses the following
                 convention:
 
                 - While the major version is `0`, the code is considered
                 unstable.
                 - The minor version is incremented when a
                 backwards-incompatible change is introduced.
                 - The patch version is incremented when a
                 backwards-compatible change or bug fix is introduced.
 
                 ## Modules
 
                 - [Documentarian][03]
                 - [Documentarian.DevX][04]
 
                 [01]: https://keepachangelog.com/en/1.0.0/
                 [02]: https://semver.org/spec/v2.0.0.html
                 [03]: Source/Modules/Documentarian/CHANGELOG.md
                 [04]: Source/Modules/Documentarian.DevX/CHANGELOG.md
 
Links : {01, 02, 03, 04…}</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------- Example 2: Parse a folder of Markdown documents -------</maml:title>
        <dev:code>Get-Document -Path .\reference\ |
    Select-Object -Property FileInfo, FrontMatter -First 3 |
    Format-List
 
-output-list
FileInfo : C:\docs\reference\_index.md
FrontMatter : {[title, Reference], [summary, Reference documentation for the
              PowerShell code in the **Documentarian** module.], [description,
              Reference documentation for the PowerShell code in the
              **Documentarian** module.], [weight, 99]}
 
FileInfo : C:\docs\reference\about\_index.md
FrontMatter : {[title, About Topics], [weight, 0], [summary, PowerShell `about_*`
              topics for the **Documentarian** module.], [description, PowerShell
              `about_*` topics for the **Documentarian** module.]}
 
FileInfo : C:\docs\reference\classes\_index.md
FrontMatter : {[title, Classes], [summary, Reference documentation for the
              PowerShell classes in the **Documentarian** module.], [description,
              Reference documentation for the PowerShell classes in the
              **Documentarian** module.]}</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/get-document</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DocumentLink</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DocumentLink</command:noun>
      <maml:description>
        <maml:para>Retrieves links from a Markdown document with their metadata.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-DocumentLink` cmdlet gets the links in a Markdown document with their metadata, including the **Kind** (/modules/documentarian/classes/documentlink/properties#kind)of each link and its **Position** (/modules/documentarian/classes/position). You can use it to get the links directly from one or more files with the Path parameter or pass it a set of parsed documents (as returned by the `Get-Document` (/modules/documentarian/reference/cmdlets/get-documentlink) cmdlet)with the Document parameter.</maml:para>
      <maml:para>You can use the remaining parameters to filter the list of links for the one's you're looking for, such as inline links or links with undefined references.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DocumentLink</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Document { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify one or more **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)object, as output by the `Get-Document` (/modules/documentarian/reference/cmdlets/get-documentlink)cmdlet, to return get links from.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ParsedDocument[]</command:parameterValue>
          <dev:type>
            <maml:name>ParsedDocument[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExcludeKind { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify one or more **LinkKind** (/modules/documentarian/enums/linkkind)enums to exclude from the list of returned links. If you specify a wildcard character, such as `*`, the cmdlet filters all matching LinkKind enums.</maml:para>
            <maml:para>Only links whose **Kind** (/modules/documentarian/classes/documentlink/properties#kind)property isn't in the list of enums specified by this parameter are returned.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">TextInline</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">TextSelfReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">TextUsingReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageInline</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageSelfReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageUsingReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ReferenceDefinition</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">LinkKind[]</command:parameterValue>
          <dev:type>
            <maml:name>LinkKind[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeKind { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify one or more **LinkKind** (/modules/documentarian/enums/linkkind)enums to include for the list of returned links. If you specify a wildcard character, such as `*`, the cmdlet filters all matching LinkKind enums.</maml:para>
            <maml:para>Only links whose **Kind** (/modules/documentarian/classes/documentlink/properties#kind)property is in the list of enums specified by this parameter are returned.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">TextInline</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">TextSelfReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">TextUsingReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageInline</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageSelfReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ImageUsingReference</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ReferenceDefinition</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">LinkKind[]</command:parameterValue>
          <dev:type>
            <maml:name>LinkKind[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchDestination { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchMarkdown { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchReferenceID { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchText { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchDestination { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchMarkdown { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchReferenceID { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchText { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="FullName">
          <maml:name>Path { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify the path to one or more files or folders. The cmdlet parses the specified values for Markdown documents and returns the links defined in them.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-DocumentLink</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Document { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify one or more **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)object, as output by the `Get-Document` (/modules/documentarian/reference/cmdlets/get-documentlink)cmdlet, to return get links from.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ParsedDocument[]</command:parameterValue>
          <dev:type>
            <maml:name>ParsedDocument[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchDestination { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchMarkdown { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchReferenceID { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchText { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value matches the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchDestination { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchMarkdown { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchReferenceID { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>NotMatchText { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value doesn't match the regular expression are returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
          <dev:type>
            <maml:name>Regex</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
          <maml:name>Only { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify a preset filter for the links to return. Valid options include:</maml:para>
            <maml:para>- `Inline` - return only the links that are defined inline</maml:para>
            <maml:para>- `References` - return only reference links and definitions</maml:para>
            <maml:para>- `UndefinedReferences` - return only reference links that don't have a matching definition</maml:para>
            <maml:para>- `UnusedReferences` - return only reference link definitions that don't have a matching link</maml:para>
            <maml:para>- `ValidReferences` - return only reference links that have definitions and reference link</maml:para>
            <maml:para> definitions that are used.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">Inline</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">References</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">UndefinedReferences</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">UnusedReferences</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ValidReferences</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="FullName">
          <maml:name>Path { .pwsh-param }</maml:name>
          <maml:description>
            <maml:para>Specify the path to one or more files or folders. The cmdlet parses the specified values for Markdown documents and returns the links defined in them.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
        <maml:name>Document { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify one or more **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)object, as output by the `Get-Document` (/modules/documentarian/reference/cmdlets/get-documentlink)cmdlet, to return get links from.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ParsedDocument[]</command:parameterValue>
        <dev:type>
          <maml:name>ParsedDocument[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>ExcludeKind { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify one or more **LinkKind** (/modules/documentarian/enums/linkkind)enums to exclude from the list of returned links. If you specify a wildcard character, such as `*`, the cmdlet filters all matching LinkKind enums.</maml:para>
          <maml:para>Only links whose **Kind** (/modules/documentarian/classes/documentlink/properties#kind)property isn't in the list of enums specified by this parameter are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">LinkKind[]</command:parameterValue>
        <dev:type>
          <maml:name>LinkKind[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeKind { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify one or more **LinkKind** (/modules/documentarian/enums/linkkind)enums to include for the list of returned links. If you specify a wildcard character, such as `*`, the cmdlet filters all matching LinkKind enums.</maml:para>
          <maml:para>Only links whose **Kind** (/modules/documentarian/classes/documentlink/properties#kind)property is in the list of enums specified by this parameter are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">LinkKind[]</command:parameterValue>
        <dev:type>
          <maml:name>LinkKind[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>MatchDestination { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value matches the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>MatchMarkdown { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value matches the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>MatchReferenceID { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value matches the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>MatchText { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value matches the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>NotMatchDestination { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Destination** (/modules/documentarian/classes/documentlink/properties#destination)property for the links. Only links with a Destination property whose value doesn't match the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>NotMatchMarkdown { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Markdown** (/modules/documentarian/classes/documentlink/properties#markdown)property for the links. Only links with a Markdown property whose value doesn't match the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>NotMatchReferenceID { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **ReferenceID** (/modules/documentarian/classes/documentlink/properties#referenceid)property for the links. Only links with a ReferenceID property whose value doesn't match the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>NotMatchText { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a regular expression to check against the value of the **Text** (/modules/documentarian/classes/documentlink/properties#text)property for the links. Only links with a Text property whose value doesn't match the regular expression are returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Regex</command:parameterValue>
        <dev:type>
          <maml:name>Regex</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="none">
        <maml:name>Only { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify a preset filter for the links to return. Valid options include:</maml:para>
          <maml:para>- `Inline` - return only the links that are defined inline</maml:para>
          <maml:para>- `References` - return only reference links and definitions</maml:para>
          <maml:para>- `UndefinedReferences` - return only reference links that don't have a matching definition</maml:para>
          <maml:para>- `UnusedReferences` - return only reference link definitions that don't have a matching link</maml:para>
          <maml:para>- `ValidReferences` - return only reference links that have definitions and reference link</maml:para>
          <maml:para> definitions that are used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="FullName">
        <maml:name>Path { .pwsh-param }</maml:name>
        <maml:description>
          <maml:para>Specify the path to one or more files or folders. The cmdlet parses the specified values for Markdown documents and returns the links defined in them.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>You can pass a list of file and folder paths to this cmdlet to parse for Markdown links.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>ParsedDocument[]</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>You can pass a list of **ParsedDocument** (/modules/documentarian/reference/classes/parseddocument/)objects to this cmdlet to return links from.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>DocumentLink</maml:name>
        </dev:type>
        <maml:description>
          <maml:para>This cmdlet returns **DocumentLink** (/modules/documentarian/classes/documentlink)objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Example 1: Get links from a file ---------------</maml:title>
        <dev:code>Get-DocumentLink -Path ./CHANGELOG.md
 
-output-list
Kind : TextUsingReference
Text : Keep a Changelog
Destination :
Title :
ReferenceID : 01
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:5:24
Markdown : [Keep a Changelog][01]
 
Kind : TextUsingReference
Text : Semantic Versioning
Destination :
Title :
ReferenceID : 02
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:6:1
Markdown : [Semantic Versioning][02]
 
Kind : TextUsingReference
Text : Documentarian
Destination :
Title :
ReferenceID : 03
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:16:3
Markdown : [Documentarian][03]
 
Kind : TextUsingReference
Text : Documentarian.DevX
Destination :
Title :
ReferenceID : 04
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:17:3
Markdown : [Documentarian.DevX][04]
 
Kind : ReferenceDefinition
Text :
Destination : https://keepachangelog.com/en/1.0.0/
Title :
ReferenceID : 01
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:19:0
Markdown : [01]: https://keepachangelog.com/en/1.0.0/
 
Kind : ReferenceDefinition
Text :
Destination : https://semver.org/spec/v2.0.0.html
Title :
ReferenceID : 02
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:20:0
Markdown : [02]: https://semver.org/spec/v2.0.0.html
 
Kind : ReferenceDefinition
Text :
Destination : Source/Modules/Documentarian/CHANGELOG.md
Title :
ReferenceID : 03
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:21:0
Markdown : [03]: Source/Modules/Documentarian/CHANGELOG.md
 
Kind : ReferenceDefinition
Text :
Destination : Source/Modules/Documentarian.DevX/CHANGELOG.md
Title :
ReferenceID : 04
Position : C:\code\pwsh\Documentarian\CHANGELOG.md:22:0
Markdown : [04]: Source/Modules/Documentarian.DevX/CHANGELOG.md</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------ Example 2: Get count of inline links from a folder ------</maml:title>
        <dev:code>Get-DocumentLink -Path .\reference\ -Only Inline |
    Group-Object -Property { $_.Position.FileInfo.FullName } |
    Select-Object -Property Count, Name
 
-output-table
Count Name
----- ----
    3 C:\docs\reference\classes\DocumentLink\constructors.md
    1 C:\docs\reference\classes\DocumentLink\methods\HasReference.md
    1 C:\docs\reference\classes\DocumentLink\methods\IsImage.md
    1 C:\docs\reference\classes\DocumentLink\methods\IsReference.md
    1 C:\docs\reference\classes\DocumentLink\methods\IsSelfReferential.md
    1 C:\docs\reference\classes\DocumentLink\methods\IsText.md
    2 C:\docs\reference\classes\DocumentLink\methods\Parse.md
    1 C:\docs\reference\classes\LinkKindTransformAttribute\constructors.md
    1 C:\docs\reference\classes\LinkKindTransformAttribute\methods\Transform.md
    1 C:\docs\reference\classes\ParsedDocument\constructors.md
    1 C:\docs\reference\classes\ParsedDocument\methods\InlineLinks.md
    2 C:\docs\reference\classes\ParsedDocument\methods\ParsedLinks.md
    1 C:\docs\reference\classes\ParsedDocument\methods\ToDecoratedString.md
    1 C:\docs\reference\classes\ParsedDocument\methods\UndefinedReferenceLinks.md
    1 C:\docs\reference\classes\ParsedDocument\methods\UnusedReferenceLinkDefinitions.md
    1 C:\docs\reference\classes\ParsedDocument\methods\ValidReferenceLinksAndDefinitions.md
    1 C:\docs\reference\classes\ParsingPatterns\methods\InsideSingleBacktick.md
    2 C:\docs\reference\classes\ParsingPatterns\methods\InSquareBrackets.md
    1 C:\docs\reference\classes\ParsingPatterns\methods\NotInsideInlineCode.md
    1 C:\docs\reference\classes\Position\constructors.md
    1 C:\docs\reference\classes\Position\methods\ToString.md
    1 C:\docs\reference\cmdlets\_index.md
    1 C:\docs\reference\cmdlets\Get-Document.md
    1 C:\docs\reference\cmdlets\Get-DocumentLink.md</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>--- Example 3: Get reference links from a list of documents ---</maml:title>
        <dev:code>$docs = Get-Document -Path .\reference
Get-DocumentLink -Document $docs -Only References |
    Group-Object -Property Kind |
    Select-Object -Property Name, Count
 
-output-table
Name Count
---- -----
TextSelfReference 8
TextUsingReference 132
ReferenceDefinition 121</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------------- Example 4: Get external links ----------------</maml:title>
        <dev:code>$docs = Get-Document -Path .\reference
Get-DocumentLink -Document $docs -MatchDestination '^https?:'
 
-output-list
Kind : ReferenceDefinition
Text :
Destination : https://learn.microsoft.com/powershell/module/microsoft.powershell
              .core/about/about_comparison_operators#-like-and--notlike
Title :
ReferenceID : 02
Position : C:\docs\reference\classes\LinkKindTransformAttribute\methods\
              Transform.md:49:0
Markdown : [02]: https://learn.microsoft.com/powershell/module/microsoft
              .powershell.core/about/about_comparison_operators#-like-and--notlike
 
Kind : ReferenceDefinition
Text :
Destination : https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-VT100-Mode
Title :
ReferenceID : 01
Position : C:\docs\reference\classes\ParsedDocument\methods\ToDecoratedString.md:41:0
Markdown : [01]: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-VT100-Mode
 
Kind : ReferenceDefinition
Text :
Destination : https://learn.microsoft.com/dotnet/api/system.text.regularexpressions
              .regex.escape
Title :
ReferenceID : 01
Position : C:\docs\reference\classes\ParsingPatterns\methods\InsideSingleBacktick
              .md:67:0
Markdown : [01]: https://learn.microsoft.com/dotnet/api/system.text
              .regularexpressions.regex.escape
 
Kind : TextInline
Text : about_CommonParameters
Destination : http://go.microsoft.com/fwlink/?LinkID=113216
Title :
ReferenceID :
Position : C:\docs\reference\cmdlets\Get-Document.md:41:244
Markdown : [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216)
 
Kind : TextInline
Text : about_CommonParameters
Destination : http://go.microsoft.com/fwlink/?LinkID=113216
Title :
ReferenceID :
Position : C:\docs\reference\cmdlets\Get-DocumentLink.md:408:1
Markdown : [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216)</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/get-documentlink</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Document</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Metadata</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Metadata</command:noun>
      <maml:description>
        <maml:para>Get the metadata frontmatter from a Markdown file.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get the metadata frontmatter from a Markdown file. By default the data is returned as a hashtable object. It can also be returned as a PSObject or as raw Yaml formatted text.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Metadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AsObject</maml:name>
          <maml:description>
            <maml:para>Returns the metadata as a PSObject . Unlike the hashtable, the object includes the original file path as a property.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-Metadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AsYaml</maml:name>
          <maml:description>
            <maml:para>Returns the raw Yaml metadata frontmatter.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AsObject</maml:name>
        <maml:description>
          <maml:para>Returns the metadata as a PSObject . Unlike the hashtable, the object includes the original file path as a property.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AsYaml</maml:name>
        <maml:description>
          <maml:para>Returns the raw Yaml metadata frontmatter.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1 - Get the metadata header as a hashtable ------</maml:title>
        <dev:code>Get-Metadata .\install\Installing-PowerShell-on-Windows.md
 
Name Value
---- -----
description Information about installing PowerShell on Windows
title Installing PowerShell on Windows
ms.date 08/02/2021</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------- Example 2 - Get the metadata header as an object -------</maml:title>
        <dev:code>Get-Metadata .\install\Installing-PowerShell-on-Windows.md -AsObject | Format-list
 
description : Information about installing PowerShell on Windows
file : C:\Git\PS-Docs\PowerShell-Docs\reference\docs-conceptual\install\Installing-PowerShell-on-Windows.md
title : Installing PowerShell on Windows
ms.date : 08/02/2021</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------- Example 3 - Get the metadata header as raw Yaml -------</maml:title>
        <dev:code>Get-Metadata .\install\Installing-PowerShell-on-Windows.md -AsYaml
 
description: Information about installing PowerShell on Windows
ms.date: 01/09/2023
title: Installing PowerShell on Windows</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/get-metadata</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Remove-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Set-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Update-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-Metadata</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>Metadata</command:noun>
      <maml:description>
        <maml:para>Removes metadata key-value pairs from the YAML frontmatter of a Markdown file.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes metadata key-value pairs from the YAML frontmatter of a Markdown file. List the keys names you want to remove from the frontmatter. This is useful for removing obsolete metadata values.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-Metadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>KeyName</maml:name>
          <maml:description>
            <maml:para>The name of the metadata key to be removed. This can be a comma-delimited list of names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>KeyName</maml:name>
        <maml:description>
          <maml:para>The name of the metadata key to be removed. This can be a comma-delimited list of names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1 - Remove obsolete metadata values ---------</maml:title>
        <dev:code>Get-Metadata .\install\Installing-PowerShell-Core-on-Windows.md
 
Name Value
---- -----
description Information about installing PowerShell on Windows
keywords powershell, cmdlets
title Installing PowerShell on Windows
ms.date 08/02/2021
ms.assetid 3a0fc6a8-dfe3-4852-bda4-2ea4a7a1917f
 
Remove-Metadata -KeyName keywords,'ms.assetid'
Get-Metadata .\install\Installing-PowerShell-Core-on-Windows.md
 
Name Value
---- -----
description Information about installing PowerShell on Windows
title Installing PowerShell on Windows
ms.date 08/02/2021</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/remove-metadata</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Set-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Update-YamlBlock</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-Metadata</command:name>
      <command:verb>Set</command:verb>
      <command:noun>Metadata</command:noun>
      <maml:description>
        <maml:para>Overwrites the metadata frontmatter in a Markdown file.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Overwrites the metadata frontmatter in a Markdown file. The existing frontmatter is replaced with the values in the NewMetadata hashtable.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-Metadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>NewMetadata</maml:name>
          <maml:description>
            <maml:para>This is a hashtable of key-value pairs to be written to the Markdown file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>NewMetadata</maml:name>
        <maml:description>
          <maml:para>This is a hashtable of key-value pairs to be written to the Markdown file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-- Example 1 - Replace the existing metadata with new values --</maml:title>
        <dev:code>$newvalues = @{
    'ms.date' = Get-Date -Format 'MM/dd/yyyy'
    test='foo'
}
Update-Metadata .\docs\*.md -NewMetadata $newvalues</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/set-metadata</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Remove-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Update-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-Metadata</command:name>
      <command:verb>Update</command:verb>
      <command:noun>Metadata</command:noun>
      <maml:description>
        <maml:para>Updates or adds metadata to a Markdown file.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Updates or adds metadata to a Markdown file. The existing keys in the frontmatter are update with the new values. New keys are added to the frontmatter.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-Metadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>NewMetadata</maml:name>
          <maml:description>
            <maml:para>This is a hashtable of key-value pairs to be written to the Markdown file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>NewMetadata</maml:name>
        <maml:description>
          <maml:para>This is a hashtable of key-value pairs to be written to the Markdown file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="true" pipelineInput="False" position="0" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The path to the Markdown file. This can be a path to a folder containing Markdown files. Wildcards are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.String</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>Cause the cmdlet to recursively search for Markdown files in the matching Path and all subfolders.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Management.Automation.SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1 - Update the **ms.date** metadata for all Markdown files</maml:title>
        <dev:code>Update-Metadata *.md -NewMetadata @{'ms.date' = Get-Date -Format 'MM/dd/yyyy' }</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://microsoft.github.io/Documentarian/modules/documentarian/reference/cmdlets/update-metadata</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Remove-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Set-Metadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>