Postnomic.Client 1.0.2

dotnet add package Postnomic.Client --version 1.0.2
                    
NuGet\Install-Package Postnomic.Client -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Postnomic.Client" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Postnomic.Client" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Postnomic.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Postnomic.Client --version 1.0.2
                    
#r "nuget: Postnomic.Client, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Postnomic.Client@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Postnomic.Client&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Postnomic.Client&version=1.0.2
                    
Install as a Cake Tool

Postnomic .NET Client SDK

The official .NET Client SDK for Postnomic -- the developer-first headless blog backend. Add a fully-featured blog to any .NET application with a single NuGet package and a few lines of code.

License: MIT .NET 10

Why Postnomic?

Postnomic gives you everything you need to run a blog -- content management, analytics, comments, multi-user collaboration, media hosting -- all exposed through a clean REST API. You build the frontend; we handle the backend.

  • REST API with full OpenAPI documentation
  • Multi-blog support with team roles and permissions
  • Built-in analytics, comment moderation, and content scheduling
  • EU-hosted infrastructure with GDPR compliance
  • Free tier to get started -- no credit card required

Sign up at www.postnomic.com and have your blog backend running in minutes.

Packages

Package Description NuGet
Postnomic.Client.Abstractions Interfaces, DTOs, and configuration options NuGet
Postnomic.Client HTTP client implementation with optional caching NuGet
Postnomic.Client.AspNetCore Drop-in Razor Pages Area for ASP.NET Core apps NuGet
Postnomic.Client.Blazor Blazor components for Server and WebAssembly NuGet

Quick Start

ASP.NET Core (Razor Pages / MVC)

dotnet add package Postnomic.Client.AspNetCore
// Program.cs
builder.Services.AddPostnomicBlog(options =>
{
    options.BlogSlug = "my-blog";
    options.ApiKey = "pk_live_...";
    options.BaseUrl = "https://api.postnomic.com";
});

// That's it -- your blog is live at /blog

Blazor (Server / WebAssembly)

dotnet add package Postnomic.Client.Blazor
// Program.cs
builder.Services.AddPostnomicBlog(options =>
{
    options.BlogSlug = "my-blog";
    options.ApiKey = "pk_live_...";
    options.BaseUrl = "https://api.postnomic.com";
});

HTTP Client Only

If you want full control over rendering, use the base client package:

dotnet add package Postnomic.Client
builder.Services.AddPostnomicClient(options =>
{
    options.BlogSlug = "my-blog";
    options.ApiKey = "pk_live_...";
    options.BaseUrl = "https://api.postnomic.com";
});

// Inject IPostnomicBlogService anywhere
public class MyController(IPostnomicBlogService blog)
{
    public async Task<IActionResult> Index()
    {
        var posts = await blog.GetPostsAsync();
        return View(posts);
    }
}

Configuration

All packages are configured through PostnomicClientOptions:

builder.Services.AddPostnomicBlog(options =>
{
    // Required
    options.BlogSlug = "my-blog";
    options.ApiKey = "pk_live_...";
    options.BaseUrl = "https://api.postnomic.com";

    // Optional: customize the blog URL path (default: /blog)
    options.BasePath = "/articles";

    // Optional: enable client-side caching
    options.Cache = new PostnomicCacheOptions
    {
        Enabled = true,
        PostListDuration = TimeSpan.FromMinutes(5),
        PostDetailDuration = TimeSpan.FromMinutes(10),
    };
});

Multi-Blog Support

Host multiple blogs in a single application using named registrations:

builder.Services.AddPostnomicBlog("engineering", options =>
{
    options.BlogSlug = "engineering-blog";
    options.ApiKey = "pk_live_eng_...";
    options.BasePath = "/engineering";
});

builder.Services.AddPostnomicBlog("product", options =>
{
    options.BlogSlug = "product-updates";
    options.ApiKey = "pk_live_prod_...";
    options.BasePath = "/product";
});

Features

The SDK gives you access to the full Postnomic API:

  • Posts -- list, filter by tag/category, full-text search, pagination
  • Post Detail -- full HTML content, metadata, author info, related posts
  • Comments -- threaded comments with configurable required fields
  • Tags & Categories -- full taxonomy support
  • Authors -- profiles with bio, social links, certifications, education
  • Popular Posts -- trending content based on analytics
  • Blog Info -- blog metadata, layout, and configuration
  • Client-Side Caching -- optional in-memory cache with per-resource TTLs and explicit invalidation via IPostnomicCacheControl

Requirements

  • .NET 10.0 or later
  • A Postnomic account (sign up free)
  • An API key from your Postnomic dashboard

Project Structure

src/
  Postnomic.Client.Abstractions/   # Interfaces and DTOs (no dependencies)
  Postnomic.Client/                # HTTP client implementation
  Postnomic.Client.AspNetCore/     # Razor Pages integration
  Postnomic.Client.Blazor/         # Blazor component integration
tests/
  Postnomic.Client.Abstractions.Tests/
  Postnomic.Client.Tests/
  Postnomic.Client.AspNetCore.Tests/
  Postnomic.Client.Blazor.Tests/

Development

# Build
dotnet build Postnomic.Client.slnx

# Run tests
dotnet test Postnomic.Client.slnx

# Pack NuGet packages
dotnet pack Postnomic.Client.slnx -c Release

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License -- see the LICENSE file for details.


Built with care by ThreeB IT GmbH in Ibbenbueren, Germany.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Postnomic.Client:

Package Downloads
Postnomic.Client.Blazor

Blazor components for embedding a Postnomic blog. The blog URL is configurable via PostnomicClientOptions.BasePath (default: /blog).

Postnomic.Client.AspNetCore

Razor Pages Area for rendering a Postnomic blog in ASP.NET Core MVC/Razor Pages applications. The blog URL is configurable via PostnomicClientOptions.BasePath (default: /blog).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2 109 5/4/2026
1.0.1 117 3/23/2026
1.0.0 104 3/23/2026