Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place
1{ 2 "lexicon": 1, 3 "id": "place.wisp.settings", 4 "defs": { 5 "main": { 6 "type": "record", 7 "description": "Configuration settings for a static site hosted on wisp.place", 8 "key": "any", 9 "record": { 10 "type": "object", 11 "properties": { 12 "directoryListing": { 13 "type": "boolean", 14 "description": "Enable directory listing mode for paths that resolve to directories without an index file. Incompatible with spaMode.", 15 "default": false 16 }, 17 "spaMode": { 18 "type": "string", 19 "description": "File to serve for all routes (e.g., 'index.html'). When set, enables SPA mode where all non-file requests are routed to this file. Incompatible with directoryListing and custom404.", 20 "maxLength": 500 21 }, 22 "custom404": { 23 "type": "string", 24 "description": "Custom 404 error page file path. Incompatible with directoryListing and spaMode.", 25 "maxLength": 500 26 }, 27 "indexFiles": { 28 "type": "array", 29 "description": "Ordered list of files to try when serving a directory. Defaults to ['index.html'] if not specified.", 30 "items": { 31 "type": "string", 32 "maxLength": 255 33 }, 34 "maxLength": 10 35 }, 36 "cleanUrls": { 37 "type": "boolean", 38 "description": "Enable clean URL routing. When enabled, '/about' will attempt to serve '/about.html' or '/about/index.html' automatically.", 39 "default": false 40 }, 41 "headers": { 42 "type": "array", 43 "description": "Custom HTTP headers to set on responses", 44 "items": { 45 "type": "ref", 46 "ref": "#customHeader" 47 }, 48 "maxLength": 50 49 } 50 } 51 } 52 }, 53 "customHeader": { 54 "type": "object", 55 "description": "Custom HTTP header configuration", 56 "required": ["name", "value"], 57 "properties": { 58 "name": { 59 "type": "string", 60 "description": "HTTP header name (e.g., 'Cache-Control', 'X-Frame-Options')", 61 "maxLength": 100 62 }, 63 "value": { 64 "type": "string", 65 "description": "HTTP header value", 66 "maxLength": 1000 67 }, 68 "path": { 69 "type": "string", 70 "description": "Optional glob pattern to apply this header to specific paths (e.g., '*.html', '/assets/*'). If not specified, applies to all paths.", 71 "maxLength": 500 72 } 73 } 74 } 75 } 76}