Dart / Flutter SDK
Install and use the MisarBlog Dart SDK
Installation
Add to pubspec.yaml:
dependencies:
misarblog: ^0.1.0
Then run:
dart pub get
Quick Start
import 'package:misarblog/misarblog.dart';
void main() async {
final client = MisarBlogClient(apiKey: Platform.environment['MISARBLOG_API_KEY']!);
final posts = await client.posts.list('johndoe');
for (final post in posts.data) {
print('${post.title} — ${post.slug}');
}
client.close();
}
Generate an Embed URL
final url = client.embed.url('johndoe', theme: 'dark');
print(url);
// Single post
final postUrl = client.embed.url('johndoe', slug: 'my-first-post', theme: 'light');
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(token) | Refresh a session token |
| client.webhooks.list() | List webhook endpoints |
| client.webhooks.create(request) | Register a webhook |
| client.webhooks.delete(id) | Delete a webhook |
| client.close() | Close the HTTP client |
Error Handling
import 'package:misarblog/misarblog.dart';
try {
final posts = await client.posts.list('johndoe');
} on MisarBlogApiException catch (e) {
print('API error ${e.statusCode}: ${e.message}');
} on MisarBlogNetworkException catch (e) {
print('Network error: ${e.message}');
}