Přidejte si značku {texy} do Latte
Knihovna Texy od verze 3.1.6 přidává podporu pro Latte
3 v podobě značky {texy}
. Co umí a jak ji nasadit?
Značka {texy}
představuje snadný způsob, jak v Latte
šablonách psát přímo v syntaxi Texy:
{texy}
You Already Know the Syntax
----------
No kidding, you know Latte syntax already. **It is the same as PHP syntax.**
{/texy}
Stačí do Latte nainstalovat rozšíření a předat mu objekt Texy nakonfigurovaný podle potřeby:
$texy = new Texy\Texy;
$latte = new Latte\Engine;
$latte->addExtension(new Texy\Bridges\Latte\TexyExtension($texy));
Pokud je mezi značkami {texy}...{/texy}
statický text, tak se
přeloží pomocí Texy už během kompilace šablony a výsledek do ní
uloží. Pokud je obsah dynamický (tj. jsou uvnitř Latte značky),
zpracování pomocí Texy se provádí pokaždé při vykreslování
šablony.
Pokud je žádoucí Latte značky uvnitř vypnout, dá se to udělat takto:
{texy syntax: off} ... {/texy}
Do rozšíření lze kromě objektu Texy předat také vlastní funkci a tak
umožnit předávat ze šablony parametry. Kupříkladu chceme mít možnost
předávat parametry locale
a heading
:
$processor = function (string $text, int $heading = 1, string $locale = 'cs'): string {
$texy = new Texy\Texy;
$texy->headingModule->top = $heading;
$texy->typographyModule->locale = $locale;
return $texy->process($text);
};
$latte = new Latte\Engine;
$latte->addExtension(new Texy\Bridges\Latte\TexyExtension($processor));
Parametry v šabloně předáme takto:
{texy locale: en, heading: 3}
...
{/texy}
Pokud chcete pomocí Texy formátovat text uložený v proměnné, můžete použít filtr:
{$description|texy}
Komentáře
Pepa Paprčka #1
Texy je fajn, ale dokumentace je trošku zanedbaná.
V části Modifikátory se říká „více se dozvíte v jiné kapitole“, která tam není. Editor nic nedělá.
Dotaz k modifikátorům: jak nastavit styl jen pro jedno nebo více slov, to znamená udělat tohle, ale bez vytučnění nebo kurzivy:
Chci aby **slovo .[text-danger]** bylo červené, ale ne tučné. Chci aby //tato slova .[text-danger]// byla červená, ale ne skloněná.Jak texy pozná odkud kam chci modifikovat?
David Grudl #2
Použij
"slovo .[text-danger]"
Vratislav #3
Zdravím, Davide.
Texy na texy.info zní výborně, ale po delším čase užívání ji opustím. Považuju ji za nespolehlivou a tedy nepoužitelnou, zkrátka ztrátu času. Bohužel, toto člověk zjistí poté, co implementaci věnoval drahý čas, který nelze vrátit zpět.
<i>
slovo1</i>
slovo2“. (Lze odepsat, že tento příklad „nemám psát“, ale to za prvé není pravda, za druhé to jen potvrzuje porážku protiargumentujícího.)<u>
,<s>
,<tt>
a<code>
(v rámci řádku), což z ní dělá rozpolcený jazyk, který „sedí na dvou židlích“ coby markup a hypertext.Texy automaticky maže všechny atributy data-* u všech prvků. Mazání je implicitní a nelze vypnout. Odkaz výše ukazuje „řešení“, které vlastně řešením není, protože všechny možné („uživatelsky definované“) atributy nelze vyjmenovat.
Texy je kvasi a polovičaté „řešení“ pouze na případy, kdy není zapisovaný kód příliš komplikovaný – ideálně jen tu a tam kurzívá a tučné písmo.
Napište komentář