Access environment variables, the built-in data store, and server configuration directly from your templates.
Use #env.VAR_NAME# in templates to access any environment variable set on the server. Great for API keys, feature flags, and configuration.
Variables that are not set will render as empty strings. Set them when starting the server to make them available.
The built-in DataStore uses a JSON format with collections and values. Define data files in your project and access them via template variables.
Collections hold arrays of objects. Values hold simple key-value pairs. Both are accessible in templates for rendering lists, tables, and dynamic content.
Connect to SQLite or PostgreSQL via [database] config. Same DataStore interface, real database backend.
Query local data with sort, filter, search, limit, and offset using the local: fetch prefix.
Auto-generate JSON API endpoints from your data collections via [api] config.
Transform values with |uppercase, |truncate:N, |date:fmt, |currency, and |markdown.
Server configuration is defined in wwwhat.toml at your project root. It controls sessions, caching, data sources, and more.