一个 Publish 插件,帮助在构建任何 Publish 网站时运行 ImageMagick 命令。
要将其安装到您的 Publish 包中,请将其作为依赖项添加到您的 Package.swift
清单文件中
let package = Package(
...
dependencies: [
...
.package(url: "https://github.com/mvolpato/magickpublishplugin", from: "0.3.0")
],
targets: [
.target(
...
dependencies: [
...
"MagickPublishPlugin"
]
)
]
...
)
然后,在您想要使用它的任何地方导入 MagickPublishPlugin
import MagickPublishPlugin
有关如何使用 Swift Package Manager 的更多信息,请查看这篇文章,或 其官方文档。
您需要 ImageMagick 版本 6 才能使用 optimizeForWeb(imagesInFolder: String)
方法。
您可以使用版本 7 的其他方法。
然后,该插件可以像这样在任何发布管道中使用
import MagickPublishPlugin
...
try DeliciousRecipes().publish(using: [
...
.installPlugin(.optimizeForWeb(imagesInFolder: "Output/assets/images/blog/"))
...
])
这将使用 Dave Newton 提出的相当不错的 图像转换方法。
如果您想要更多地控制您使用的转换,例如,您可以使用
import MagickPublishPlugin
...
try DeliciousRecipes().publish(using: [
.installPlugin(
...
.magick(arguments: [
"mogrify",
"-thumbnail",
"400",
],
imagesFolder: "Output/assets/images/blog/")
)
...
])
您也可以对单个文件运行该命令
import MagickPublishPlugin
...
try DeliciousRecipes().publish(using: [
.installPlugin(
...
.magick(arguments: [
"mogrify",
"-thumbnail",
"400",
],
imageFile: "Output/assets/images/blog/my-cat-eating-a-burrito.jpg")
)
...
])
您可能希望在 .copyResources()
步骤之后运行此步骤。