OpenGraphKit is a Swift package that provides an easy way to parse OpenGraph metadata from HTML content, URLs, and URL requests. Compatible with both Apple platforms and Linux.
- Parse OpenGraph metadata from HTML strings
- Fetch and parse OpenGraph metadata from URLs
- Support for custom URL requests
- Asynchronous API using Swift concurrency
- Cross-platform support (Apple platforms and Linux)
Add the following to your Package.swift
file:
dependencies: [
.package(url: "https://github.com/engali94/OpenGraphKit.git", from: "0.1")
]
To integrate OpenGraphKit into your Xcode project using Swift Package Index, follow these steps:
- In Xcode, select "File" → "Add Packages..."
- Enter the URL:
https://github.com/engali94/OpenGraphKit.git
- Select the version rule that fits your needs (e.g., "Up to Next Major" for automatic updates to new versions)
- Click "Add Package"
You can also visit our Swift Package Index page for more information, alternative integration methods, and to view the generated documentation.
All properties are optional, as not all OpenGraph metadata may be present in every page.
import OpenGraphKit
let parser = OpenGraphParser()
let html = """
<html>
<head>
<meta property="og:title" content="Example Title">
<meta property="og:description" content="This is an example description.">
</head>
<body>Page content</body>
</html>
"""
do {
let metadata = try parser.parse(html: html)
print("Title: \(metadata.title ?? "N/A")")
// ... print other metadata properties
} catch {
print("Error: \(error)")
}
import OpenGraphKit
let parser = OpenGraphParser()
let url = URL(string: "https://example.com")!
do {
let metadata = try await parser.parse(url: url)
print("Title: \(metadata.title ?? "N/A")")
// ... print other metadata properties
} catch {
print("Error: \(error)")
}
import OpenGraphKit
let parser = OpenGraphParser()
var request = URLRequest(url: URL(string: "https://example.com")!)
do {
let metadata = try await parser.parse(urlRequest: request)
print("Title: \(metadata.title ?? "N/A")")
// ... print other metadata properties
} catch {
print("Error: \(error)")
}
Contributions to OpenGraphKit are welcome! Please feel free to submit a Pull Request.
OpenGraphKit is released under the MIT license. See LICENSE for details.