YML - laborci/andesite GitHub Wiki

YML+

Az yml+ az yaml formátum kiterjesztése az alábbi lehetőségekkel.

Alkulcsok (.)

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: markdown

Referencia (&)

Amennyiben 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"
	]
];

Abszolut utvonal (/)

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",
];

Konkatenáció (~)

Szövegösszefűzés

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"
	]
];

Kiegészítés

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"
	]
];

Import (@)

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: ":"

Egyszerű import

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"=>":"
		]
	]
];

Multi import minta alapján

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"=>":"
		]
	]
];
⚠️ **GitHub.com Fallback** ⚠️