PowerShell MAML帮助生成器

有谁知道用于生成PowerShell cmdlet帮助文件的实用程序?手工做似乎有点单调乏味...... 我找到了:http://blogs.msdn.com/powershell/archive/2007/09/01/new-and-improved-cmdlet-help-editor-tool.aspx 任何更新的版本?我无法选择一个模块。我有一个二进制模块。     
已邀请:
我已经创建了一个Powershell脚本,它将为cmdlet和函数生成MAML,无论它们是否是模块的一部分。它并不完美,因为生成的MAML需要一些手动编辑,但您引用的cmdlet帮助编辑器也是如此。我在这里有一篇关于它的博客文章 如果您使用它并找到更正,请随时更新PoshCode上的脚本。     
我不得不记录我的模块,并没有找到比创建我自己的MAML帮助构建器更好的解决方案。这里是: https://github.com/nightroman/Helps 该模块从PowerShell帮助脚本构建PowerShell MAML帮助文件。 帮助脚本几乎是WYSIWYG,它们看起来非常类似于结果帮助。 尽管如此,它们只是脚本,这使得许多有用的功能变得简单。 其中之一是为多种文化构建帮助文件。 以下是命令(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 = '...'
        }
        #...
    )
}
    
我一直在寻找一种方法来将文档嵌入到snapin / module C#代码中,并且PoshBuild开始看起来像我最好的选择。它没有提供包含一些文档元素的方法(例如,概要和示例),但它仍然是一个不错的选择。     
在用于编辑XML PowerShell帮助(PSMAML)的图形工具方面,您可以使用: PowerShell Cmdlet帮助编辑器(开源,Cmdlet帮助编辑器的精神继承者)。 PowerShell HelpWriter(商业)。     
随着开源XmlDoc2CmdletDoc的出现,您现在可以像任何其他C#库一样记录二进制PowerShell cmdlet(即用C#编写的那些),就像脚本化cmdlet(用PowerShell编写的那些)一样:使用内联文档注释。 您不再需要手动维护并行MAML文件!只需检测您的构建,以便在重新编译C#项目时它执行文档生成器并获得module.dll和module.dll-Help.xml。当您调用
Get-Help
时,PowerShell直接使用后者为您的cmdlet提供帮助。 XmlDoc2CmdletDoc甚至提供了一个
-strict
开关,以确保您全面记录了cmdlet;如果你使用开关而你错过了某些东西,你的构建将失败,因为它应该。 XmlDoc2CmdletDoc自动提供的其他好处(此列表中的“部分”是指
Get-Help
所提供的帮助部分): “输出”部分中的每个自定义类型都包含说明。 “语法”部分包含枚举类型的可能值。 参数部分包括枚举类型的可能值。 别名在“参数”部分自动记录。 别名被视为一等参数,因此您可以请求别名帮助。 您可以选择对“输入”部分中的参数使用与“参数”部分相同的不同描述。 Web链接以markdown格式自动呈现,以便对实时链接进行后处理。 (此增强功能正在等待中。) 我非常喜欢这个开源实用程序,所以我开始为它做出贡献,提供了上述几个好处。我写了一篇关于使用它的综合指南,名为Documenting Your PowerShell Binary Cmdlet,刚刚发布在Simple-Talk.com上。     

要回复问题请先登录注册