YML - laborci/andesite GitHub Wiki
Az yml+ az yaml formátum kiterjesztése az alábbi lehetőségekkel.
Nem kell minden al kulcsot külön sorban definiálnod, ha nincs más defniálandó érték a fában, hanem kulcsokat megadhatod . szeparáltan is.
Azaz az alábbi két definíció teljesen egyenértékű:
#
app:
article:
format: markdown
app.article.format: markdownAmennyiben a kulcs & jelre végződik, akkor a fa adott pontjára a kulcs értékének megfelelő útvonalon levő értéket, vagy al-fát fogja beilleszteni.
sys:
domain: mysite.com
vhost:
domain &: sys.domain
vhost &: sys.vhost[
"sys"=>[
"domain" => "mysite.com",
"vhost" => [
"domain" = "mysite.com"
]
],
"vhost"=>[
"domain" = "mysite.com"
]
];Amennyiben egy kucs / jelet tartalmaz, akkor az értékét nem a fa adott pontjára, hanem a kulcs által definiált (a / jelet követő) abszolut címre fogja beilleszteni. A / jel előtti részét a kulcsnak a rendszer figyelmen kívül hagyja.
path:
root\sys-root: /data/htdocs/[
"path"=>[],
"sys-root"=>"/data/htdocs",
];Amennyiben ~ jelre végződik a kulcs, akkor az értékében levő kifejezést kiértékeli.
path:
root: /data/htdocs/
public ~: path.root + "public/"[
"path"=>[
"root"=>"/data/htdocs",
"public"=>"/data/htdocs/public"
]
];Amennyiben ~ jel található a kulcsban, akkor a ~ utáni részét a kulcsnak referenciaként használja és az azon fellelhető stringhez fűzi hozzá az értéket.
path:
root: /data/htdocs/
public ~path.root: public/[
"path"=>[
"root"=>"/data/htdocs",
"public"=>"/data/htdocs/public"
]
];Nem kell egy nagy yml állományt szerkesztened, írhatsz kisebb konfigurációs állományokat, amiket összefűzhetsz egy nagy állománnyá. Ezt a @ karaktert használva érheted el amit a kulcs végére kell írnod. Az útvonal mindig abszolut az env.yml-hez képest. Az importált fájlhoz ne írj kiterjesztést!
A következő példákban az alábbi fájlt importáljuk két módon:
missions/cli.yml
pattern: ":"A megadott kulcs alá betölti a hivatkozott fájl tartalmát. Amennyiben az importálandó fájl neve ~ vonallal kezdődik, az azt jelöli, hogy a betöltés opcionális.
missions.cli @: missions/cli[
"missions"=>[
"cli"=>[
"pattern"=>":"
]
]
];A megadott kucs alá betölti a hivatkozott fájlok tartalmát úgy, hogy alkulcsként a fájlok nevét fogja használni!
missions @: missions/*[
"missions"=>[
"cli"=>[
"pattern"=>":"
]
]
];