将PowerShell脚本发布在Web上,通常有两种方式,第一种直接提供脚本文件的下载。这里单讲第二种。
第二种是将脚本代码中的关键字以可视化的形式展现在Web网页中,常见于博客和论坛中,也有两种方式:
一种是将脚本放置在code或pre标签中,然后通过Java Script脚本在客户端进行渲染,在WordPress尤为常见。另外一种是将脚本在发布前进行HTML着色渲染,让脚本本身包含了HTML样式。这里推荐一个PowerShell脚本,使用Powershell脚本自己给自己着色,真可谓善莫大焉。
其主要原理也得益于PowerShell的强大功能:在PowerShell中有一个类型System.Management.Automation.PSTokenType, 这个类型包含PowerShell脚本的语法标记。
PS D:\> [enum]::GetNames([System.Management.Automation.PSTokenType]) Unknown Command CommandParameter CommandArgument Number String Variable Member LoopLabel Attribute Type Operator GroupStart GroupEnd Keyword Comment StatementSeparator NewLine LineContinuation
还有一个方法[system.management.automation.psparser]::Tokenize(),将脚本解析成包含上述标记的对象:
PS D:\> [system.management.automation.psparser]::Tokenize($text,[ref] $er) | select -First 3 Content : cls Type : Command Start : 0 Length : 3 StartLine : 1 StartColumn : 1 EndLine : 1 EndColumn : 4 Content : Type : NewLine Start : 3 Length : 2 StartLine : 1 StartColumn : 4 EndLine : 2 EndColumn : 1 Content : #Load UI automation assembly Type : Comment Start : 5 Length : 28 StartLine : 2 StartColumn : 1 EndLine : 2 EndColumn : 29
然后针对这些不同的对象增加HTML标记即可,这个方法的比较精巧,适合轻量级的嵌入,如果要嵌入大量的脚本,推荐第一种,易于维护。因为CSS的诞生就是为了将内容与主题分离的。
本文链接: https://www.pstips.net/powershell-script-highlight-in-html.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!