indieweb 0.7.0

A collection of utilities for working with the IndieWeb.
Documentation

IndieWeb Library

A Rust library for implementing IndieWeb standards and algorithms.

Overview

Provides tools for IndieWeb protocols including authentication, publishing, and communication standards.

Installation

Install from crates.io for stable releases:

cargo add indieweb

Or from Git for the latest development version:

cargo add --git https://git.sr.ht/~jacky/indieweb-rust indieweb

Modules

  • Algorithms: Link resolution, authorship detection, representative h-card parsing
  • Standards: IndieAuth, Micropub, Webmention, WebSub implementations
  • Traits: Common interfaces for IndieWeb interactions

Experimental Features

The following features are experimental and may change in future releases. Enable them with Cargo feature flags:

Feature Description Specification
WebSub Real-time content notification protocol WebSub
Microsub Feed consumption and interaction API Microsub
Vouch Anti-spam extension for Webmention Vouch
Salmention Upstream response propagation Salmention
Authorship Post authorship resolution algorithm Authorship
Micropub Channels Channel management extensions Channels
Micropub Syndication Content syndication extensions Syndication
Micropub Relations Post relationship extensions Relations

Usage Examples

# Enable WebSub support
indieweb = { version = "0.6", features = ["experimental_websub"] }

# Enable multiple experimental features
indieweb = { version = "0.6", features = ["experimental_websub", "experimental_microsub"] }

# Enable all experimental features
indieweb = { version = "0.6", features = ["experimental"] }

Note: Experimental features may have breaking changes between releases. Use with caution in production applications.

Usage

For local development, add to your Cargo.toml:

[dependencies]
indieweb = { path = "../path/to/library" }

For detailed API usage, see the source code.