此时,您应该已经完成了 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的信息构造帮助内容文件的完整路径。
有关详细信息,请参阅 可更新帮助的工作原理。