diff --git a/V2exOS.xcodeproj/project.pbxproj b/V2exOS.xcodeproj/project.pbxproj index e2cf261..fb4b82d 100644 --- a/V2exOS.xcodeproj/project.pbxproj +++ b/V2exOS.xcodeproj/project.pbxproj @@ -82,6 +82,11 @@ 0DFA91232B35BE110081B8AD /* Common.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA91222B35BE110081B8AD /* Common.xcassets */; }; 0DFA91242B35BE110081B8AD /* Common.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA91222B35BE110081B8AD /* Common.xcassets */; }; 0DFA91252B35BE110081B8AD /* Common.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0DFA91222B35BE110081B8AD /* Common.xcassets */; }; + BA0C3B932CFC6067008AE582 /* RichText in Frameworks */ = {isa = PBXBuildFile; productRef = BA0C3B922CFC6067008AE582 /* RichText */; }; + BADCAA672CFB0EAB0050C240 /* RichText in Frameworks */ = {isa = PBXBuildFile; productRef = BADCAA662CFB0EAB0050C240 /* RichText */; }; + BADCAA6A2CFB1E900050C240 /* RichText in Frameworks */ = {isa = PBXBuildFile; productRef = BADCAA692CFB1E900050C240 /* RichText */; }; + BADCAA6D2CFB1EA60050C240 /* RichText in Frameworks */ = {isa = PBXBuildFile; productRef = BADCAA6C2CFB1EA60050C240 /* RichText */; }; + BAE0635D2CFB0902005B2652 /* RichText in Frameworks */ = {isa = PBXBuildFile; productRef = BAE0635C2CFB0902005B2652 /* RichText */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -133,7 +138,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + BADCAA672CFB0EAB0050C240 /* RichText in Frameworks */, + BADCAA6D2CFB1EA60050C240 /* RichText in Frameworks */, 0DA3F3A428A411ED00E7224D /* KeychainAccess in Frameworks */, + BA0C3B932CFC6067008AE582 /* RichText in Frameworks */, + BAE0635D2CFB0902005B2652 /* RichText in Frameworks */, + BADCAA6A2CFB1E900050C240 /* RichText in Frameworks */, 0D8F3356288D245300C27AF1 /* Kingfisher in Frameworks */, 0D12614A28A94AA3009DBCE2 /* V2exAPI in Frameworks */, 0DA8383A2A9DD3E900C8DA47 /* SwiftUIIntrospect in Frameworks */, @@ -365,6 +375,11 @@ 0DA3F3A328A411ED00E7224D /* KeychainAccess */, 0D12614928A94AA3009DBCE2 /* V2exAPI */, 0DA838392A9DD3E900C8DA47 /* SwiftUIIntrospect */, + BAE0635C2CFB0902005B2652 /* RichText */, + BADCAA662CFB0EAB0050C240 /* RichText */, + BADCAA692CFB1E900050C240 /* RichText */, + BADCAA6C2CFB1EA60050C240 /* RichText */, + BA0C3B922CFC6067008AE582 /* RichText */, ); productName = V2exOS; productReference = 0D033B22288CD64500129C9B /* V2exOS.app */; @@ -455,6 +470,7 @@ 0D12614828A94963009DBCE2 /* XCRemoteSwiftPackageReference "V2exAPI" */, 0D2334DC2996972300DF4B73 /* XCRemoteSwiftPackageReference "PagerTabStripView" */, 0DA838362A9DD2AB00C8DA47 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */, + BA0C3B912CFC6067008AE582 /* XCRemoteSwiftPackageReference "RichText" */, ); productRefGroup = 0D033B23288CD64500129C9B /* Products */; projectDirPath = ""; @@ -1001,6 +1017,14 @@ minimumVersion = 0.12.0; }; }; + BA0C3B912CFC6067008AE582 /* XCRemoteSwiftPackageReference "RichText" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/NuPlay/RichText.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 2.5.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -1079,6 +1103,27 @@ package = 0DA838362A9DD2AB00C8DA47 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */; productName = SwiftUIIntrospect; }; + BA0C3B922CFC6067008AE582 /* RichText */ = { + isa = XCSwiftPackageProductDependency; + package = BA0C3B912CFC6067008AE582 /* XCRemoteSwiftPackageReference "RichText" */; + productName = RichText; + }; + BADCAA662CFB0EAB0050C240 /* RichText */ = { + isa = XCSwiftPackageProductDependency; + productName = RichText; + }; + BADCAA692CFB1E900050C240 /* RichText */ = { + isa = XCSwiftPackageProductDependency; + productName = RichText; + }; + BADCAA6C2CFB1EA60050C240 /* RichText */ = { + isa = XCSwiftPackageProductDependency; + productName = RichText; + }; + BAE0635C2CFB0902005B2652 /* RichText */ = { + isa = XCSwiftPackageProductDependency; + productName = RichText; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 0D033B1A288CD64500129C9B /* Project object */; diff --git a/V2exOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/V2exOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 4e57150..8da2c9d 100644 --- a/V2exOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/V2exOS.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "3c492cb9c268e22d303653fd468c6f05262426890224001c6eef417a7d55ff82", + "originHash" : "33d8858131af9c52a540fe2d26de59f80e6bb4be9c0b9345059e6ffe90f02666", "pins" : [ { "identity" : "keychainaccess", @@ -45,6 +45,15 @@ "revision" : "69921e0c755be7ff71d1e19f70b6179e432b8b0b" } }, + { + "identity" : "richtext", + "kind" : "remoteSourceControl", + "location" : "https://github.com/NuPlay/RichText.git", + "state" : { + "revision" : "3910393f3837a21fd2e414b758942ffd2d62aaa2", + "version" : "2.5.0" + } + }, { "identity" : "swift-cmark", "kind" : "remoteSourceControl", diff --git a/V2exOS/Views/TopicDetail/TopicDetailView.swift b/V2exOS/Views/TopicDetail/TopicDetailView.swift index c710861..13be802 100644 --- a/V2exOS/Views/TopicDetail/TopicDetailView.swift +++ b/V2exOS/Views/TopicDetail/TopicDetailView.swift @@ -4,10 +4,10 @@ // // Created by isaced on 2022/7/24. // - -import MarkdownUI import SwiftUI import V2exAPI +import RichText + struct TopicDetailView: View { @EnvironmentObject private var settingsConfig: SettingsConfig @@ -57,16 +57,8 @@ struct TopicDetailView: View { Spacer() - Markdown(topic.content ?? "") - .lineSpacing(6) -#if os(macOS) - .markdownTheme( - Theme() - .text { - FontSize(settingsConfig.fontSize) - } - ) -#endif + RichText(html: topic.contentRendered ?? "") + #if os(tvOS) .focusable() #endif