···11+export { DocsSidebar } from './DocsSidebar'
22+export { DocsNav } from './DocsNav'
33+export { Table } from './Table'
44+export { LinkCard } from './LinkCard'
55+export { StandardSite } from './StandardSite'
66+export { ClickableHeading } from './ClickableHeading'
77+export { DocsPageMenu } from './DocsPageMenu'
+1
app/components/index.ts
···77export * from "@/app/components/ExpandableField";
88export * from "@/app/components/sections";
99export * from "@/app/components/icons";
1010+export * from "@/app/components/docs";
+3-3
app/components/sections/DefinitionsSection.tsx
···3838 </h2>
39394040 <p className="text-base sm:text-xl leading-snug tracking-tight text-muted">
4141- We currently define two main lexicons that cover the core building
4242- blocks of long-form platforms: where content lives, and what it
4343- contains.
4141+ We currently define three main lexicons that cover the core building
4242+ blocks of long-form platforms: where content lives, what it
4343+ contains, and how users connect with publications.
4444 </p>
45454646 <TabbedLexiconViewer tabs={ tabs } allSchemas={ allSchemas } />
···1414 "properties": {
1515 "path": {
1616 "type": "string",
1717- "description": "Combine with site or publication url to construct a canonical URL to the document. Prepend with a leading slash."
1717+ "description": "Combine with `site` or publication url to construct a canonical `URL` to the document. A slash should be included at the beginning of this value."
1818 },
1919 "site": {
2020 "type": "string",
2121 "format": "uri",
2222- "description": "Points to a publication record (at://) or a publication url (https://) for loose documents. Avoid trailing slashes."
2222+ "description": "Points to a publication record `at://` or a publication url `https://` for loose documents. Avoid trailing slashes."
2323 },
2424 "tags": {
2525 "type": "array",
···4040 "refs": [],
4141 "type": "union",
4242 "closed": false,
4343- "description": "Open union used to define the record's content. Each entry must specify a $type and may be extended with other lexicons to support additional content formats."
4343+ "description": "Open union used to define the record's content. Each entry must specify a `$type`"
4444 },
4545 "updatedAt": {
4646 "type": "string",
+3-3
app/data/lexicons/publication.json
···1414 "url": {
1515 "type": "string",
1616 "format": "uri",
1717- "description": "Base publication url (ex: https://standard.site). The canonical document URL is formed by combining this value with the document path."
1717+ "description": "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."
1818 },
1919 "icon": {
2020 "type": "blob",
···3333 "basicTheme": {
3434 "ref": "site.standard.theme.basic",
3535 "type": "ref",
3636- "description": "Simplified publication theme for tools and apps to utilize when displaying content."
3636+ "description": "Simplified theme for tools and apps to utilize when displaying content."
3737 },
3838 "description": {
3939 "type": "string",
···5656 "showInDiscover": {
5757 "type": "boolean",
5858 "default": true,
5959- "description": "Boolean which decides whether the publication should appear in discovery feeds."
5959+ "description": "Decides whether the publication should appear in discovery feeds."
6060 }
6161 },
6262 "description": "Platform-specific preferences for the publication, including discovery and visibility settings."
+1-1
app/data/lexicons/theme.basic.json
···3939 "description": "Color used for button text."
4040 }
4141 },
4242- "description": "A simplified theme definition for publications, providing basic color customization for content display across different platforms and applications."
4242+ "description": "A simplified theme definition, providing basic color customization for content display across different platforms and applications."
4343 }
4444 },
4545 "$type": "com.atproto.lexicon.schema",
···11+---
22+title: Frequently Asked Questions
33+description: Common questions about Standard.site and implementing the lexicons.
44+date: 2026-02-10
55+---
66+77+import { StandardSite } from '@/app/components/docs'
88+99+# Frequently Asked Questions
1010+1111+Common questions about <StandardSite /> and implementing the lexicons.
1212+1313+## General
1414+1515+### What is Standard.site?
1616+1717+<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.
1818+1919+### Who created Standard.site?
2020+2121+<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.
2222+2323+## Technical
2424+2525+### Do I need to use all the lexicons?
2626+2727+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.
2828+2929+### Can I extend the schemas?
3030+3131+The standard focuses on shared metadata properties. Applications are free to add additional properties, though they may not be understood by other platforms.
3232+3333+## Contributing
3434+3535+### How can I contribute?
3636+3737+<StandardSite /> is developed in the open. Join the conversation on Bluesky or [Tangled](https://tangled.org/standard.site) to propose changes or additions.
3838+3939+### How are changes decided?
4040+4141+Changes are discussed openly in the community. The goal is to reach consensus among builders who are actively implementing the standard.
+49
content/docs/implementations.mdx
···11+---
22+title: Implementations
33+description: Projects and tools using Standard.site lexicons to build interoperable platforms on AT Protocol.
44+date: 2026-02-10
55+---
66+77+import { LinkCard } from '@/app/components/docs'
88+99+import { StandardSite } from '@/app/components/docs'
1010+1111+# Implementations
1212+1313+Projects and tools using <StandardSite /> lexicons to build interoperable platforms on AT Protocol.
1414+1515+## Development Tools
1616+1717+<LinkCard url="https://site-validator.fly.dev" />
1818+1919+## Migration Tools
2020+2121+<LinkCard url="https://sequoia.pub/blog/introducing-sequoia/" />
2222+2323+## Indexes & Discovery
2424+2525+<LinkCard url="https://read.pckt.blog" />
2626+2727+<LinkCard url="https://docs.surf" />
2828+2929+<LinkCard url="https://standard-search.octet-stream.net/" />
3030+3131+## Building Your Own
3232+3333+Building a tool or platform using <StandardSite /> lexicons? We'd love to hear about it! <StandardSite /> is a community-driven initiative, and new implementations help grow the ecosystem.
3434+3535+### What to Build
3636+3737+Some ideas for new implementations:
3838+3939+- **RSS bridges**: Convert <StandardSite /> records to RSS/Atom feeds
4040+- **Static site generators**: Export <StandardSite /> content to static HTML
4141+- **Mobile readers**: Native mobile apps for reading <StandardSite /> content
4242+- **Import tools**: Import content from existing platforms to <StandardSite />
4343+- **Content management**: Editors for creating <StandardSite /> records
4444+4545+## Related
4646+4747+- [Quick Start](/docs/quick-start) - Start implementing <StandardSite />
4848+- [Publication lexicon](/docs/lexicons/publication) - Understand publication schemas
4949+- [Document lexicon](/docs/lexicons/document) - Understand document schemas
+44
content/docs/introduction.mdx
···11+---
22+title: Introduction
33+description: A brief introduction into what the Standard.site lexicon is, what it's used for, and how to implement it.
44+date: 2026-02-10
55+---
66+77+import { StandardSite } from '@/app/components/docs'
88+99+# Introduction
1010+1111+<StandardSite /> lexicons bring long-form writing into the social web by linking blog posts and articles to the AT Protocol. This integration helps make published work easier to share and find, while ensuring authors maintain ownership of their writing in the form of records stored on their Personal Data Server (PDS).
1212+1313+## What is Standard.site?
1414+1515+Our lexicons are built with discovery and connectivity in mind. <StandardSite /> lexicons bridge the gap between writers and the communities they intend to reach.
1616+1717+We have two main lexicons that are used to create and manage publications and written documents. In addition to these base lexicons, we maintain a handful of supporting lexicons for social features and utility.
1818+1919+## Core Lexicons
2020+2121+### Publications
2222+2323+The [`site.standard.publication`](/docs/lexicons/publication) lexicon is a representation of 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.
2424+2525+### Documents
2626+2727+The [`site.standard.document`](/docs/lexicons/document) lexicon provides metadata for individual documents. Including the document's relation to a publication if applicable, a path to the document, and more information like a document's complete contents.
2828+2929+### Subscriptions
3030+3131+The [`site.standard.graph.subscription`](/docs/lexicons/subscription) lexicon tracks relationships between users and publications, enabling follow functionality and personalized content feeds across the AT Protocol network.
3232+3333+## Design Philosophy
3434+3535+There are minimal requirements to use these lexicons, ensuring adoptability is as straightforward as possible. As long as the minimum required properties are included in published records, they will be available for other AT Protocol platforms to consume.
3636+3737+While <StandardSite /> lexicons are lightweight on their own, they can be expanded with additional properties to fit individual needs if necessary. The existing properties should not be seen as constraints, but rather as starting points.
3838+3939+## Next steps
4040+4141+- Read the [Quick Start](/docs/quick-start) guide to begin implementing
4242+- Explore the [Publication lexicon](/docs/lexicons/publication) schema
4343+- Learn about [Verification](/docs/verification) to link records to a domain
4444+- Check out [Implementations](/docs/implementations) to see tools and platforms using <StandardSite />
+86
content/docs/lexicons/document.mdx
···11+---
22+title: Document Lexicon
33+description: Schema reference for site.standard.document, the lexicon that provides metadata for documents published on the web.
44+date: 2026-02-10
55+---
66+77+import { Table } from '@/app/components/docs'
88+99+# Document Lexicon
1010+1111+The `site.standard.document` lexicon provides metadata for documents published on the web.
1212+1313+## Overview
1414+1515+Documents may be standalone or associated with a publication. This lexicon can be used to store a document's content and its associated metadata.
1616+1717+## Schema
1818+1919+### Required Properties
2020+2121+<Table
2222+ headers={['Property', 'Type', 'Description']}
2323+ rows={[
2424+ ['site', 'string', <>Points to a publication record <code>at://</code> or a publication url <code>https://</code> for loose documents. Avoid trailing slashes.</>],
2525+ ['title', 'string', <>Title of the document. <code>maxLength: 5000</code> <code>maxGraphemes: 500</code></>],
2626+ ['publishedAt', 'datetime', 'Timestamp of the documents publish time.'],
2727+ ]}
2828+/>
2929+3030+### Optional Properties
3131+3232+<Table
3333+ headers={['Property', 'Type', 'Description']}
3434+ rows={[
3535+ ['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.</>],
3636+ ['description', 'string', <>A brief description or excerpt from the document. <code>maxLength: 30000</code> <code>maxGraphemes: 3000</code></>],
3737+ ['coverImage', 'blob', 'Image to used for thumbnail or cover image. Less than 1MB is size.'],
3838+ ['content', 'union', <>Open union used to define the record's content. Each entry must specify a <code>$type</code></>],
3939+ ['textContent', 'string', 'Plaintext representation of the documents contents. Should not contain markdown or other formatting.'],
4040+ ['bskyPostRef', 'ref', 'Strong reference to a Bluesky post. Useful to keep track of comments off-platform.'],
4141+ ['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></>],
4242+ ['updatedAt', 'datetime', 'Timestamp of the documents last edit.'],
4343+ ]}
4444+/>
4545+4646+## Example
4747+4848+```json
4949+{
5050+ "$type": "site.standard.document",
5151+ "site": "at://did:plc:abc123/site.standard.publication/3lwafzkjqm25s",
5252+ "path": "/blog/getting-started",
5353+ "title": "Getting Started with Standard.site",
5454+ "description": "Learn how to use Standard.site lexicons in your project",
5555+ "coverImage": {
5656+ "$type": "blob",
5757+ "ref": {
5858+ "$link": "bafkreiexample123456789"
5959+ },
6060+ "mimeType": "image/jpeg",
6161+ "size": 245678
6262+ },
6363+ "textContent": "Full text of the article...",
6464+ "tags": ["tutorial", "atproto"],
6565+ "publishedAt": "2024-01-20T14:30:00.000Z"
6666+}
6767+```
6868+6969+## Content Format
7070+7171+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.
7272+7373+## View the Lexicon
7474+7575+- [View full lexicon schema](https://pdsls.dev/at://did:plc:re3ebnp5v7ffagz6rb6xfei4/com.atproto.lexicon.schema/site.standard.document)
7676+- [Example record](https://pdsls.dev/at://did:plc:revjuqmkvrw6fnkxppqtszpv/site.standard.document/3mbfqhezge25u)
7777+7878+## Best Practices
7979+8080+- 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.
8181+8282+## Related
8383+8484+- [Publication lexicon](/docs/lexicons/publication) - Collections of documents
8585+- [Verification](/docs/verification) - Link documents to web pages
8686+- [Quick Start](/docs/quick-start) - Implementation guide
+111
content/docs/lexicons/publication.mdx
···11+---
22+title: Publication Lexicon
33+description: Schema reference for site.standard.publication, the lexicon used to describe information about a particular publication.
44+date: 2026-02-10
55+---
66+77+import { Table } from '@/app/components/docs'
88+99+# Publication Lexicon
1010+1111+The `site.standard.publication` lexicon is used to describe information about a particular publication.
1212+1313+## Overview
1414+1515+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.
1616+1717+The publication lexicon is not a requirement, but is recommended when publishing collections of related documents.
1818+1919+## Schema
2020+2121+### Required Properties
2222+2323+<Table
2424+ headers={['Property', 'Type', 'Description']}
2525+ rows={[
2626+ ['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.'],
2727+ ['name', 'string', <>Name of the publication. <code>maxLength: 5000</code> <code>maxGraphemes: 500</code></>],
2828+ ]}
2929+/>
3030+3131+### Optional Properties
3232+3333+<Table
3434+ headers={['Property', 'Type', 'Description']}
3535+ rows={[
3636+ ['icon', 'blob', 'Square image to identify the publication. Should be at least 256x256.'],
3737+ ['description', 'string', <>Brief description of the publication. <code>maxLength: 30000</code> <code>maxGraphemes: 3000</code></>],
3838+ ['basicTheme', 'ref', <>Simplified theme for tools and apps to utilize when displaying content. (ref → <a href="/docs/lexicons/theme">site.standard.theme.basic</a>)</>],
3939+ ['preferences', 'object', 'Platform-specific preferences for the publication, including discovery and visibility settings.'],
4040+ ['preferences.showInDiscover', 'boolean', 'Decides whether the publication should appear in discovery feeds.'],
4141+ ]}
4242+/>
4343+4444+## Example
4545+4646+```json
4747+{
4848+ "$type": "site.standard.publication",
4949+ "url": "https://standard.site",
5050+ "icon": {
5151+ "$type": "blob",
5252+ "ref": {
5353+ "$link": "bafkreiexample123456789"
5454+ },
5555+ "mimeType": "image/png",
5656+ "size": 12345
5757+ },
5858+ "name": "Standard.site Blog",
5959+ "description": "Documentation and updates about Standard.site lexicons",
6060+ "basicTheme": {
6161+ "$type": "site.standard.theme.basic",
6262+ "background": {
6363+ "$type": "site.standard.theme.color#rgb",
6464+ "r": 255,
6565+ "g": 255,
6666+ "b": 255
6767+ },
6868+ "foreground": {
6969+ "$type": "site.standard.theme.color#rgb",
7070+ "r": 31,
7171+ "g": 41,
7272+ "b": 55
7373+ },
7474+ "accent": {
7575+ "$type": "site.standard.theme.color#rgb",
7676+ "r": 59,
7777+ "g": 130,
7878+ "b": 246
7979+ },
8080+ "accentForeground": {
8181+ "$type": "site.standard.theme.color#rgb",
8282+ "r": 255,
8383+ "g": 255,
8484+ "b": 255
8585+ }
8686+ },
8787+ "preferences": {
8888+ "showInDiscover": true
8989+ }
9090+}
9191+```
9292+9393+## View the Lexicon
9494+9595+- [View full lexicon schema](https://pdsls.dev/at://did:plc:re3ebnp5v7ffagz6rb6xfei4/com.atproto.lexicon.schema/site.standard.publication)
9696+- [Example record](https://pdsls.dev/at://did:plc:revjuqmkvrw6fnkxppqtszpv/site.standard.publication/3lwafzkjqm25s)
9797+9898+## Extensibility
9999+100100+Lexicons are extendable. Additional properties may be added to better suit the needs of a project.
101101+102102+## Best Practices
103103+104104+- 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.
105105+106106+## Related
107107+108108+- [Document lexicon](/docs/lexicons/document) - Individual documents within publications
109109+- [Theme lexicon](/docs/lexicons/theme) - Publication theming
110110+- [Verification](/docs/verification) - Link publications to a domain
111111+- [Quick Start](/docs/quick-start) - Implementation guide
+46
content/docs/lexicons/subscription.mdx
···11+---
22+title: Subscription Lexicon
33+description: Schema reference for site.standard.graph.subscription, the lexicon used to tracks relationships between users and publications.
44+date: 2026-02-10
55+---
66+77+import { Table } from '@/app/components/docs'
88+99+# Subscription Lexicon
1010+1111+The `site.standard.graph.subscription` lexicon tracks relationships between users and publications.
1212+1313+## Overview
1414+1515+Subscriptions enable users to follow publications and receive updates about new content. They represent the social connection between readers and the publications they're interested in.
1616+1717+## Schema
1818+1919+### Required Properties
2020+2121+<Table
2222+ headers={['Property', 'Type', 'Description']}
2323+ rows={[
2424+ ['publication', 'at-uri', 'AT-URI reference to the publication record being subscribed to (ex: at://did:plc:abc123/site.standard.publication/xyz789)'],
2525+ ]}
2626+/>
2727+2828+## Example
2929+3030+```json
3131+{
3232+ "$type": "site.standard.graph.subscription",
3333+ "publication": "at://did:plc:abc123/site.standard.publication/3lwafzkjqm25s"
3434+}
3535+```
3636+3737+## View the Lexicon
3838+3939+- [View full lexicon schema](https://pdsls.dev/at://did:plc:re3ebnp5v7ffagz6rb6xfei4/com.atproto.lexicon.schema/site.standard.graph.subscription)
4040+- [Example record](https://pdsls.dev/at://did:plc:revjuqmkvrw6fnkxppqtszpv/site.standard.graph.subscription/3lz4ynejb4225)
4141+4242+## Related
4343+4444+- [Publication lexicon](/docs/lexicons/publication) - Publications that can be subscribed to
4545+- [Document lexicon](/docs/lexicons/document) - Content from subscribed publications
4646+- [Quick Start](/docs/quick-start) - Implementation guide
+118
content/docs/lexicons/theme.mdx
···11+---
22+title: Basic Theme Lexicon
33+description: Schema reference for site.standard.theme.basic, the lexicon provides a simplified theme definition for publications.
44+date: 2026-02-10
55+---
66+77+import { Table } from '@/app/components/docs'
88+99+# Theme Lexicon
1010+1111+The `site.standard.theme.basic` lexicon provides a simplified theme definition for publications, enabling basic color customization for content display across different platforms and applications.
1212+1313+## Overview
1414+1515+This lexicon ensures publications maintain their visual identity across different reading applications and platforms by defining core colors for content display.
1616+1717+## Schema
1818+1919+### Required Properties
2020+2121+<Table
2222+ headers={['Property', 'Type', 'Description']}
2323+ rows={[
2424+ ['background', 'ref', 'Color used for content background (ref → site.standard.theme.color#rgb)'],
2525+ ['foreground', 'ref', 'Color used for content text (ref → site.standard.theme.color#rgb)'],
2626+ ['accent', 'ref', 'Color used for links and button backgrounds (ref → site.standard.theme.color#rgb)'],
2727+ ['accentForeground', 'ref', 'Color used for button text (ref → site.standard.theme.color#rgb)'],
2828+ ]}
2929+/>
3030+3131+## Color Format
3232+3333+Colors are defined using the `site.standard.theme.color#rgb` type from the `site.standard.theme.color` lexicon.
3434+3535+### RGB Color Type
3636+3737+Each color is an object with three required integer properties:
3838+3939+<Table
4040+ headers={['Property', 'Type', 'Range', 'Description']}
4141+ rows={[
4242+ ['r', 'integer', '0-255', 'Red channel value'],
4343+ ['g', 'integer', '0-255', 'Green channel value'],
4444+ ['b', 'integer', '0-255', 'Blue channel value'],
4545+ ]}
4646+/>
4747+4848+### RGBA Color Type
4949+5050+The `site.standard.theme.color` lexicon also defines an `rgba` type for colors with transparency:
5151+5252+<Table
5353+ headers={['Property', 'Type', 'Range', 'Description']}
5454+ rows={[
5555+ ['r', 'integer', '0-255', 'Red channel value'],
5656+ ['g', 'integer', '0-255', 'Green channel value'],
5757+ ['b', 'integer', '0-255', 'Blue channel value'],
5858+ ['a', 'integer', '0-100', 'Alpha (opacity) value, where 0 is transparent and 100 is opaque'],
5959+ ]}
6060+/>
6161+6262+### Color Roles
6363+6464+- **background**: Main surface color for content areas
6565+- **foreground**: Default color for body text and content
6666+- **accent**: Color for interactive elements like links and button backgrounds
6767+- **accentForeground**: Text color used on accent-colored backgrounds (ex: button text)
6868+6969+## Usage in Publications
7070+7171+Include the basic theme in your publication record:
7272+7373+```json
7474+{
7575+ "$type": "site.standard.publication",
7676+ "url": "https://myblog.com",
7777+ "name": "My Blog",
7878+ "basicTheme": {
7979+ "$type": "site.standard.theme.basic",
8080+ "background": {
8181+ "$type": "site.standard.theme.color#rgb",
8282+ "r": 255,
8383+ "g": 255,
8484+ "b": 255
8585+ },
8686+ "foreground": {
8787+ "$type": "site.standard.theme.color#rgb",
8888+ "r": 31,
8989+ "g": 41,
9090+ "b": 55
9191+ },
9292+ "accent": {
9393+ "$type": "site.standard.theme.color#rgb",
9494+ "r": 59,
9595+ "g": 130,
9696+ "b": 246
9797+ },
9898+ "accentForeground": {
9999+ "$type": "site.standard.theme.color#rgb",
100100+ "r": 255,
101101+ "g": 255,
102102+ "b": 255
103103+ }
104104+ }
105105+}
106106+```
107107+108108+## Best Practices
109109+110110+2. **Consider readability**: Ensure foreground/background combinations are legible
111111+3. **Test button colors**: Verify accent/accentForeground pairs have sufficient contrast
112112+5. **Provide all required properties**: All four color properties are required for a valid theme
113113+114114+## Related
115115+116116+- [Publication lexicon](/docs/lexicons/publication) - Publications can include basicTheme
117117+- [Quick Start](/docs/quick-start) - Implementation guide
118118+- [Implementations](/docs/implementations) - See how platforms use theming
+48
content/docs/permissions.mdx
···11+---
22+title: Permissions
33+description: Standard.site provides a permission set for applications to access publications, documents, and subscriptions.
44+date: 2026-02-10
55+---
66+77+import { Table } from '@/app/components/docs'
88+import { StandardSite } from '@/app/components/docs'
99+1010+# Permissions
1111+1212+<StandardSite /> provides a permission set for applications to access publications, documents, and subscriptions.
1313+1414+## Overview
1515+1616+Applications that interact with <StandardSite /> records on a user's Personal Data Server (PDS) must request appropriate permissions. Our permission set defines which collections an application can read from and write to.
1717+1818+## Full <StandardSite /> Access
1919+2020+The `site.standard.authFull` permission set provides complete access to all <StandardSite /> features.
2121+2222+### Requesting Permissions
2323+2424+Include `site.standard.authFull` in the OAuth scope when requesting user authorization:
2525+2626+```
2727+include:site.standard.authFull
2828+```
2929+3030+### Granted Permissions
3131+3232+This permission set grants access to the following collections:
3333+3434+<Table
3535+ headers={['Collection', 'Access scopes']}
3636+ rows={[
3737+ ['site.standard.publication', 'Create, update, and delete publication records'],
3838+ ['site.standard.document', 'Create, update, and delete document records'],
3939+ ['site.standard.graph.subscription', 'Create, update, and delete subscription records'],
4040+ ]}
4141+/>
4242+4343+## Related
4444+4545+- [Quick Start](/docs/quick-start) - Get started implementing <StandardSite />
4646+- [Publication lexicon](/docs/lexicons/publication) - Understanding publication records
4747+- [Document lexicon](/docs/lexicons/document) - Understanding document records
4848+- [Subscription lexicon](/docs/lexicons/subscription) - Understanding subscription records
+95
content/docs/quick-start.mdx
···11+---
22+title: Quick Start
33+description: The quick start guide to implement Standard.site lexicons in your site, tool or app.
44+date: 2026-02-10
55+---
66+77+import { StandardSite } from '@/app/components/docs'
88+99+# Quick Start
1010+1111+Get started with <StandardSite /> lexicons.
1212+1313+## What You Need
1414+1515+- An AT Protocol [Identity](https://atproto.com/guides/identity)
1616+- A website or blog (any domain works)
1717+1818+## Basic Implementation
1919+2020+### 1. Reference the Lexicons
2121+2222+<StandardSite /> lexicons are published under the `site.standard` namespace. The main lexicons are:
2323+2424+- [`site.standard.publication`](/docs/lexicons/publication) - Publication metadata
2525+- [`site.standard.document`](/docs/lexicons/document) - Document content and metadata
2626+- [`site.standard.graph.subscription`](/docs/lexicons/subscription) - User-publication relationships
2727+2828+### 2. Create a Publication Record
2929+3030+A publication requires a `url` and `name`:
3131+3232+```json
3333+{
3434+ "$type": "site.standard.publication",
3535+ "url": "https://myblog.com",
3636+ "name": "My Blog",
3737+ "description": "A personal blog about technology",
3838+ "preferences": {
3939+ "showInDiscover": true
4040+ }
4141+}
4242+```
4343+4444+### 3. Verify the Publication
4545+4646+Add a `.well-known` endpoint to the domain:
4747+4848+```
4949+https://myblog.com/.well-known/site.standard.publication
5050+```
5151+5252+This should return the publication's AT-URI:
5353+5454+```
5555+at://did:plc:yourDID/site.standard.publication/rkey
5656+```
5757+5858+### 4. Create a Document Record
5959+6060+Documents require `site`, `title`, and `publishedAt`:
6161+6262+```json
6363+{
6464+ "$type": "site.standard.document",
6565+ "site": "at://did:plc:abc123/site.standard.publication/3lwafzkjqm25s",
6666+ "title": "My First Post",
6767+ "path": "/posts/my-first-post",
6868+ "description": "An introduction to my blog",
6969+ "publishedAt": "2024-01-20T14:30:00.000Z",
7070+ "tags": ["introduction", "blog"],
7171+ "textContent": "Full text content here..."
7272+}
7373+```
7474+7575+### 5. Verify the Document
7676+7777+Add a `<link>` tag to the document's HTML:
7878+7979+```html
8080+<link
8181+ rel="site.standard.document"
8282+ href="at://did:plc:yourDID/site.standard.document/rkey"
8383+/>
8484+```
8585+8686+## Extensibility
8787+8888+While the minimum required properties are straightforward, additional properties can be added as needed. The lexicons are designed to be starting points, not constraints.
8989+9090+## Next Steps
9191+9292+- Learn about [Verification](/docs/verification) in detail
9393+- Explore the [Publication](/docs/lexicons/publication) schema
9494+- Review [Document](/docs/lexicons/document) properties and options
9595+- Check out [Implementations](/docs/implementations) for tools and examples
+78
content/docs/verification.mdx
···11+---
22+title: Verification
33+description: Reference guide to understand how Standard.site records are verified to avoid impersonation or spam.
44+date: 2026-02-10
55+---
66+77+88+import { StandardSite } from '@/app/components/docs'
99+1010+# Verification
1111+1212+Since <StandardSite /> records reference domains and web pages, a verifiable way for these resources to point back to their corresponding records is needed.
1313+1414+## Overview
1515+1616+Verification is accomplished using a `.well-known` endpoint for publications, and an HTML `<link>` tag for documents.
1717+1818+When an application needs to verify a record, it fetches the appropriate verification endpoint and checks that the returned value matches the record's AT-URI.
1919+2020+A <StandardSite /> record should only be considered "valid" if the author of the material provides an accurate verification endpoint pointing to the record.
2121+2222+## Publication Verification
2323+2424+To verify a publication, add a `.well-known` endpoint to the domain:
2525+2626+```
2727+/.well-known/site.standard.publication
2828+```
2929+3030+The endpoint should return the AT-URI of the publication record:
3131+3232+```
3333+at://did:plc:abc123/site.standard.publication/rkey
3434+```
3535+3636+### Non-root Publications
3737+3838+If the publication does not live at the domain root, append the publication path to the endpoint:
3939+4040+```
4141+/.well-known/site.standard.publication/path/to/publication
4242+```
4343+4444+## Document Verification
4545+4646+To verify an individual document, include a `<link>` tag in the document's `<head>` that references its AT-URI.
4747+4848+### HTML Example
4949+5050+```html
5151+<link
5252+ rel="site.standard.document"
5353+ href="at://did:plc:xyz789/site.standard.document/rkey"
5454+/>
5555+```
5656+5757+This confirms the association between the rendered document and its `site.standard.document` record.
5858+5959+## Verification Flow
6060+6161+1. An application discovers a <StandardSite /> record
6262+2. The record contains a `url` (for publications) or `site` + `path` (for documents)
6363+3. The application fetches the verification endpoint from that URL
6464+4. The application checks if the returned AT-URI matches the record
6565+5. If they match, the record is verified
6666+6767+## Best Practices
6868+6969+- Always implement verification for production records
7070+- Use HTTPS for all publication and document URLs
7171+- Keep AT-URIs consistent across records and verification endpoints
7272+- Update verification endpoints when migrating records to a new DID
7373+7474+## Related
7575+7676+- [Publication lexicon](/docs/lexicons/publication) - Understanding publication records
7777+- [Document lexicon](/docs/lexicons/document) - Understanding document records
7878+- [Quick Start](/docs/quick-start) - Implementation guide
···11+# Standard.site Documentation
22+33+## Overview
44+Standard.site provides AT Protocol lexicons for long-form publishing on the open social web.
55+66+## Navigation
77+88+### Getting Started
99+- Introduction: https://standard.site/docs/introduction
1010+ Overview of Standard.site lexicons and core concepts
1111+1212+- Quick Start: https://standard.site/docs/quick-start
1313+ Step-by-step guide to implementing Standard.site lexicons
1414+1515+- Permissions: https://standard.site/docs/permissions
1616+ Understanding record permissions and access control
1717+1818+- Verification: https://standard.site/docs/verification
1919+ Linking records to domains for authenticity
2020+2121+### Core Lexicons
2222+- Publication: https://standard.site/docs/lexicons/publication
2323+ `site.standard.publication` - Collection metadata and theming
2424+2525+- Document: https://standard.site/docs/lexicons/document
2626+ `site.standard.document` - Individual document records
2727+2828+- Subscription: https://standard.site/docs/lexicons/subscription
2929+ `site.standard.graph.subscription` - Follow relationships
3030+3131+- Theme: https://standard.site/docs/lexicons/theme
3232+ `site.standard.theme` - Theming configuration
3333+3434+### Resources
3535+- Implementations: https://standard.site/docs/implementations
3636+ Tools and platforms using Standard.site lexicons
3737+3838+- FAQ: https://standard.site/docs/faq
3939+ Common questions and answers
4040+4141+## Features
4242+- All documentation pages support anchor links (click any heading to copy its link)
4343+- Each page provides a "Markdown" link in the footer for direct AI agent consumption
4444+- Full markdown source available via API: /api/docs/markdown/{slug}
4545+4646+## API Access
4747+GET /api/docs/markdown/{slug} - Returns the raw markdown content of any documentation page
4848+Example: /api/docs/markdown/introduction
4949+5050+## Key Concepts
5151+- AT Protocol: Authenticated Transfer Protocol - decentralized social networking
5252+- PDS: Personal Data Server - stores user data and records
5353+- Lexicons: Schemas that define record types in AT Protocol
5454+- NSID: Namespaced Identifier - unique identifier format for lexicons
5555+5656+## Implementation Quick Reference
5757+1. Create publication record with site.standard.publication lexicon
5858+2. Create document records with site.standard.document lexicon
5959+3. Link documents to publication via publication reference
6060+4. Implement verification to link records to your domain
6161+5. Support subscription records for follow functionality