Oznámení

Provoz fóra byl ukončen

něco jako shorthand tag

před 12 lety

noname
Člen | 28

(nevím jestli už to není)
možná by bylo zajímavé, kdyby existovaly nějaké „shorthand“ tagy – tj. nějaký tag, který bych zadal a ono by to místo něj napsalo to, co mám nadefinováno v konfiguráku. Příklad

tohle je text napsaný pomocí <a>
tohle třeba tahám z databáze jako velmi zjednodušená varianta addHandleru: <b>

nastavení texy:

$texy->shorthands->a = "<a href="https://texy.info">Texy</a>"
...
nějaký databázový dotaz, výstup 123 v proměné $variable
...
$texy->shorthands->b = $variable*2

výstup

tohle je text napsaný pomocí <a href="https://texy.info">Texy</a>"
tohle třeba tahám z databáze jako velmi zjednodušená varianta addHandleru: 246

hodně by se to hodilo právě jako ukazovátko na nějaký společný text, který bych mohl kdykoliv měnit, mohl bych do toho dávat cokoliv, včetně třeba reklamy atp. A nebo třeba pro redakční systémy bych si do toho nadefinoval nějaké proměnné toho redakčního systému

před 12 lety

David Grudl
Nette Core | 6806

před 12 lety

noname
Člen | 28

já vím, ale ty mi přijdou strašně těžkopádný a málokdo je tak použije. Tohle by byl naprosto jednoduchý jednořádkový příkaz.

Mimochodem – zapomněl jsem vysvětlit ještě můj nápad s využitím špičatých závorek – texy normálně umí zpracovávat html, takže špičaté závorky bere jako html kód, ale když by byly ty shorthandy jen jednopísmenné, tak by vlastně mohl nastat konflikt tuším jen u
<a> (což je bez href ale celkem nepoužitelná blbost)
<b> (všichni používají strong)
<i> (používá se CSS)
<u> (nepoužívá se prakticky vůbec)
a krom toho jsou vesměs v nových verzích html obsolete.
Samozřejmě by parser když nenajde nadefinovanou třeba $texy->shorthands->b tak by se k <b> choval as usual

když by se dalo použít cokoliv ve špičatých závorkách (takže si ty proměnné přímo pojmenovávat), tak by se musely řešit konflikty na víc místech, ale zas by se to dalo využít pro nějaký inteligentní manuální html rewrite. Takže bych třeba si nadefinoval, že $texy->shorthands->b = „<strong> a on by mi přepsal <b> tagy na <strong> tagy, jen by se muselo nějak vymyslet, jak řešit uzavírací tag. Ale to myslím není tak kritické, pro ty pojmenované proměnné už jsou ty handlery, tohle by byl opravdu jen rychlý jednořádkový a jednopísmenný kód pro "krátké ruce“

před 12 lety

David Grudl
Nette Core | 6806

Tak tohle by uměl vyřešit htmlTag handler. Jméno elementu získáš z $el->getName() a vrátit můžeš cokoliv.

Texy2 je záměrně napsané tak, aby se funkcionalita dala přizpůsobit nejrůznějším požadavkům a poměrně snadno. Natvrdo implementuju jen věci, které ocení většina uživatelů. Nebo já :-))