27 lines
705 B
Swift
27 lines
705 B
Swift
import Splash
|
|
|
|
struct SwiftBlock: BlockProcessor {
|
|
|
|
static let blockId: ContentBlock = .swift
|
|
|
|
let content: Content
|
|
|
|
let results: PageGenerationResults
|
|
|
|
let language: ContentLanguage
|
|
|
|
private let swift = SyntaxHighlighter(format: HTMLOutputFormat())
|
|
|
|
init(content: Content, results: PageGenerationResults, language: ContentLanguage) {
|
|
self.content = content
|
|
self.results = results
|
|
self.language = language
|
|
}
|
|
|
|
func process(_ markdown: Substring) -> String {
|
|
// Highlight swift code using Splash
|
|
let code = markdown.between("```swift", and: "```").trimmed
|
|
return "<pre><code>" + swift.highlight(code) + "</pre></code>"
|
|
}
|
|
}
|