Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Sdks

TypeScript SDK

Embed MisarBlog content in your application with the @misar/blog TypeScript SDK

Installation

npm install @misar/blog
# or
pnpm add @misar/blog

Embed a Profile or Post

import { embed, embedUrl } from '@misar/blog';

// Get just the embed URL
const url = embedUrl({ username: 'johndoe' });

// Embed directly into a DOM container
const { iframe, destroy } = embed(document.getElementById('blog-container')!, {
  username: 'johndoe',
  width: '100%',
  height: '600px',
  theme: 'dark',
});

// Later, remove the embed
destroy();

Embed a Specific Post

const url = embedUrl({
  username: 'johndoe',
  slug: 'my-first-post',
  theme: 'light',
});

Auth Token Refresh

For authenticated embeds (e.g. paywalled content), refresh the session token:

import { refreshToken, getToken, clearToken } from '@misar/blog';

// Refresh and store token in localStorage
const result = await refreshToken({
  token: 'current-session-token',
  baseUrl: 'https://misar.blog', // optional, defaults to production
});

// Read stored token
const token = getToken(); // returns string | null

// Clear stored token on logout
clearToken();

API Reference

embedUrl(options)

Returns a URL string for the embed iframe.

OptionTypeDescription
usernamestringRequired. Blog author username
slugstring?Post slug for single-post embed
theme'light' | 'dark' | 'auto'Color theme (default: auto)
widthstring?CSS width for the iframe
heightstring?CSS height for the iframe

embed(container, options)

Appends an iframe to container and returns { iframe, destroy }.

refreshToken(options) / getToken() / clearToken()

Manage session tokens in localStorage under key "misar_blog_token".