a tool for shared writing and social publishing
at feature/footnotes 51 lines 1.3 kB view raw
1import { LexiconDoc } from "@atproto/lexicon"; 2import { BlockUnion } from "../blocks"; 3 4export const PubLeafletPagesCanvasDocument: LexiconDoc = { 5 lexicon: 1, 6 id: "pub.leaflet.pages.canvas", 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", "x", "y", "width"], 19 properties: { 20 block: BlockUnion, 21 x: { type: "integer" }, 22 y: { type: "integer" }, 23 width: { type: "integer" }, 24 height: { type: "integer" }, 25 rotation: { 26 type: "integer", 27 description: "The rotation of the block in degrees", 28 }, 29 }, 30 }, 31 textAlignLeft: { type: "token" }, 32 textAlignCenter: { type: "token" }, 33 textAlignRight: { type: "token" }, 34 quote: { 35 type: "object", 36 required: ["start", "end"], 37 properties: { 38 start: { type: "ref", ref: "#position" }, 39 end: { type: "ref", ref: "#position" }, 40 }, 41 }, 42 position: { 43 type: "object", 44 required: ["block", "offset"], 45 properties: { 46 block: { type: "array", items: { type: "integer" } }, 47 offset: { type: "integer" }, 48 }, 49 }, 50 }, 51};