{ "lexicon": 1, "id": "sh.weaver.notebook.theme", "defs": { "main": { "type": "record", "description": "Theme for a notebook", "key": "tid", "record": { "type": "object", "required": ["darkScheme", "lightScheme", "fonts", "spacing", "darkCodeTheme", "lightCodeTheme"], "properties": { "defaultTheme": { "type": "string", "enum": ["light", "dark", "auto"], "default": "auto" }, "darkScheme": { "type": "ref", "ref": "com.atproto.repo.strongRef", "description": "Reference to a dark colour scheme" }, "lightScheme": { "type": "ref", "ref": "com.atproto.repo.strongRef", "description": "Reference to a light colour scheme" }, "fonts": { "type": "object", "required": ["body", "heading", "monospace"], "description": "Fonts to be used in the notebook. Can specify a name or list of names (will load if available) or a file or list of files for each. Empty lists will use site defaults.", "properties": { "body": { "type": "array", "items": { "type": "ref", "ref": "#font" } }, "heading": { "type": "array", "items": { "type": "ref", "ref": "#font" } }, "monospace": { "type": "array", "items": { "type": "ref", "ref": "#font" } } } }, "spacing": { "type": "object", "required": ["baseSize", "lineHeight", "scale"], "properties": { "baseSize": { "type": "string" }, "lineHeight": { "type": "string" }, "scale": { "type": "string" } } }, "darkCodeTheme": { "type": "union", "refs": ["#codeThemeName", "#codeThemeFile"], "description": "Syntax highlighting theme for dark mode" }, "lightCodeTheme": { "type": "union", "refs": ["#codeThemeName", "#codeThemeFile"], "description": "Syntax highlighting theme for light mode" } } } }, "codeThemeName": { "type": "string" }, "codeThemeFile": { "type": "object", "required": ["name", "did", "content"], "description": "Custom syntax highlighting theme file (sublime text/textmate theme format)", "properties": { "name": { "type": "string" }, "did": { "type": "string", "format": "did" }, "content": { "type": "blob", "accept": ["*/*"], "maxSize": 20000 } } }, "font": { "type": "object", "required": ["value"], "properties": { "value": { "type": "union", "refs": ["#fontName", "#fontFile"], "description": "Font for a notebook" } } }, "fontName": { "type": "string" }, "fontFile": { "type": "object", "required": ["name", "did", "content"], "description": "Custom woff(2) or ttf font file", "properties": { "name": { "type": "string" }, "did": { "type": "string", "format": "did" }, "content": { "type": "blob", "accept": ["*/*"], "maxSize": 20000 } } } } }