Swift SDK
Install and use the MisarBlog Swift SDK
Installation
Add to Package.swift:
dependencies: [
.package(url: "https://github.com/misarai/misarblog-swift.git", from: "1.0.0"),
],
targets: [
.target(name: "MyApp", dependencies: [
.product(name: "MisarBlog", package: "misarblog-swift"),
]),
]
Quick Start
import MisarBlog
let client = MisarBlogClient(apiKey: ProcessInfo.processInfo.environment["MISARBLOG_API_KEY"]!)
let posts = try await client.posts.list(username: "johndoe")
for post in posts.data {
print("\(post.title) — \(post.slug)")
}
Generate an Embed URL
let url = client.embed.url(username: "johndoe", theme: "dark")
print(url)
// Single post
let postUrl = client.embed.url(username: "johndoe", slug: "my-first-post")
Available Methods
| Method | Description |
|--------|-------------|
| client.posts.list(username:params:) | List posts for a user |
| client.posts.get(username:slug:) | Get a single post by slug |
| client.embed.url(username:slug:theme:) | Generate an embed URL |
| client.auth.refreshToken(_:) | Refresh a session token |
| client.webhooks.list() | List webhook endpoints |
| client.webhooks.create(_:) | Register a webhook |
| client.webhooks.delete(_:) | Delete a webhook |
Error Handling
import MisarBlog
do {
let posts = try await client.posts.list(username: "johndoe")
} catch let error as MisarBlogAPIError {
print("API error \(error.statusCode): \(error.message)")
} catch {
print("Error: \(error.localizedDescription)")
}