Files
saga-table-test/Sources/Site/run.swift
Michael Housh 0c6b84a872
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 2m50s
feat: Initial commit.
2025-12-12 13:13:14 -05:00

27 lines
868 B
Swift

import Foundation
import HTML
import PathKit
@preconcurrency import Saga
import SagaParsleyMarkdownReader
import SagaSwimRenderer
@main
struct Run {
static func main() async throws {
try await Saga(input: "content", output: "deploy")
// All the remaining markdown files will be parsed to html,
// using the default EmptyMetadata as the Item's metadata type.
.register(
metadata: PageMetadata.self,
readers: [.parsleyMarkdownReader],
itemWriteMode: .keepAsFile, // need to keep 404.md as 404.html, not 404/index.html
writers: [.itemWriter(swim(renderPage))]
)
// Run the steps we registered above
.run()
// All the remaining files that were not parsed to markdown, so for example images, raw html files and css,
// are copied as-is to the output folder.
.staticFiles()
}
}