在HelpNDoc构建之前,如何清空GitHub Wiki的输出目录?
HelpNDoc有一个在构建前清空文件夹的设置:
使用这个选项在构建像CHM或 HTML等帮助格式时没有问题,但在为GitHub wiki构建时不能使用此设置,因为它会在此过程中删除仓库中的数据文件。
是否有其他方法在构建期间自动保持输出文件夹的整洁,从而删除旧的主题或图片等?
解决方案
你可以通过HelpNDoc的 Build Actions 功能来解决这个问题:
-
添加一个 Pre-build action。
-
给它起一个名称/描述。例如:
- 运行PowerShell清理脚本
- 在生成新文件之前删除旧的wiki输出。
- 将 File path 设置为:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - 将 Arguments 设置为:
-ExecutionPolicy Bypass -File "..\..\Scripts\ProcessOutput.ps1" "."
下面是我的构建动作设置截图:
2.打开文件资源管理器,定位到包含HND文件的文件夹,并创建一个名为 Scripts 的子文件夹。
3.将这个PowerShell ProcessOutput.ps1 脚本放到该文件夹中:
```bash param( [string]$OutputFolder )
Write-Host "Cleaning output folder: $OutputFolder"
# 1. Delete the lib folder if it exists $libPath = Join-Path $OutputFolder "lib" if (Test-Path $libPath) { Write-Host "Deleting lib folder..." Remove-Item -Path $libPath -Recurse -Force }
# 2. Delete all .md files except Sidebar.md Get-ChildItem -Path $OutputFolder -Filter "*.md" -File | Where-Object { $.Name -ne "Sidebar.md" } | ForEach-Object { Write-Host "Deleting $($.Name)" Remove-Item $_.FullName -Force } ```
我在自己的场景中已经停止使用HelpNDoc自动构建的 _sidebar.md,这样我就可以拥有更丰富的侧边栏。因此我的脚本不会删除那个文件。但除此之外,它会删除所有 md 文件和 lib 文件夹。
你可能需要根据需要调整路径等,并相应调整脚本的行为。
在构建期间你应该看到:

