Concepts
Config files
Supported formats, syntax checks, comments and what happens to a file on publish.
Supported file types: json, lua, txt, css, scss.
What happens on publish
| Type | Editor check | On publish |
|---|---|---|
json | Must be valid JSON; saving is blocked on errors | $note keys removed, then minified |
lua | Lua 5.3 syntax; saving is blocked on errors | Published as written, comments included |
txt | None | Published as written |
css, scss | None | Published as written. SCSS is delivered as source: the client compiles it |
Comments in JSON: $note
JSON has no comments. To leave notes for your team, add keys that start with $note. They stay in the editor and are removed from the published file. The value can be anything, even an object.
{
"$note": "Prices are in cents",
"price": 499,
"bonus": {
"$note_bonus": "Raised for the spring event",
"amount": 20
}
}
{"price":499,"bonus":{"amount":20}}
Rules:
- Any key that starts with
$notecounts:$note,$note_price,$notes. - Notes are removed from the root object and up to three levels below it. Every nested object or array is one level. Deeper notes are published as is, so keep them close to the top.
//and/* */comments are not valid JSON. The editor marks them as errors.
Comments in other formats
Comments in Lua, CSS and SCSS are published as written, and every client that loads the file receives them. Keep internal notes and anything sensitive out of them. Notes that are removed on publish exist only in JSON files.
Flags per file
- Encryption. The file is encrypted on publish. See Encryption.
- Validation. When the version has external validation enabled, files with this flag are sent to your validator before publishing. The validator receives the original content (with
$notekeys, not encrypted).