Lexicon Reference
Wisp.place uses custom AT Protocol lexicons to store and manage static site data. These lexicons define the structure of records stored in your PDS.
Available Lexicons
Section titled “Available Lexicons”The main lexicon for storing static site manifests. Contains the directory tree structure with references to file blobs.
Subtree lexicon for splitting large sites across multiple records. Entries from subfs records are merged (flattened) into the parent directory.
Domain registration record for claiming wisp.place subdomains.
How Lexicons Work
Section titled “How Lexicons Work”Storage Model
Section titled “Storage Model”Sites are stored as place.wisp.fs records in your AT Protocol repository:
at://did:plc:abc123/place.wisp.fs/my-siteEach record contains:
- Site metadata (name, file count, timestamps)
- Directory tree (hierarchical structure)
- Blob references (content-addressed file storage)
File Processing
Section titled “File Processing”- Files are gzipped for compression
- Text files are base64 encoded to bypass PDS content sniffing
- Uploaded as blobs with
application/octet-streamMIME type - Original MIME type stored in manifest metadata
Large Site Splitting
Section titled “Large Site Splitting”Sites with 250+ files are automatically split:
- Large directories are extracted into
place.wisp.subfsrecords - Main manifest references subfs records via AT-URI
- Hosting services merge (flatten) subfs entries when serving
- Keeps manifest size under 150KB PDS limit
Example Record Structure
Section titled “Example Record Structure”{ "$type": "place.wisp.fs", "site": "my-site", "root": { "type": "directory", "entries": [ { "name": "index.html", "node": { "type": "file", "blob": { "$type": "blob", "ref": { "$link": "bafyreiabc123..." }, "mimeType": "application/octet-stream", "size": 12345 }, "encoding": "gzip", "mimeType": "text/html", "base64": true } }, { "name": "assets", "node": { "type": "directory", "entries": [...] } } ] }, "fileCount": 42, "createdAt": "2024-01-15T10:30:00Z"}