feat: Adds generate commands that call to pandoc to generate pdf, latex, and html files from a project.

This commit is contained in:
2024-12-13 15:33:20 -05:00
parent d1b3379815
commit 3f56dda568
22 changed files with 606 additions and 57 deletions

View File

@@ -39,14 +39,13 @@ private func install(config: Configuration.Playbook?) async throws {
@Dependency(\.logger) var logger
@Dependency(\.asyncShellClient) var shell
let path = config?.directory ?? PlaybookClient.Constants.defaultInstallationPath
let version = config?.version ?? PlaybookClient.Constants.playbookRepoVersion
let (path, version) = parsePlaybookPathAndVerion(config)
let parentDirectory = URL(filePath: path)
.deletingLastPathComponent()
let exists = try await fileClient.isDirectory(parentDirectory)
if !exists {
let parentExists = try await fileClient.isDirectory(parentDirectory)
if !parentExists {
try await fileClient.createDirectory(parentDirectory)
}
@@ -70,3 +69,10 @@ private func install(config: Configuration.Playbook?) async throws {
))
}
}
private func parsePlaybookPathAndVerion(_ configuration: Configuration.Playbook?) -> (path: String, version: String) {
return (
path: configuration?.directory ?? PlaybookClient.Constants.defaultInstallationPath,
version: configuration?.version ?? PlaybookClient.Constants.playbookRepoVersion
)
}