https://github.com/JohnSundell/Ink.git INK 패키지 사용
1.
파싱한 내용이 담긴 클래스 생성
// ParseContent.swift
import Ink
class ParseContent {
var markdown = """
// HTML 문서 본문
"""
}
Swift
복사
2.
파싱 메서드 탑재
// ParseContent.swift
let parser = MarkdownParser()
let html = parser.html(from: markdown)
Swift
복사
3.
WebView 생성 - HTML 문서 띄울 뷰 생성
// WebView.swift
import SwiftUI
import WebKit
struct WebView : UIViewRepresentable { // UIViewRepresentable 채택
var html: String
// 두개의 메서드 필수 구현
func makeUIView(context: Context) -> WKWebView {
return WKWebView()
}
func updateUIView(_ webView: WKWebView, context: Context) {
webView.loadHTMLString(html, baseURL: nil)
}
}
Swift
복사
4.
띄우고 싶은곳에 생성
// ContentView.swift
import SwiftUI
struct ContentView: View {
@State var htmlContent: String = ""
var body: some View {
WebView(html: htmlContent)
.onAppear {
htmlContent = ParseContent().parse()
}
}
}
Swift
복사