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