IE pod Windows XP kreslil tlačítka tak široká a zubatá, až z toho bolely
oči. Řešení? Kombinace overflow: visible a selektorového triku
input.button[class], který IE ignoruje. Dva řádky CSS, žádné
hacky, čistá elegance.
Jeden řádek CSS a tlačítko se z moderního prvku promění v artefakt
z pravěku. Na konkrétních příkladech ukazuji, jak křehká je výchozí
podoba formulářových prvků a proč je hvězdičkový reset spolehlivý
způsob, jak si je nenávratně zničit. Chytří neresetují.
Každý den dostávám otázku, kdy bude Nette. Místo odpovědi nabízím
příběh programátora, který ve tři ráno řeší, jestli smí přejmenovat
jednu blbou metodu, když ji používají tisíce lidí. A právě proto
to trvá.
AJAX editor Texyla, port do Ruby, .NET wrapper, zpětný převodník z HTML.
Kolem Texy vyrostl ekosystém, o kterém jste možná netušili. A kdo
říká, že open source nemůže být sexy?
Texy2 mělo zůstat v šuplíku, ale naštěstí nezůstalo. Precizní analýza
textu, která si poradí i s HTML peklem plným entit a komentářů, plus
maximální přizpůsobitelnost na pár řádků kódu. První beta je venku,
programátoři si mohou pochrochtávat.
Generování HTML v PHP je buď guláš z echo a uvozovek, nebo
přeinženýrovaný DOM. Nette\Utils\Html nabízí pragmatickou střední cestu:
objektové elementy s fluent rozhraním, kde kód vypadá skoro tak čistě
jako výsledné HTML.
CSS styl pro formuláře, který vypadá skvěle v majoritních
prohlížečích a přežije i ty minoritní, je křehká bestie. Po dlouhých
hodinách ladění jsem ji zkrotil. Výsledek si můžete stáhnout, ale radši
v něm moc nehrabte.
Komentářový spam jsou většinou shluky odkazů. Texy! si při formátování
poctivě zapisuje všechny URL do sumáře, takže stačí po zpracování
spočítat odkazy, porovnat s délkou textu a rozhodnout. Pár řádků kódu a
máte klid.
Webdesignéři celého světa optimalizují pro rozlišení monitoru. Jenže to
je úplně k ničemu, protože panely, lišty a rámečky ukrojí neznámý kus
plochy. Zajímavé je, že viewport skoro nikdo neměří, přestože jedině
ten rozhoduje.
Dokumentace mlčí, Google cudně mlčí, tak jsem se obětoval a prozradím to
sám. registerNodeClass() tiše vyřešila jeden z nejotravnějších
problémů DOM v PHP: jak dostat vlastní metody do naparsovaných uzlů,
místo aby fungovaly jen na těch ručně vytvořených.