net.wireservice.content
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"border": {
"description": "Border definition. The stroke property defines the line style; the boolean flags control which sides are drawn (all true by default when omitted).",
"properties": {
"bottom": {
"type": "boolean"
},
"left": {
"type": "boolean"
},
"right": {
"type": "boolean"
},
"stroke": {
"ref": "net.wireservice.defs#strokeStyle",
"type": "ref"
},
"top": {
"type": "boolean"
}
},
"type": "object"
},
"componentLayoutValues": {
"description": "The actual layout values: column placement, margins, padding, alignment, sizing. Used as the values payload for both namedComponentLayout (defaults) and conditionalComponentLayout (overrides).",
"properties": {
"columnSpan": {
"description": "Number of columns this component spans.",
"minimum": 1,
"type": "integer"
},
"columnStart": {
"description": "Starting column index (zero-based).",
"minimum": 0,
"type": "integer"
},
"horizontalContentAlignment": {
"knownValues": [
"left",
"center",
"right"
],
"maxLength": 64,
"type": "string"
},
"ignoreDocumentGutter": {
"description": "Which sides should ignore the document gutter.",
"knownValues": [
"none",
"left",
"right",
"both"
],
"maxLength": 64,
"type": "string"
},
"ignoreDocumentMargin": {
"description": "Which sides should ignore the document margin.",
"knownValues": [
"none",
"left",
"right",
"both"
],
"maxLength": 64,
"type": "string"
},
"margin": {
"ref": "net.wireservice.defs#margin",
"type": "ref"
},
"maximumContentWidth": {
"ref": "net.wireservice.defs#measurement",
"type": "ref"
},
"minimumHeight": {
"ref": "net.wireservice.defs#measurement",
"type": "ref"
},
"padding": {
"ref": "net.wireservice.defs#padding",
"type": "ref"
}
},
"type": "object"
},
"componentStyleValues": {
"description": "The actual visual style values: background color, border, corner radius, opacity. Used as the values payload for both namedComponentStyle (defaults) and conditionalComponentStyle (overrides).",
"properties": {
"backgroundColor": {
"description": "Background color as hex string (e.g., '#F7F7F7').",
"maxLength": 64,
"type": "string"
},
"border": {
"ref": "#border",
"type": "ref"
},
"cornerRadius": {
"description": "Corner radius in points.",
"minimum": 0,
"type": "integer"
},
"opacity": {
"description": "Opacity as integer 0-100 (100 = fully opaque).",
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"conditionalComponentLayout": {
"description": "Conditional override for a named component layout. The values field carries the override payload; conditions describe when it applies.",
"properties": {
"conditions": {
"description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
"items": {
"ref": "net.wireservice.defs#condition",
"type": "ref"
},
"type": "array"
},
"values": {
"description": "Override values. Fields not set here keep the parent's defaults.",
"ref": "#componentLayoutValues",
"type": "ref"
}
},
"required": [
"conditions"
],
"type": "object"
},
"conditionalComponentStyle": {
"description": "Conditional override for a named component style. The values field carries the override payload; conditions describe when it applies.",
"properties": {
"conditions": {
"description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
"items": {
"ref": "net.wireservice.defs#condition",
"type": "ref"
},
"type": "array"
},
"values": {
"description": "Override values. Fields not set here keep the parent's defaults.",
"ref": "#componentStyleValues",
"type": "ref"
}
},
"required": [
"conditions"
],
"type": "object"
},
"conditionalTextStyle": {
"description": "Conditional override for a named text style. The values field carries the override payload; conditions describe when it applies.",
"properties": {
"conditions": {
"description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
"items": {
"ref": "net.wireservice.defs#condition",
"type": "ref"
},
"type": "array"
},
"values": {
"description": "Override values. Fields not set here keep the parent's defaults.",
"ref": "#textStyleValues",
"type": "ref"
}
},
"required": [
"conditions"
],
"type": "object"
},
"correction": {
"description": "A notice appended to an article after publication.",
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"kind": {
"knownValues": [
"correction",
"clarification",
"update",
"editorsNote"
],
"maxLength": 64,
"type": "string"
},
"text": {
"description": "Notice text as an array of text runs with optional formatting marks.",
"items": {
"ref": "net.wireservice.defs#textRun",
"type": "ref"
},
"type": "array"
}
},
"required": [
"kind",
"text",
"createdAt"
],
"type": "object"
},
"documentLayout": {
"description": "Document-level layout grid defining the column structure for component placement.",
"properties": {
"columns": {
"description": "Number of columns in the layout grid.",
"minimum": 1,
"type": "integer"
},
"gutter": {
"description": "Gutter width between columns in points.",
"minimum": 0,
"type": "integer"
},
"margin": {
"description": "Document margin in points.",
"minimum": 0,
"type": "integer"
},
"width": {
"description": "Maximum layout width in points.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"columns",
"width"
],
"type": "object"
},
"main": {
"description": "Apple News Format-derived rich article content for standard.site documents. Plugs into the open content union of site.standard.document.",
"properties": {
"blob": {
"description": "External JSON blob containing the components array. Used when content exceeds the record size limit. Mutually exclusive with the inline components array.",
"type": "blob"
},
"blobRefs": {
"description": "Blob references used within content. Required in blob mode to prevent garbage collection of image and media blobs.",
"items": {
"type": "blob"
},
"type": "array"
},
"componentLayouts": {
"description": "Named component layout definitions. Components reference these by name via their layout field.",
"items": {
"ref": "#namedComponentLayout",
"type": "ref"
},
"type": "array"
},
"componentStyles": {
"description": "Named component style definitions. Components reference these by name via their style field.",
"items": {
"ref": "#namedComponentStyle",
"type": "ref"
},
"type": "array"
},
"componentTextStyles": {
"description": "Named text style definitions. Text components reference these by name via their textStyle field.",
"items": {
"ref": "#namedTextStyle",
"type": "ref"
},
"type": "array"
},
"components": {
"description": "Inline component array. Used when content fits within the record size limit.",
"items": {
"closed": false,
"refs": [
"net.wireservice.component.body",
"net.wireservice.component.heading",
"net.wireservice.component.image",
"net.wireservice.component.photo",
"net.wireservice.component.video",
"net.wireservice.component.audio",
"net.wireservice.component.gallery",
"net.wireservice.component.container",
"net.wireservice.component.divider",
"net.wireservice.component.quote",
"net.wireservice.component.byline",
"net.wireservice.component.embed",
"net.wireservice.component.map",
"net.wireservice.component.linkButton",
"net.wireservice.component.adSlot"
],
"type": "union"
},
"type": "array"
},
"corrections": {
"description": "Published corrections, clarifications, and updates, oldest first. Entries are appended, never edited or removed.",
"items": {
"ref": "#correction",
"type": "ref"
},
"type": "array"
},
"language": {
"description": "BCP-47 language code for the article content.",
"format": "language",
"maxLength": 64,
"type": "string"
},
"layout": {
"description": "Document-level layout grid. Overrides the stylesheet's default grid if a stylesheet is referenced.",
"ref": "#documentLayout",
"type": "ref"
},
"stylesheet": {
"description": "AT URI of a net.wireservice.stylesheet record providing default named layouts, styles, and text styles. Document-level componentLayouts/componentStyles/componentTextStyles entries with the same name override the stylesheet's.",
"format": "at-uri",
"type": "string"
}
},
"type": "object"
},
"namedComponentLayout": {
"description": "A named component layout definition controlling column placement, margins, and sizing. Components reference these by the name field.",
"properties": {
"conditional": {
"description": "Conditional overrides. Each entry's values replace the layout's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
"items": {
"ref": "#conditionalComponentLayout",
"type": "ref"
},
"type": "array"
},
"name": {
"description": "Identifier for this layout, referenced by components.",
"maxLength": 256,
"type": "string"
},
"values": {
"description": "Default layout values. Conditional entries can override individual fields.",
"ref": "#componentLayoutValues",
"type": "ref"
}
},
"required": [
"name"
],
"type": "object"
},
"namedComponentStyle": {
"description": "A named component style definition controlling visual appearance. Components reference these by the name field.",
"properties": {
"conditional": {
"description": "Conditional overrides. Each entry's values replace the style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
"items": {
"ref": "#conditionalComponentStyle",
"type": "ref"
},
"type": "array"
},
"name": {
"description": "Identifier for this style, referenced by components.",
"maxLength": 256,
"type": "string"
},
"values": {
"description": "Default style values. Conditional entries can override individual fields.",
"ref": "#componentStyleValues",
"type": "ref"
}
},
"required": [
"name"
],
"type": "object"
},
"namedTextStyle": {
"description": "A named text style definition. Text components reference these by the name field.",
"properties": {
"conditional": {
"description": "Conditional overrides. Each entry's values replace the text style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
"items": {
"ref": "#conditionalTextStyle",
"type": "ref"
},
"type": "array"
},
"name": {
"description": "Identifier for this style, referenced by components.",
"maxLength": 256,
"type": "string"
},
"values": {
"description": "Default text style values. Conditional entries can override individual fields.",
"ref": "#textStyleValues",
"type": "ref"
}
},
"required": [
"name"
],
"type": "object"
},
"textStyleValues": {
"description": "The actual text style values: font, size, color, alignment, spacing, decoration. Used as the values payload for both namedTextStyle (defaults) and conditionalTextStyle (overrides).",
"properties": {
"backgroundColor": {
"description": "Text background color as hex string.",
"maxLength": 64,
"type": "string"
},
"firstLineIndent": {
"description": "First line indent in points.",
"minimum": 0,
"type": "integer"
},
"fontFamily": {
"description": "Font family name (e.g., 'Georgia', 'Helvetica Neue').",
"maxLength": 256,
"type": "string"
},
"fontName": {
"description": "PostScript font name for precise font selection.",
"maxLength": 256,
"type": "string"
},
"fontSize": {
"description": "Font size in points.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"fontStyle": {
"knownValues": [
"normal",
"italic",
"oblique"
],
"maxLength": 64,
"type": "string"
},
"fontWeight": {
"description": "Font weight (100 = thin, 400 = normal, 700 = bold, 900 = black).",
"maximum": 900,
"minimum": 100,
"type": "integer"
},
"hyphenation": {
"description": "Whether to enable automatic hyphenation.",
"type": "boolean"
},
"lineHeight": {
"description": "Line height in points.",
"minimum": 1,
"type": "integer"
},
"paragraphSpacingAfter": {
"description": "Space after paragraphs in points.",
"minimum": 0,
"type": "integer"
},
"paragraphSpacingBefore": {
"description": "Space before paragraphs in points.",
"minimum": 0,
"type": "integer"
},
"strikethrough": {
"description": "Whether text has strikethrough decoration.",
"type": "boolean"
},
"textAlignment": {
"knownValues": [
"left",
"center",
"right",
"justified",
"none"
],
"maxLength": 64,
"type": "string"
},
"textColor": {
"description": "Text color as hex string (e.g., '#333333').",
"maxLength": 64,
"type": "string"
},
"textTransform": {
"knownValues": [
"uppercase",
"lowercase",
"capitalize",
"none"
],
"maxLength": 64,
"type": "string"
},
"tracking": {
"description": "Letter spacing in hundredths of a point.",
"type": "integer"
},
"underline": {
"description": "Whether text has underline decoration.",
"type": "boolean"
},
"verticalAlignment": {
"knownValues": [
"superscript",
"subscript",
"baseline"
],
"maxLength": 64,
"type": "string"
}
},
"type": "object"
}
},
"id": "net.wireservice.content",
"lexicon": 1
}
Metadata
- DID
-
did:plc:lktj64hp7lc3fzuf6iyy7lwj - CID
-
bafyreidka24ieeggjkutzgq44llhuwioko4opzrpdlo72jhnlcqaowso2i - Indexed At
- 2026-10-12 21:12 UTC
- AT-URI
-
at://did:plc:lktj64hp7lc3fzuf6iyy7lwj/com.atproto.lexicon.schema/net.wireservice.content
Version History (2 versions)
Referenced Schemas (21)
- net.wireservice.component.adSlot
- net.wireservice.component.audio
- net.wireservice.component.body
- net.wireservice.component.byline
- net.wireservice.component.container
- net.wireservice.component.divider
- net.wireservice.component.embed
- net.wireservice.component.gallery
- net.wireservice.component.heading
- net.wireservice.component.image
- net.wireservice.component.linkButton
- net.wireservice.component.map
- net.wireservice.component.photo
- net.wireservice.component.quote
- net.wireservice.component.video
- net.wireservice.defs#condition
- net.wireservice.defs#margin
- net.wireservice.defs#measurement
- net.wireservice.defs#padding
- net.wireservice.defs#strokeStyle
- net.wireservice.defs#textRun
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Body text component. The primary component for article prose.
-
support.supper.content object
Portable Supper rich content embedded in site.standard.document.content; this is not a repository record. Metadata, author, title, dates and plaintext fallback belong to the enclosing Standard Site document. At most 500…