Misar IO Docs

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}');
}