{
"id": "blue.skiddle.site.info",
"defs": {
"main": {
"key": "literal:self",
"type": "record",
"record": {
"type": "object",
"required": [
"purpose",
"version"
],
"properties": {
"avatar": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "Site icon or logo."
},
"banner": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "Header image or cover photo."
},
"social": {
"type": "array",
"items": {
"ref": "lex:blue.skiddle.site.info#socialLink",
"type": "ref"
},
"maxLength": 20,
"description": "Social media links."
},
"contact": {
"ref": "lex:blue.skiddle.site.info#contactInfo",
"type": "ref",
"description": "Official contact details."
},
"credits": {
"type": "array",
"items": {
"ref": "lex:blue.skiddle.site.info#credit",
"type": "ref"
},
"maxLength": 100,
"description": "Credits for assets, libraries, inspirations, or contributors."
},
"funding": {
"type": "array",
"items": {
"ref": "lex:blue.skiddle.site.info#fundingLink",
"type": "ref"
},
"maxLength": 10,
"description": "Ways to support or sponsor the project."
},
"license": {
"ref": "lex:blue.skiddle.site.info#license",
"type": "ref",
"description": "The primary license of this project."
},
"purpose": {
"type": "string",
"maxLength": 3000,
"description": "The mission statement or primary purpose of the site.",
"maxGraphemes": 1000
},
"version": {
"type": "string",
"maxLength": 50,
"description": "Semantic version of the currently deployed site (e.g. 1.0.0)."
},
"repository": {
"type": "string",
"format": "uri",
"description": "URL to the primary source code repository."
},
"statusPage": {
"type": "string",
"format": "uri",
"description": "Link to an external uptime or status monitoring page."
},
"foundedDate": {
"type": "string",
"format": "datetime",
"description": "Date when the project or site was launched."
},
"privacyPolicy": {
"type": "string",
"maxLength": 20000,
"description": "Full text or link to the privacy policy.",
"maxGraphemes": 5000
},
"technologyStack": {
"type": "array",
"items": {
"ref": "lex:blue.skiddle.site.info#technologyItem",
"type": "ref"
},
"maxLength": 50,
"description": "Major technologies used in this project."
}
}
},
"description": "A singleton record containing public site information, metadata, and credits."
},
"credit": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 200
},
"type": {
"type": "string",
"maxLength": 100,
"description": "e.g. 'font', 'library', 'inspiration', 'contributor'."
},
"author": {
"type": "string",
"maxLength": 200
},
"license": {
"ref": "lex:blue.skiddle.site.info#license",
"type": "ref"
}
}
},
"license": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 100,
"description": "e.g. 'MIT', 'CC-BY-4.0'."
}
}
},
"socialLink": {
"type": "object",
"required": [
"platform",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"handle": {
"type": "string",
"maxLength": 500
},
"platform": {
"type": "string",
"maxLength": 100,
"description": "e.g. 'twitter', 'bluesky', 'mastodon', 'github'."
}
}
},
"contactInfo": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Public contact email."
},
"matrix": {
"type": "string",
"maxLength": 500,
"description": "Matrix handle (e.g. @user:matrix.org)."
}
}
},
"fundingLink": {
"type": "object",
"required": [
"platform",
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"platform": {
"type": "string",
"maxLength": 100,
"description": "e.g. 'ko-fi', 'patreon', 'github-sponsors'."
}
}
},
"technologyItem": {
"type": "object",
"required": [
"name"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 1000
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "A singleton record containing public site information, metadata, and credits."
}