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

TypeEditor checkOn publish
jsonMust be valid JSON; saving is blocked on errors$note keys removed, then minified
luaLua 5.3 syntax; saving is blocked on errorsPublished as written, comments included
txtNonePublished as written
css, scssNonePublished 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
  }
}

Rules:

  • Any key that starts with $note counts: $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 $note keys, not encrypted).