Standard.site — Shared lexicons for long-form publishing on AT Protocol.
Standard.site
Standard.site
Unverified

Shared lexicons for long-form publishing on AT Protocol.

Shared lexicons for long-form publishing on AT Protocol.

Standard.site is a community-maintained schema project for long-form publishing on AT Protocol. It defines shared lexicons for publications, documents, and subscriptions so apps and platforms can make long-form content easier to discover, verify, index, and move across the ATmosphere without each implementation inventing incompatible schemas.

Reviews
(0)

Be the first to review this product.

UpdatesView all
Document Lexicon
Document Lexiconimport { Table } from '@/app/components/docs' Document Lexicon The site.standard.document lexicon provides metadata for documents published on the web. Overview Documents may be standalone or associated with a publication. This lexicon can be used to store a document's content and its associated metadata. Schema Required Properties <Table headers={['Property', 'Type', 'Description']} rows={[ ['site', 'string', <>Points to a publication record <code>at://</code> or a publication url <code>https://</code> for loose documents. Avoid trailing slashes.</>], ['title', 'string', <>Title of the document. <code>maxLength: 5000</code> <code>maxGraphemes: 500</code></>], ['publishedAt', 'datetime', 'Timestamp of the documents publish time.'], ]} /> Optional Properties <Table headers={['Property', 'Type', 'Description']} rows={[ ['path', 'string', <>Combine with <code>site</code> or publication <code>url</code> to construct a canonical URL to the document. A slash should be included at the beginning of this value.</>], ['description', 'string', <>A brief description or excerpt from the document. <code>maxLength: 30000</code> <code>maxGraphemes: 3000</code></>], ['coverImage', 'blob', 'Image to used for thumbnail or cover image. Less than 1MB is size.'], ['content', 'union', <>Open union used to define the record's content. Each entry must specify a <code>$type</code></>], ['textContent', 'string', 'Plaintext representation of the documents contents. Should not contain markdown or other formatting.'], ['bskyPostRef', 'ref', 'Strong reference to a Bluesky post. Useful to keep track of comments off-platform.'], ['tags', 'array', <>Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags. <code>maxLength: 1280</code> <code>maxGraphemes: 128</code></>], ['updatedAt', 'datetime', 'Timestamp of the documents last edit.'], ]} /> Example Content Format The content property is an open union, allowing for extensibility. Each entry must specify a $type and may be extended with other lexicons to support additional content formats like Markdown, blocks, or other rich text. View the Lexicon - View full lexicon schema - Example record Best Practices - While we encourage avoid trailing slashes, some may not implement this in practice. If you are validating records, you should trim trailing slashes for site in your codebase. Related - Publication lexicon - Collections of documents - Verification - Link documents to web pages - Quick Start - Implementation guide
Feb 10, 2026
Publication Lexicon
Publication Lexiconimport { Table } from '@/app/components/docs' Publication Lexicon The site.standard.publication lexicon is used to describe information about a particular publication. Overview A publication represents a collection of documents published to the web. It includes important information about a publication including its location on the web, theming information, user preferences, and more. The publication lexicon is not a requirement, but is recommended when publishing collections of related documents. Schema Required Properties <Table headers={['Property', 'Type', 'Description']} rows={[ ['url', 'string', 'Base url for the publication. (ex: https://standard.site). This value will be combined with the document path to construct a full URL for the document. Avoid trailing slashes.'], ['name', 'string', <>Name of the publication. <code>maxLength: 5000</code> <code>maxGraphemes: 500</code></>], ]} /> Optional Properties <Table headers={['Property', 'Type', 'Description']} rows={[ ['icon', 'blob', 'Square image to identify the publication. Should be at least 256x256.'], ['description', 'string', <>Brief description of the publication. <code>maxLength: 30000</code> <code>maxGraphemes: 3000</code></>], ['basicTheme', 'ref', <>Simplified theme for tools and apps to utilize when displaying content. (ref → <a href="/docs/lexicons/theme">site.standard.theme.basic</a>)</>], ['preferences', 'object', 'Platform-specific preferences for the publication, including discovery and visibility settings.'], ['preferences.showInDiscover', 'boolean', 'Decides whether the publication should appear in discovery feeds.'], ]} /> Example View the Lexicon - View full lexicon schema - Example record Extensibility Lexicons are extendable. Additional properties may be added to better suit the needs of a project. Best Practices - While we encourage avoid trailing slashes, some may not implement this in practice. If you are validating records, you should trim trailing slashes for url in your codebase. Related - Document lexicon - Individual documents within publications - Theme lexicon - Publication theming - Verification - Link publications to a domain - Quick Start - Implementation guide
Feb 10, 2026
Frequently Asked Questions
Frequently Asked Questionsimport { StandardSite } from '@/app/components/docs' Frequently Asked Questions Common questions about <StandardSite /> and implementing the lexicons. General What is Standard.site? <StandardSite /> is a community-driven initiative to create shared lexicon schemas for long-form publishing on AT Protocol. It enables interoperability between different publishing platforms. Who created Standard.site? <StandardSite /> emerged from conversations between developers building long-form platforms on AT Protocol. It's maintained by the community and grows as builders identify shared needs. Technical Do I need to use all the lexicons? No. Applications can implement just the lexicons that make sense for their use case. The schemas are designed to work independently while supporting richer integrations when combined. Can I extend the schemas? The standard focuses on shared metadata properties. Applications are free to add additional properties, though they may not be understood by other platforms. Contributing How can I contribute? <StandardSite /> is developed in the open. Join the conversation on Bluesky or Tangled to propose changes or additions. How are changes decided? Changes are discussed openly in the community. The goal is to reach consensus among builders who are actively implementing the standard.
Feb 10, 2026
Mentions

Not concretely planned, but would love to support something like that eventually. Next step would probably be getting a language tag in @standard.site

5/19/26, 8:14 PM

まあstandard.siteがここまでこれたのは既に大手だったLeafletが主導してたとか独自部分と共通部分の分離とか色々な要因があるだろうけど、何にせよそう簡単に真似できるものではなさそう。

5/19/26, 6:55 PM

結局standard.siteはデファクトスタンダードの立場を勝ち取ってatproto.comブログにも使われるようになったけど、off protocolのメタデータは多分既存lexiconのどれとも互換性無いんだよな。現状のatprotoポッドキャストはまだどれも立場が弱い。

5/19/26, 6:52 PM