C# SDK
Install and use the MisarBlog C# SDK
Installation
dotnet add package MisarBlog
Requires .NET 8+.
Embed URL
using MisarBlog;
// Single article
string url = Embed.Url("gulshan", slug: "my-article", theme: "dark");
// → "https://misar.blog/gulshan/my-article/embed?theme=dark"
// Profile embed
string url = Embed.Url("gulshan");
// → "https://misar.blog/gulshan/embed"
Token refresh
using MisarBlog;
TokenResult result = await Auth.RefreshToken("your-current-token");
Console.WriteLine(result.Token);
Console.WriteLine(result.ExpiresAt); // long Unix timestamp
Custom base URL or reuse an HttpClient:
using var client = new HttpClient();
TokenResult result = await Auth.RefreshToken(
"your-current-token",
baseUrl: "https://your-instance.example.com",
client: client);
API reference
Embed.Url(string username, string? slug = null, string theme = "auto"): string
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| username | string | — | MisarBlog username |
| slug | string? | null | Article slug — null for profile embed |
| theme | string | "auto" | "auto" | "light" | "dark" |
Auth.RefreshToken(string token, string baseUrl = "https://misar.blog", HttpClient? client = null): Task<TokenResult>
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| token | string | — | Current token |
| baseUrl | string | "https://misar.blog" | Override base URL |
| client | HttpClient? | null | Reuse an existing client; if null, one is created and disposed internally |
TokenResult is a record: Token string, ExpiresAt long.
Throws HttpRequestException on failure.