Generate open graph meta tags
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
import SwiftUI
|
||||
|
||||
struct GeneralSettingsDetailView: View {
|
||||
|
||||
@ObservedObject
|
||||
var generalSettings: GeneralSettings
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
VStack(alignment: .leading) {
|
||||
DetailTitle(title: "General",
|
||||
text: "General settings for the webpage")
|
||||
|
||||
StringPropertyView(
|
||||
title: "Website URL",
|
||||
text: $generalSettings.url,
|
||||
footer: "The base path where the website is deployed, to generate absolute links")
|
||||
|
||||
IntegerPropertyView(
|
||||
title: "Link Preview Image Width",
|
||||
value: $generalSettings.linkPreviewImageWidth,
|
||||
footer: "The maximum width of a link preview image")
|
||||
|
||||
IntegerPropertyView(
|
||||
title: "Link Preview Image Height",
|
||||
value: $generalSettings.linkPreviewImageHeight,
|
||||
footer: "The maximum height of a link preview image")
|
||||
}
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
}
|
@ -9,6 +9,8 @@ struct GenerationDetailView: View {
|
||||
|
||||
var body: some View {
|
||||
switch section {
|
||||
case .general:
|
||||
GeneralSettingsDetailView(generalSettings: content.settings.general)
|
||||
case .folders:
|
||||
PathSettingsView()
|
||||
case .navigationBar:
|
||||
|
@ -5,6 +5,8 @@ struct LocalizedPostFeedSettingsView: View {
|
||||
@ObservedObject
|
||||
var settings: LocalizedPostSettings
|
||||
|
||||
let transferImage: (language: ContentLanguage, image: FileResource)?
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading) {
|
||||
StringPropertyView(
|
||||
@ -12,25 +14,19 @@ struct LocalizedPostFeedSettingsView: View {
|
||||
text: $settings.defaultPageLinkText,
|
||||
footer: "The text to display when linking from a post to a page. Each post can provide a custom text.")
|
||||
|
||||
StringPropertyView(
|
||||
title: "Title",
|
||||
text: $settings.title,
|
||||
footer: "The title of all post feed pages.")
|
||||
|
||||
StringPropertyView(
|
||||
title: "URL prefix",
|
||||
text: $settings.feedUrlPrefix,
|
||||
footer: "The prefix to generate the urls for all post feed pages.")
|
||||
|
||||
TextFieldPropertyView(
|
||||
title: "Description",
|
||||
text: $settings.description,
|
||||
footer: "The description of all post feed pages.")
|
||||
LinkPreviewDetailView(linkPreview: settings.linkPreview, fallbackTitle: nil, transferImage: transferImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
LocalizedPostFeedSettingsView(settings: PostSettings.default.english)
|
||||
.padding()
|
||||
LocalizedPostFeedSettingsView(
|
||||
settings: PostSettings.default.english,
|
||||
transferImage: nil)
|
||||
.padding()
|
||||
}
|
||||
|
@ -8,6 +8,12 @@ struct PostFeedSettingsView: View {
|
||||
@ObservedObject
|
||||
var postSettings: PostSettings
|
||||
|
||||
private var transferImage: (language: ContentLanguage, image: FileResource)? {
|
||||
postSettings.localized(in: language.next).linkPreview.image.map {
|
||||
(language.next, $0)
|
||||
}
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
ScrollView {
|
||||
VStack(alignment: .leading) {
|
||||
@ -40,7 +46,8 @@ struct PostFeedSettingsView: View {
|
||||
selectedFile: $postSettings.swiperJsFile)
|
||||
|
||||
LocalizedPostFeedSettingsView(
|
||||
settings: postSettings.localized(in: language))
|
||||
settings: postSettings.localized(in: language),
|
||||
transferImage: transferImage)
|
||||
.id(language)
|
||||
}
|
||||
.padding()
|
||||
|
@ -2,6 +2,8 @@ import SFSafeSymbols
|
||||
|
||||
enum SettingsSection: String {
|
||||
|
||||
case general = "General"
|
||||
|
||||
case folders = "Folders"
|
||||
|
||||
case navigationBar = "Navigation Bar"
|
||||
@ -20,6 +22,7 @@ extension SettingsSection {
|
||||
|
||||
var icon: SFSymbol {
|
||||
switch self {
|
||||
case .general: return .noteText
|
||||
case .folders: return .folder
|
||||
case .navigationBar: return .menubarArrowUpRectangle
|
||||
case .postFeed: return .rectangleGrid1x2
|
||||
|
Reference in New Issue
Block a user