转换和发布帮助文件

此时,您应该已经完成了 Markdown 帮助文件的创建、编辑和测试。 下一步是将 Markdown 源文件转换为 MAML 帮助文件,并发布到模块。

将 Markdown 文件转换为 MAML

以下示例导入目录中的 .\WidgetModule Markdown 帮助文件,然后将命令帮助导出为目录中的 .\maml MAML 格式。

Measure-PlatyPSMarkdown -Path .\WidgetModule\*.md |
    Where-Object Filetype -match 'CommandHelp' |
    Import-MarkdownCommandHelp -Path {$_.FilePath} |
    Export-MamlCommandHelp -OutputFolder .\maml

发布帮助文件

有两个发布选项:

  • 在模块中包含帮助文件
  • 打包可更新帮助的帮助文件

选项 1:在模块中包含帮助文件

Get-Help cmdlet 在模块目录的语言特定子目录中查找模块帮助主题文件。 将 MAML 帮助文件和任何 about_*.help.txt 文件复制到模块目录中特定于语言的文件夹。 文件夹名称必须使用区域性代码格式,例如 en-US。 例如,以下目录结构图显示了 WidgetModule 模块的帮助主题的位置。

<PSModulePath>/
└── WidgetModule/
    └── en-US/
        ├── about_WidgetModule.help.txt
        ├── WidgetModule-Help.xml
        └── NestedWidgetModule.dll-Help.xml

注释

在本例中, <PSModulePath> 占位符表示环境变量中的 $env:PSModulePath 路径之一,例如 $HOME\Documents\Modules、 或 $PSHOME\Modules用户指定的自定义路径。

如果您已创建其他语言的帮助,请为每种语言创建其他文件夹。

选项 2:打包可更新帮助的帮助文件

若要支持可更新的帮助,需要将帮助文件(MAML 和基于文本的帮助)打包到存档文件中,并创建一个 HelpInfo.xml 文件,其中包含帮助内容的下载位置、帮助版本和可用语言。

您还需要在支持 HTTPS 的 Web 服务器上托管帮助内容。 模块必须具有模块清单。 清单中的 HelpInfoUri 属性必须包含文件所在的 HelpInfo.xml Web 服务器上文件夹位置的 URL。 此 URL 应为文件夹位置,而不是文件的完整 HelpInfo.xml 路径,并且必须以正斜杠 (/) 字符结尾。

有关详细信息,请参阅 可更新的帮助创作

PlatyPS 使这个过程变得更容易。 如果在创建模块 Markdown 文件时模块清单包含 HelpInfoUri 属性,则 PlatyPS 会自动将所需的元数据添加到 Markdown 文件。 使用以下示例创建可更新帮助包。

$params = @{
    CabinetFilesFolder = '.\maml\WidgetModule'
    MarkdownModuleFile = '.\WidgetModule\WidgetModule.md'
    OutputFolder       = '.\helppackage'
}
New-HelpCabinetFile @params

CabinetFilesFolder 参数指定包含要包含在包中的 MAML 和基于文本的帮助文件的文件夹。 MarkdownModuleFile 参数指定包含创建HelpInfo.xml文件所需的元数据的模块 Markdown 文件。 OutputFolder 参数指定创建 和 .cab.zip 文件HelpInfo.xml以及文件的文件夹。 将这些文件复制到 HelpInfoUri 属性指定位置的 Web 服务器。

清单中的 HelpInfoUri 属性必须包含文件所在的 HelpInfo.xml Web 服务器上文件夹位置的 URL。 Update-Help cmdlet 使用此位置构造文件的完整HelpInfo.xml路径。 Update-Help cmdlet 使用文件中HelpInfo.xml的信息构造帮助内容文件的完整路径。

有关详细信息,请参阅 可更新帮助的工作原理