a tool for shared writing and social publishing
at feature/reader 35 lines 1.2 kB view raw
1import { LexiconDoc } from "@atproto/lexicon"; 2import { PubLeafletPagesLinearDocument } from "./pages/LinearDocument"; 3 4export const PubLeafletDocument: LexiconDoc = { 5 lexicon: 1, 6 id: "pub.leaflet.document", 7 revision: 1, 8 description: "A lexicon for long form rich media documents", 9 defs: { 10 main: { 11 type: "record", 12 key: "tid", 13 description: "Record containing a document", 14 record: { 15 type: "object", 16 required: ["pages", "author", "title", "publication"], 17 properties: { 18 title: { type: "string", maxLength: 1280, maxGraphemes: 128 }, 19 postRef: { type: "ref", ref: "com.atproto.repo.strongRef" }, 20 description: { type: "string", maxLength: 3000, maxGraphemes: 300 }, 21 publishedAt: { type: "string", format: "datetime" }, 22 publication: { type: "string", format: "at-uri" }, 23 author: { type: "string", format: "at-identifier" }, 24 pages: { 25 type: "array", 26 items: { 27 type: "union", 28 refs: [PubLeafletPagesLinearDocument.id], 29 }, 30 }, 31 }, 32 }, 33 }, 34 }, 35};