有誰知道用於生成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