# blog.rebase.webring.ring

> Published by [rebase.blog](https://lexicon.garden/identity/did:web:rebase.blog)

✓ This is the authoritative definition for this NSID.

## Description

A webring: a named, themed, ordered circle of publications, curated by the account whose repo holds this record

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:rebase.blog/blog.rebase.webring.ring)
- [Documentation](https://lexicon.garden/lexicon/did:web:rebase.blog/blog.rebase.webring.ring/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:rebase.blog/blog.rebase.webring.ring/examples)

## Definitions

### `blog.rebase.webring.ring`

**Type**: `record`

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `button` | `blob` | No | Small image identifying the ring, shown beside its name in member sites' ring navigation |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the ring was created |
| `description` | `string` | No | Plain text theme of the ring. Not markdown or HTML; renderers display it as text. |
| `members` | `array` | No | Publications the owner lists in the ring. Array order is the circle's order. A listed publication is a member only when its owner's repo also holds a blog.rebase.webring.membership record naming this ring and that publication. |
| `name` | `string` | Yes | Display name of the ring |
| `rules` | `string` | No | Plain text rules a member publication is expected to follow. Not markdown or HTML; renderers display it as text. |
| `tags` | `array` | No | Topics the ring is about |
| `updatedAt` | `string` (datetime) | No | Timestamp when the ring was last edited |
| `url` | `string` (uri) | No | External homepage for the ring, if it has one |

### `blog.rebase.webring.ring#member`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `addedAt` | `string` (datetime) | No | Timestamp when the owner added this publication to the ring |
| `publication` | `string` (at-uri) | Yes | AT URI of the member's site.standard.publication record. Name, URL, and icon are resolved from that record, never copied here. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "button": {
            "accept": [
              "image/png",
              "image/gif",
              "image/webp"
            ],
            "description": "Small image identifying the ring, shown beside its name in member sites' ring navigation",
            "maxSize": 100000,
            "type": "blob"
          },
          "createdAt": {
            "description": "Timestamp when the ring was created",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Plain text theme of the ring. Not markdown or HTML; renderers display it as text.",
            "maxGraphemes": 3000,
            "type": "string"
          },
          "members": {
            "description": "Publications the owner lists in the ring. Array order is the circle's order. A listed publication is a member only when its owner's repo also holds a blog.rebase.webring.membership record naming this ring and that publication.",
            "items": {
              "ref": "#member",
              "type": "ref"
            },
            "maxLength": 1000,
            "type": "array"
          },
          "name": {
            "description": "Display name of the ring",
            "maxGraphemes": 64,
            "type": "string"
          },
          "rules": {
            "description": "Plain text rules a member publication is expected to follow. Not markdown or HTML; renderers display it as text.",
            "maxGraphemes": 3000,
            "type": "string"
          },
          "tags": {
            "description": "Topics the ring is about",
            "items": {
              "maxGraphemes": 64,
              "type": "string"
            },
            "maxLength": 10,
            "type": "array"
          },
          "updatedAt": {
            "description": "Timestamp when the ring was last edited",
            "format": "datetime",
            "type": "string"
          },
          "url": {
            "description": "External homepage for the ring, if it has one",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "member": {
      "properties": {
        "addedAt": {
          "description": "Timestamp when the owner added this publication to the ring",
          "format": "datetime",
          "type": "string"
        },
        "publication": {
          "description": "AT URI of the member's site.standard.publication record. Name, URL, and icon are resolved from that record, never copied here.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "publication"
      ],
      "type": "object"
    }
  },
  "description": "A webring: a named, themed, ordered circle of publications, curated by the account whose repo holds this record",
  "id": "blog.rebase.webring.ring",
  "lexicon": 1
}
```
