Swift SDK
Install and use the MisarBlog Swift SDK
Installation
Add the package in Xcode or Package.swift:
// Package.swift
dependencies: [
.package(url: "https://github.com/Misar-AI/misarblog-swift.git", from: "0.1.0"),
],
targets: [
.target(dependencies: [.product(name: "MisarBlog", package: "misarblog-swift")]),
]
Embed URL
import MisarBlog
let client = MisarBlog()
// Single article
let url = client.embedURL(username: "gulshan", slug: "my-article", theme: "dark")
// → URL("https://misar.blog/gulshan/my-article/embed?theme=dark")
// Profile embed
let url = client.embedURL(username: "gulshan")
// → URL("https://misar.blog/gulshan/embed")
Token refresh
import MisarBlog
let client = MisarBlog()
Task {
let result = try await client.refreshToken(token: "your-current-token")
print(result.token)
print(result.expiresAt) // Int64 Unix timestamp
}
Custom base URL:
let result = try await client.refreshToken(token: "your-current-token", baseURL: "https://your-instance.example.com")
API reference
embedURL(username: String, slug: String? = nil, theme: String = "auto") -> URL
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| username | String | — | MisarBlog username |
| slug | String? | nil | Article slug — nil for profile embed |
| theme | String | "auto" | "auto" | "light" | "dark" |
refreshToken(token: String, baseURL: String = "https://misar.blog") async throws -> TokenResult
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| token | String | — | Current token |
| baseURL | String | "https://misar.blog" | Override base URL |
TokenResult is a Codable struct: token: String, expiresAt: Int64.
Throws URLError on network or response errors.