a tool for shared writing and social publishing
at update/reader 53 lines 1.3 kB view raw
1import { LexiconDoc } from "@atproto/lexicon"; 2import { BlockUnion } from "../blocks"; 3 4export const PubLeafletPagesLinearDocument: LexiconDoc = { 5 lexicon: 1, 6 id: "pub.leaflet.pages.linearDocument", 7 defs: { 8 main: { 9 type: "object", 10 required: ["blocks"], 11 properties: { 12 id: { type: "string" }, 13 blocks: { type: "array", items: { type: "ref", ref: "#block" } }, 14 }, 15 }, 16 block: { 17 type: "object", 18 required: ["block"], 19 properties: { 20 block: BlockUnion, 21 alignment: { 22 type: "string", 23 knownValues: [ 24 "#textAlignLeft", 25 "#textAlignCenter", 26 "#textAlignRight", 27 "#textAlignJustify", 28 ], 29 }, 30 }, 31 }, 32 textAlignLeft: { type: "token" }, 33 textAlignCenter: { type: "token" }, 34 textAlignRight: { type: "token" }, 35 textAlignJustify: { type: "token" }, 36 quote: { 37 type: "object", 38 required: ["start", "end"], 39 properties: { 40 start: { type: "ref", ref: "#position" }, 41 end: { type: "ref", ref: "#position" }, 42 }, 43 }, 44 position: { 45 type: "object", 46 required: ["block", "offset"], 47 properties: { 48 block: { type: "array", items: { type: "integer" } }, 49 offset: { type: "integer" }, 50 }, 51 }, 52 }, 53};