An open API service indexing awesome lists of open source software.

https://github.com/nuplay/linkpreview

Preview with Link's meta information.(SwiftUI)
https://github.com/nuplay/linkpreview

link safari sfsafariviewcontroller swift swiftpackagemanager swiftui uicomponent webview wkwebview

Last synced: 8 months ago
JSON representation

Preview with Link's meta information.(SwiftUI)

Awesome Lists containing this project

README

          

LinkPreview(SwiftUI)



version


Swift: 5.1+


iOS: 14.0+


license


Preview with Link's meta information.

| ![IMG_0458](https://user-images.githubusercontent.com/73557895/145139791-93841950-02da-423b-8b4e-da1764073bd6.png) | ![example](https://user-images.githubusercontent.com/73557895/145139131-60038507-92ea-4ab0-9b8e-9a9b7cc7b9ac.gif) |
|-------------------------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------------------------------------------- |
| Image | Gif |

## Get Started

```swift
import SwiftUI
import LinkPreview

struct LinkPreview_Test: View {
@State private var size: CGFloat = 350

var body: some View {
ZStack(alignment: .bottom){
ScrollView{
VStack{
LinkPreview(url: URL(string: "https://github.com/NuPlay/RichText"))
.backgroundColor(.blue)
.primaryFontColor(.white)
.secondaryFontColor(.white.opacity(0.6))
.titleLineLimit(3)
.frame(width: size, alignment: .center)

LinkPreview(url: URL(string: "https://github.com/NuPlay/ExpandableText"))
.titleLineLimit(20)
.frame(width: size, alignment: .center)
.type(.small)

LinkPreview(url: URL(string: "https://github.com/NuPlay/SwiftUI-SlideText"))
}
.padding(.horizontal, 24)
}

Slider(value: $size , in: 100...400, step: 1)
.padding(.horizontal, 24)
}
}
}

```

## Modifier(optional)

Modifier | Default
--- | ---
`.backgroundColor(_ backgroundColor: Color)` | `Color(.systemGray5)`
`.primaryFontColor(_ primaryFontColor: Color)` | `.primary`
`.secondaryFontColor(_ secondaryFontColor: Color)` | `.gray`
`.titleLineLimit(_ titleLineLimit: Int)` | `3`
`.type(_ type: LinkPreviewType(customType[.large, .small, .auto]))` | `.auto`