Textové soubory strukturované ve formátu NEON jsou používány jako konfigurační soubory, mimo jiné např. v rámci frameworku Nette.
Syntaxe formátu NEON je odvozena od formátu json.
{ "php": { "date.timezone": "Europe\/Prague", "zlib.output_compression": true }, "database": { "driver": "mysql", "username": "root", "password": "heslo" }, "users": [ "John", "Jane" ] }
provedením jistých úprav:
- odstranění uvozovek:
{ php: { date.timezone: Europe\/Prague, zlib.output_compression: true }, database: { driver: mysql, username: root, password: heslo }, users: [ John, Jane ] }
- odstranění závorek a čárek na konci řádků:
php: date.timezone: Europe\/Prague zlib.output_compression: true database: driver: mysql username: root password: heslo users: [ John, Jane ]
- zápis hodnot pole na samostatné řádky začínající znakem mínus:
php: date.timezone: Europe\/Prague zlib.output_compression: true database: driver: mysql username: root password: heslo users: - John - Jane
- přidání komentářů začínající znakem hash #:
# my web application config php: date.timezone: Europe/Prague zlib.output_compression: yes # use gzip database: driver: mysql username: root password: heslo users: - John - Jane
- možnost použití prázdných řádků pro oddělení částí:
# my web application config php: date.timezone: Europe/Prague zlib.output_compression: yes # use gzip database: driver: mysql username: root password: heslo users: - John - Jane
Aplikace psaná ve frameworku Nette převádí při spuštění data ve formátu NEON na formát běžného pole:
array (3) php => array (2) "date.timezone" => "Europe/Prague" (13) "zlib.output_compression" => true database => array (3) driver => "mysql" (5) username => "root" (4) password => "heslo" (5) users => array (2) 0 => "John" (4) 1 => "Jane" (4)
Pro odsazení řádků lze použít jak tabulátory tak i mezery. Není však dovoleny míchat obě kombinace v jednom souboru.
Použití formátu NEON
Formát NEON lze použít v jazycích:
- PHP (GitHub: nette/neon)
- JavaScript (GitHub: matej21/neon-js)
- Python (GitHub: paveldedik/neon-py)
Formát NEON v editorech
Formát NEON podporují editory:
- IntelliJ IDEA a PhpStorm (NEON support)
- Visual Studio Code (Nette Latte + Neon)
- Emacs (github.com: Fuco1/neon-mode)