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}