Generate list of external files

This commit is contained in:
Christoph Hagen 2025-01-06 10:19:51 +01:00
parent 6c1b473ab8
commit cb9af225f0
3 changed files with 27 additions and 0 deletions

View File

@ -52,6 +52,7 @@ struct AudioBlockProcessor: KeyedBlockProcessor {
url: file.absoluteUrl,
cover: coverImage.outputPath)
results.require(file: file)
results.require(image: coverImage)
results.require(footer: footer)
results.require(headers: .audioPlayerJs, .audioPlayerCss)

View File

@ -67,7 +67,9 @@ struct AudioPlayerCommand: CommandProcessor {
let coverSize = 2 * content.settings.audioPlayer.playlistCoverImageSize
let coverImage = image.imageVersion(width: coverSize, height: coverSize, type: image.type)
let coverUrl = coverImage.outputPath
results.require(image: coverImage)
results.require(file: audioFile)
let playlistItem = AudioPlayer.PlaylistItem(
index: playlist.count,

View File

@ -12,6 +12,7 @@ extension Content {
self.copyRequiredFiles()
self.generateRequiredImages()
self.results.recalculate()
self.generateListOfExternalFiles()
self.status("Generation completed")
}
}
@ -279,4 +280,27 @@ extension Content {
return
}
}
// MARK: Additional infos
private var externalFileListName: String { "external-files.txt" }
private func generateListOfExternalFiles() {
let files = results.requiredFiles
.filter { $0.isExternallyStored }
guard !files.isEmpty else {
if storage.hasFileInOutputFolder(externalFileListName) {
storage.deleteInOutputFolder(externalFileListName)
}
return
}
let content = files
.map { $0.absoluteUrl }
.sorted()
.joined(separator: "\n")
storage.write(content, to: externalFileListName)
}
}