# click.croft.inkwell.poem

> Published by [ewancroft.uk](https://lexicon.garden/identity/did:plc:ofrbh253gwicbkc5nktqepol)

## Description

Poetry content payload. Used as the value of the `content` union field inside a `site.standard.document` record. Not a standalone record type.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ofrbh253gwicbkc5nktqepol/click.croft.inkwell.poem)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ofrbh253gwicbkc5nktqepol/click.croft.inkwell.poem/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ofrbh253gwicbkc5nktqepol/click.croft.inkwell.poem/examples)

## Definitions

### `click.croft.inkwell.poem`

**Type**: `object`

A poem's body and poetic metadata. Set `$type` to `click.croft.inkwell.poem` when embedding inside `site.standard.document#content`.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `body` | `string` | Yes | The full text of the poem. Newlines (\n) represent line breaks; double newlines (\n\n) represent stanza breaks. No markdown — use AT Protocol facets for any inline formatting if needed. |
| `form` | `string` | No | The poetic form. Free text — use well-known values where possible (e.g. 'sonnet', 'haiku', 'villanelle', 'ghazal', 'ode', 'elegy', 'free-verse', 'prose-poem', 'concrete', 'erasure'). |
| `meter` | `string` | No | The metrical pattern, if applicable (e.g. 'iambic-pentameter', 'dactylic-hexameter', 'trochaic-octameter', 'syllabic-7-5-7'). |
| `language` | `string` | No | BCP-47 language tag for the poem's language (e.g. 'en', 'fr', 'cy', 'ja', 'gd'). Defaults to the author's profile language if omitted. |
| `lineCount` | `integer` | No | Total number of lines in the poem. Clients may auto-calculate this from the body. |
| `inspiredBy` | `string` (at-uri) | No | AT URI of a `site.standard.document` record that directly inspired or is responded to by this poem. |
| `stanzaCount` | `integer` | No | Total number of stanzas. Clients may auto-calculate by counting double-newline separators. |
| `originalLanguage` | `string` | No | BCP-47 language tag of the source language, if this poem is a translation. |

## Raw Schema

```json
{
  "id": "click.croft.inkwell.poem",
  "defs": {
    "main": {
      "type": "object",
      "required": [
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "maxLength": 100000,
          "description": "The full text of the poem. Newlines (\\n) represent line breaks; double newlines (\\n\\n) represent stanza breaks. No markdown — use AT Protocol facets for any inline formatting if needed.",
          "maxGraphemes": 10000
        },
        "form": {
          "type": "string",
          "maxLength": 1000,
          "description": "The poetic form. Free text — use well-known values where possible (e.g. 'sonnet', 'haiku', 'villanelle', 'ghazal', 'ode', 'elegy', 'free-verse', 'prose-poem', 'concrete', 'erasure').",
          "maxGraphemes": 100
        },
        "meter": {
          "type": "string",
          "maxLength": 1000,
          "description": "The metrical pattern, if applicable (e.g. 'iambic-pentameter', 'dactylic-hexameter', 'trochaic-octameter', 'syllabic-7-5-7').",
          "maxGraphemes": 100
        },
        "language": {
          "type": "string",
          "maxLength": 20,
          "description": "BCP-47 language tag for the poem's language (e.g. 'en', 'fr', 'cy', 'ja', 'gd'). Defaults to the author's profile language if omitted."
        },
        "lineCount": {
          "type": "integer",
          "minimum": 1,
          "description": "Total number of lines in the poem. Clients may auto-calculate this from the body."
        },
        "inspiredBy": {
          "type": "string",
          "format": "at-uri",
          "description": "AT URI of a `site.standard.document` record that directly inspired or is responded to by this poem."
        },
        "stanzaCount": {
          "type": "integer",
          "minimum": 1,
          "description": "Total number of stanzas. Clients may auto-calculate by counting double-newline separators."
        },
        "originalLanguage": {
          "type": "string",
          "maxLength": 20,
          "description": "BCP-47 language tag of the source language, if this poem is a translation."
        }
      },
      "description": "A poem's body and poetic metadata. Set `$type` to `click.croft.inkwell.poem` when embedding inside `site.standard.document#content`."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Poetry content payload. Used as the value of the `content` union field inside a `site.standard.document` record. Not a standalone record type."
}
```
