Merge branch 'pr/1033'

This commit is contained in:
Maurice Parker
2019-09-20 17:51:27 -05:00
4 changed files with 235 additions and 78 deletions

View File

@@ -104,7 +104,13 @@ final class DetailWebViewController: NSViewController, WKUIDelegate {
NotificationCenter.default.addObserver(self, selector: #selector(webInspectorEnabledDidChange(_:)), name: .WebInspectorEnabledDidChange, object: nil)
#endif
reloadHTML()
webView.loadHTMLString(template(), baseURL: nil)
}
func template() -> String {
let path = Bundle.main.path(forResource: "page", ofType: "html")!
let s = try! NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue)
return s as String
}
// MARK: Scrolling
@@ -166,6 +172,9 @@ extension DetailWebViewController: WKNavigationDelegate {
}
// MARK: - Private
struct TemplateData: Codable {
let body: String
}
private extension DetailWebViewController {
@@ -183,8 +192,17 @@ private extension DetailWebViewController {
case .extracted(let article, let extractedArticle):
html = ArticleRenderer.articleHTML(article: article, extractedArticle: extractedArticle, style: style)
}
let templateData = TemplateData(body: html)
let encoder = JSONEncoder()
var render = "error();"
if let data = try? encoder.encode(templateData) {
let json = String(data: data, encoding: .utf8)!
render = "render(\(json));"
}
webView.loadHTMLString(html, baseURL: nil)
webView.evaluateJavaScript(render)
}
func fetchScrollInfo(_ callback: @escaping (ScrollInfo?) -> Void) {