有谁知道用于生成PowerShell cmdlet帮助文件的实用程序?做手工似乎有点乏味......PowerShell MAML帮助生成器
我所在:http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx
任何更新版本?我无法选择一个模块。我有一个二进制模块。
有谁知道用于生成PowerShell cmdlet帮助文件的实用程序?做手工似乎有点乏味......PowerShell MAML帮助生成器
我所在:http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx
任何更新版本?我无法选择一个模块。我有一个二进制模块。
我创建了一个PowerShell脚本,将生成的cmdlet和功能MAML无论模块是否部分。这并不完美,因为生成的MAML需要一些手动编辑,但您引用的cmdlet帮助编辑器也是如此。我有一个关于它的博客文章here
如果您使用它并查找更正,请随时更新the script on PoshCode。
我必须记录我的模块,并没有发现,而不是创建自己的MAML帮助制造商更好的解决方案。它是: https://github.com/nightroman/Helps
模块从PowerShell帮助脚本生成PowerShell MAML帮助文件。 帮助脚本几乎是所见即所得,它们看起来与结果帮助非常相似。 尽管如此,它们只是脚本,这使得许多有用的功能变得简单。 其中之一是建立几种文化的帮助文件。
这里是帮助数据的命令(cmdlet的功能,脚本)和提供的模板:
### Command help data
@{
command = 'Name'
synopsis = '...'
description = '...'
sets = @{
Set1 = '...'
#...
}
parameters = @{
Param1 = '...'
#...
}
inputs = @(
@{
type = '...'
description = '...'
}
#...
)
outputs = @(
@{
type = '...'
description = '...'
}
#...
)
notes = '...'
examples = @(
@{
title = '...'
introduction = '...'
code = {
}
remarks = '...'
test = {
. $args[0]
}
}
#...
)
links = @(
@{
text = '...'
URI = '...'
}
#...
)
}
### Provider help data
@{
provider = 'Name'
drives = '...'
synopsis = '...'
description = '...'
capabilities = '...'
tasks = @(
@{
title = '...'
description = '...'
examples = @(
@{
title = '...'
introduction = '...'
code = {
}
remarks = '...'
test = {
. $args[0]
}
}
)
}
#...
)
parameters = @(
@{
name = '...'
type = '...'
description = '...'
cmdlets = '...'
values = @(
@{
value = '...'
description = '...'
}
#...
)
}
#...
)
notes = '...'
links = @(
@{
text = '...'
URI = '...'
}
#...
)
}
我一直在寻找一种方式嵌入在管理单元/模块的C#代码的文件和PoshBuild开始看起来像我最好的选择。它没有提供包含某些文档元素(例如,简介和示例)的方法,但它仍然是一个不错的选择。
在编辑XML PowerShell帮助(PSMAML),你可以使用图形化工具方面:
随着开源XmlDoc2CmdletDoc的出现,您现在可以记录您的二进制 PowerShell命令(即那些用C#编写),就像任何其他C#库,并就像脚本的cmdlet(那些在PowerShell中):使用内联文档注释。
您不再需要手工保持平行MAML文件!只需测试你的版本,这样当你重新编译你的C#项目时,它会执行文档生成器,你将得到一个模块。 dll和模块。 dll-Help.xml。后者由PowerShell直接用于在调用Get-Help
时为您的cmdlet提供帮助。
而XmlDoc2CmdletDoc甚至提供了一个-strict
开关,以确保您已全面记录您的cmdlet;如果您使用开关并遗漏了某些东西,您的构建将会失败,因为它应该如此。
由XmlDoc2CmdletDoc自动提供其他好处(在此列表中“部分”是指帮助下Get-Help
提出的部分):
我喜欢这个开放源码的工具这么多,我开始贡献给它,提供多种的上述好处。我写了一个全面的使用指南,标题为Documenting Your PowerShell Binary Cmdlets,刚发布在Simple-Talk.com上。
我应该指出我的模块是二进制的。感谢帖子,虽然它确实让我朝着正确的方向前进。 – 2010-03-03 13:49:18
没问题。它应该仍然适用于二进制模块,因为我正在关闭CommandInfo或FunctionInfo来生成MAML。 – 2010-03-03 14:26:42