我从未在我的社区网站上使用过此主题组件,因为它对我来说毫无用处。
但我也有自己的私人、封闭论坛,我将其用于多种用途。
我发现占位符表单对我来说非常有用。特别是,我每周都会多次使用一些我记不住的长命令,并且每次都需要修改其中的部分内容。
该组件允许我快速自定义并复制粘贴这些命令到我的终端中,以获得即时结果。
我使用它的三个示例:
将给定格式的所有图片转换为 JPG
Get-ChildItem -Filter *.=EXTENSION= | ForEach-Object { magick $_.FullName -quality =QUALITY= ($_.FullName -replace '\\.=EXTENSION=$', '.jpg'); if (=DELETE_ORIGINAL= -eq 1) { Remove-Item $_.FullName } }
为当前文件夹中的所有 .srt 字幕文件添加延迟[^1]
[^1]:这个例子只是替换脚本中的一个持续时间,但对我来说,通过这种方式进行调整比直接在代码中更改值更容易 ![]()
Get-ChildItem -Filter '*.srt' | ForEach-Object {
$srtFile = $_.FullName
$tempSrtFile = "$($srtFile).tmp.srt"
Write-Host "正在处理: $srtFile" -ForegroundColor Green
ffmpeg -itsoffset =DELAY= -i "$srtFile" -c copy "$tempSrtFile"
if (Test-Path -LiteralPath "$tempSrtFile") {
Move-Item -LiteralPath "$tempSrtFile" -Destination "$srtFile" -Force
Write-Host "已将 $srtFile 偏移 =DELAY= 秒。" -ForegroundColor Green
} else {
Write-Host "处理 $srtFile 失败。请检查 FFmpeg 输出。" -ForegroundColor Red
}
}
裁剪并将给定视频文件转换为 H264、HEVC 或无损格式
if ("=CODEC=" -eq "h264") { ffmpeg -ss =FROM= -to =TO= -i "=FILENAME=" -c:v libx264 -pix_fmt yuv420p -crf =COMPRESSION= -preset medium -c:a aac -b:a 192k -movflags +faststart "=FILENAME=-h264.mp4" } elseif ("=CODEC=" -eq "hevc") { ffmpeg -ss =FROM= -to =TO= -i "=FILENAME=" -c:v libx265 -pix_fmt yuv420p -tag:v hvc1 -crf =COMPRESSION= -preset medium -c:a aac -b:a 192k -movflags +faststart "=FILENAME=-hevc.mp4" } elseif ("=CODEC=" -eq "lossless") { ffmpeg -ss =FROM= -to =TO= -i "=FILENAME=" -c:v ffv1 -level 3 -g 1 -c:a pcm_s16le "=FILENAME=-=CODEC=.mkv" } else { Write-Host "未知的编解码器: =CODEC="; exit 1 }
到目前为止,它对我个人的 Discourse 来说是一项非常重要的功能——因此也对我日常生活来说——所以我非常高兴它存在。 ![]()
~~唯一的缺点是,我希望该组件有一个按钮快捷方式,因为……我记不住创建新主题中占位符字段的完整语法,并且依赖于复制粘贴
~ ~
好吧,写这个主题让我查看了工具栏选项,并意识到确实有一个快捷方式,这让我既觉得愚蠢又开心 ![]()
那么,这个组件还有另一个很棒的地方。