mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-09 00:28:53 +01:00
Moved page.html location information to ArticleRenderer
This commit is contained in:
parent
99be955ede
commit
b49aeca577
@ -104,11 +104,7 @@ final class DetailWebViewController: NSViewController, WKUIDelegate {
|
|||||||
NotificationCenter.default.addObserver(self, selector: #selector(webInspectorEnabledDidChange(_:)), name: .WebInspectorEnabledDidChange, object: nil)
|
NotificationCenter.default.addObserver(self, selector: #selector(webInspectorEnabledDidChange(_:)), name: .WebInspectorEnabledDidChange, object: nil)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
let pageURL = Bundle.main.url(forResource: "page", withExtension: "html")!
|
webView.loadHTMLString(ArticleRenderer.page.html, baseURL: ArticleRenderer.page.baseURL)
|
||||||
let page = try! String(contentsOf: pageURL)
|
|
||||||
let baseURL = pageURL.deletingLastPathComponent()
|
|
||||||
|
|
||||||
webView.loadHTMLString(page, baseURL: baseURL)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,7 +177,7 @@ private extension DetailWebViewController {
|
|||||||
|
|
||||||
func reloadHTML() {
|
func reloadHTML() {
|
||||||
let style = ArticleStylesManager.shared.currentStyle
|
let style = ArticleStylesManager.shared.currentStyle
|
||||||
let rendering: ArticleRendering
|
let rendering: ArticleRenderer.Rendering
|
||||||
|
|
||||||
switch state {
|
switch state {
|
||||||
case .noSelection:
|
case .noSelection:
|
||||||
|
@ -11,10 +11,18 @@ import RSCore
|
|||||||
import Articles
|
import Articles
|
||||||
import Account
|
import Account
|
||||||
|
|
||||||
typealias ArticleRendering = (style: String, html: String)
|
|
||||||
|
|
||||||
struct ArticleRenderer {
|
struct ArticleRenderer {
|
||||||
|
|
||||||
|
typealias Rendering = (style: String, html: String)
|
||||||
|
typealias Page = (html: String, baseURL: URL)
|
||||||
|
|
||||||
|
static var page: Page = {
|
||||||
|
let pageURL = Bundle.main.url(forResource: "page", withExtension: "html")!
|
||||||
|
let html = try! String(contentsOf: pageURL)
|
||||||
|
let baseURL = pageURL.deletingLastPathComponent()
|
||||||
|
return Page(html: html, baseURL: baseURL)
|
||||||
|
}()
|
||||||
|
|
||||||
private let article: Article?
|
private let article: Article?
|
||||||
private let extractedArticle: ExtractedArticle?
|
private let extractedArticle: ExtractedArticle?
|
||||||
private let articleStyle: ArticleStyle
|
private let articleStyle: ArticleStyle
|
||||||
@ -38,22 +46,22 @@ struct ArticleRenderer {
|
|||||||
|
|
||||||
// MARK: - API
|
// MARK: - API
|
||||||
|
|
||||||
static func articleHTML(article: Article, extractedArticle: ExtractedArticle? = nil, style: ArticleStyle) -> ArticleRendering {
|
static func articleHTML(article: Article, extractedArticle: ExtractedArticle? = nil, style: ArticleStyle) -> Rendering {
|
||||||
let renderer = ArticleRenderer(article: article, extractedArticle: extractedArticle, style: style)
|
let renderer = ArticleRenderer(article: article, extractedArticle: extractedArticle, style: style)
|
||||||
return (renderer.styleString(), renderer.articleHTML)
|
return (renderer.styleString(), renderer.articleHTML)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func multipleSelectionHTML(style: ArticleStyle) -> ArticleRendering {
|
static func multipleSelectionHTML(style: ArticleStyle) -> Rendering {
|
||||||
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
||||||
return (renderer.styleString(), renderer.multipleSelectionHTML)
|
return (renderer.styleString(), renderer.multipleSelectionHTML)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func noSelectionHTML(style: ArticleStyle) -> ArticleRendering {
|
static func noSelectionHTML(style: ArticleStyle) -> Rendering {
|
||||||
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
||||||
return (renderer.styleString(), renderer.noSelectionHTML)
|
return (renderer.styleString(), renderer.noSelectionHTML)
|
||||||
}
|
}
|
||||||
|
|
||||||
static func noContentHTML(style: ArticleStyle) -> ArticleRendering {
|
static func noContentHTML(style: ArticleStyle) -> Rendering {
|
||||||
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
let renderer = ArticleRenderer(article: nil, extractedArticle: nil, style: style)
|
||||||
return (renderer.styleString(), renderer.noContentHTML)
|
return (renderer.styleString(), renderer.noContentHTML)
|
||||||
}
|
}
|
||||||
|
@ -38,11 +38,7 @@ class DetailViewControllerWebViewProvider: NSObject, WKNavigationDelegate {
|
|||||||
webView.navigationDelegate = self
|
webView.navigationDelegate = self
|
||||||
queue.insert(webView, at: 0)
|
queue.insert(webView, at: 0)
|
||||||
|
|
||||||
let pageURL = Bundle.main.url(forResource: "page", withExtension: "html")!
|
webView.loadHTMLString(ArticleRenderer.page.html, baseURL: ArticleRenderer.page.baseURL)
|
||||||
let page = try! String(contentsOf: pageURL)
|
|
||||||
let baseURL = pageURL.deletingLastPathComponent()
|
|
||||||
|
|
||||||
webView.loadHTMLString(page, baseURL: baseURL)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit fd55bace3c2ef2c9e5af8110c0fd742e2135cad1
|
Subproject commit 960eaf60336f592306fb1bf6f5a62800a9c5050f
|
Loading…
x
Reference in New Issue
Block a user