Project

misarblog

0.0
The project is in a healthy, maintained state
Ruby client for the developer API of Misar.Blog (misar.blog), a hosted blogging platform. Publish or schedule Markdown articles, save and update drafts, group articles into series, read comment threads, reactions and follows, pull an analytics summary and live plan/quota state, generate SEO/AEO/GEO title suggestions, completions and AI cover images, search articles, profiles and tags, and build public iframe embed URLs — all 25 key-authenticated operations. Standard library only (net/http): mbk_ bearer auth, retry with exponential back-off, and a typed PlanLimitError carrying the upgrade URL.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 3.13
~> 3.23
 Project Readme

Misar.Blog SDKs

Official client SDKs for Misar.Blog — embed article/profile widgets and handle auth token refresh.

Packages

Language Package Registry
TypeScript / JavaScript @misar/blog npm
CLI @misarblog/cli npm
Python misarblog-sdk PyPI
Go github.com/misar-ai/misarblog-go pkg.go.dev
Ruby misarblog RubyGems
PHP misarblog/sdk Packagist
Java blog.misar:misarblog-sdk Maven Central
Kotlin blog.misar:misarblog-sdk-kotlin Maven Central
C# MisarBlog.SDK NuGet
Rust misarblog-sdk crates.io
Swift MisarBlog Swift Package Index
Dart misarblog_sdk pub.dev
Flutter misarblog_flutter pub.dev
C libmisarblog GitHub Releases
C++ libmisarblog_cpp GitHub Releases
Solidity @misarblog/contracts npm

Core API

Every SDK exposes the same two primitives:

embedUrl(username, slug?, theme?) — returns the embed URL for an article or profile widget.

refreshToken(token, baseUrl?) — exchanges a token via POST /api/auth/refresh and returns { token, expiresAt }.

Publishing

Releases are triggered by git tags using the pattern <lang>/v<semver>:

git tag typescript/v1.0.0 && git push origin typescript/v1.0.0
git tag python/v1.0.0    && git push origin python/v1.0.0
# etc.

Required Secrets

Set these in the GitHub repo Settings → Secrets and variables → Actions:

Secret Used by
NPM_TOKEN typescript, cli, solidity
PYPI_API_TOKEN python (fallback; OIDC preferred)
RUBYGEMS_API_KEY ruby
PACKAGIST_API_TOKEN php
OSSRH_USERNAME java, kotlin
OSSRH_TOKEN java, kotlin
GPG_PRIVATE_KEY java, kotlin
GPG_KEY_ID kotlin
GPG_PASSPHRASE java, kotlin
NUGET_API_KEY csharp
CARGO_REGISTRY_TOKEN rust
PUB_CREDENTIALS dart, flutter