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:

```bash
cargo add indieweb
```

Or from Git for the latest development version:

```bash
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]https://www.w3.org/TR/websub/         |
| Microsub             | Feed consumption and interaction API    | [Microsub]https://indieweb.org/Microsub-spec  |
| Vouch                | Anti-spam extension for Webmention      | [Vouch]https://indieweb.org/Vouch             |
| Salmention           | Upstream response propagation           | [Salmention]https://indieweb.org/Salmention   |
| Authorship           | Post authorship resolution algorithm    | [Authorship]https://indieweb.org/authorship   |
| Micropub Channels    | Channel management extensions           | [Channels]https://indieweb.org/channels       |
| Micropub Syndication | Content syndication extensions          | [Syndication]https://indieweb.org/syndication |
| Micropub Relations   | Post relationship extensions            | [Relations]https://indieweb.org/relation      |

### Usage Examples

```toml
# 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:

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

For detailed API usage, see the source code.