<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>23D &#187; články</title>
	<atom:link href="http://23d.cz/blog/tag/clanky/feed/" rel="self" type="application/rss+xml" />
	<link>http://23d.cz</link>
	<description>Just another 23d.cz weblog</description>
	<lastBuildDate>Fri, 30 Jul 2010 08:52:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Co bych zlepšil na Weblogy.cz?</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/bLOOyTb6pOg/878678732</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/bLOOyTb6pOg/878678732#comments</comments>
		<pubDate>Fri, 30 Jul 2010 06:52:23 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/878678732</guid>
		<description><![CDATA[<p>Vytvořit agregátor jakéhokoliv internetového obsahu se jeví jako poměrně snadný úkol („To dáš da večer, woe.” – Vláďa, programátor, 16 let) a technicky tomu tak do jisté míry je.</p>

<p>Jenže agregátory by neměly obsah jen triviálně seskupovat, ale také o něm <em>přemýšlet</em>. Kromě náznaků u Facebooku jsem neviděl žádný co by to uměl dobře. A to včetně <a href="http://www.destinde.cz/">agregátoru</a> co provozuji. Předkládám tedy na  pohled <a href="http://weblogy.cz">Weblogy.cz</a> sice kritický, ale snad také konstruktivní.</p>

<p>Problém Weblogů před redesignem jsem neviděl ve vzhledu (i když ten nový je mi subjektivně příjemnější), ale v práci s obsahem, jeho rozlišování a třídění. Weblogům <strong>chybí editorský pohled člověka nebo alespoň chytrý algoritmus</strong>, který by takovou práci zčásti zastal. Změnil bych tři konkrétní věci:</p>

<h3>1) Detailnější rozpoznávání kvality</h3>

<p>Ano, je sice pravda, že systém Weblogů u každého zdroje umožňuje určit zda je kvalitní a jeho posty se pak odlišují. Jenže zvýraznit zajímavé posty v záplavě jiných tak jak jdou v čase za sebou není dobrý nápad. Když jsme si jistí, že obsah je kvalitní, neměl by za pár hodin zmizet z čelních pozic vytlačený nekvalitními zprávami, jež mají jedinou výhodu — byly vydány později. </p>

<p>A pak — je skutečně každý článek „kvalitního zdroje” kvalitní? Nemyslím, že by všechny články <a href="http://www.weblogy.cz/zdroje/vzhurudolu/">Vzhůru dolů</a> kvalitní byly a naopak <a href="http://www.weblogy.cz/zdroje/vrana/">PHP triky</a> do Weblogů neposlaly jediný výborný článek. Rozlišovací lupu je myslím potřeba zaměřit na konkrétní články, nikoliv celé zdroje.</p>

<h3>2) Rozlišování typů článků</h3>

<p>Typy obsahu, jež Weblogy.cz zobrazují bez odlišení vedle sebe, staví uživatele před těžké rozhodování. Třeba: Zdroják zde rozumně publikuje jen články, zatímco Intervalu na Weblogy.cz vychází každá přežvýkaná zprávička ze zahraničního webu. Vsadím se, že neexistuje čtenář, který by se uměl a chtěl rozhodovat, který článek Intervalu bude „zprávička” a který pak „článek”. Zřejmě pak bude tenhle zdroj ignorovat.</p>

<h3>3) Třídění obsahu</h3>

<p>Weblogy navštěvuje sice určitá konkrétní skupina lidí (web-geekové), ale ta se dále dělí do menších skupin, jejichž témata se překrývají jen částečně. Webové podnikatele, marketéry, programátory, grafiky … všechny zajímají trochu jiná témata. </p>

<p>Na zmiňovaném agregátoru jsem zkoušel automatické třídění obsahu do ručně vytvářených kategorií, které šlo <a href="http://www.destinde.cz/Cyklistika+Stredocesky-kraj/">dále kombinovat</a> tak, že čtenář může odebírat jen obsah, který ho skutečně zajímá. Pokud by ji autoři Weblogů zvládli lépe, je to další zajímavá funkce, sice náročná ale dávající existenci agregátoru smysl.</p>

<p>Jsem přesvědčen, že vytvořit a spravovat dobrý agregátor lze, ale ne v nadšeneckých podmínkách nebo jako „bokovku”. Podobně jako u jiných „chytrých” webových služeb, potřebujete spoustu energie, dobrý vývojářský tým nebo editora s vizí a množstvím času. Weblogy.cz i po kosmetické změně tváře bohužel zůstávají na začátku cesty.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=bLOOyTb6pOg:YpOBQTqoC5I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/bLOOyTb6pOg" height="1">]]></description>
			<content:encoded><![CDATA[<p>Vytvořit agregátor jakéhokoliv internetového obsahu se jeví jako poměrně snadný úkol („To dáš da večer, woe.” – Vláďa, programátor, 16 let) a technicky tomu tak do jisté míry je.</p>

<p>Jenže agregátory by neměly obsah jen triviálně seskupovat, ale také o něm <em>přemýšlet</em>. Kromě náznaků u Facebooku jsem neviděl žádný co by to uměl dobře. A to včetně <a href="http://www.destinde.cz/">agregátoru</a> co provozuji. Předkládám tedy na  pohled <a href="http://weblogy.cz">Weblogy.cz</a> sice kritický, ale snad také konstruktivní.</p>

<p>Problém Weblogů před redesignem jsem neviděl ve vzhledu (i když ten nový je mi subjektivně příjemnější), ale v práci s obsahem, jeho rozlišování a třídění. Weblogům <strong>chybí editorský pohled člověka nebo alespoň chytrý algoritmus</strong>, který by takovou práci zčásti zastal. Změnil bych tři konkrétní věci:</p>

<h3>1) Detailnější rozpoznávání kvality</h3>

<p>Ano, je sice pravda, že systém Weblogů u každého zdroje umožňuje určit zda je kvalitní a jeho posty se pak odlišují. Jenže zvýraznit zajímavé posty v záplavě jiných tak jak jdou v čase za sebou není dobrý nápad. Když jsme si jistí, že obsah je kvalitní, neměl by za pár hodin zmizet z čelních pozic vytlačený nekvalitními zprávami, jež mají jedinou výhodu — byly vydány později. </p>

<p>A pak — je skutečně každý článek „kvalitního zdroje” kvalitní? Nemyslím, že by všechny články <a href="http://www.weblogy.cz/zdroje/vzhurudolu/">Vzhůru dolů</a> kvalitní byly a naopak <a href="http://www.weblogy.cz/zdroje/vrana/">PHP triky</a> do Weblogů neposlaly jediný výborný článek. Rozlišovací lupu je myslím potřeba zaměřit na konkrétní články, nikoliv celé zdroje.</p>

<h3>2) Rozlišování typů článků</h3>

<p>Typy obsahu, jež Weblogy.cz zobrazují bez odlišení vedle sebe, staví uživatele před těžké rozhodování. Třeba: Zdroják zde rozumně publikuje jen články, zatímco Intervalu na Weblogy.cz vychází každá přežvýkaná zprávička ze zahraničního webu. Vsadím se, že neexistuje čtenář, který by se uměl a chtěl rozhodovat, který článek Intervalu bude „zprávička” a který pak „článek”. Zřejmě pak bude tenhle zdroj ignorovat.</p>

<h3>3) Třídění obsahu</h3>

<p>Weblogy navštěvuje sice určitá konkrétní skupina lidí (web-geekové), ale ta se dále dělí do menších skupin, jejichž témata se překrývají jen částečně. Webové podnikatele, marketéry, programátory, grafiky … všechny zajímají trochu jiná témata. </p>

<p>Na zmiňovaném agregátoru jsem zkoušel automatické třídění obsahu do ručně vytvářených kategorií, které šlo <a href="http://www.destinde.cz/Cyklistika+Stredocesky-kraj/">dále kombinovat</a> tak, že čtenář může odebírat jen obsah, který ho skutečně zajímá. Pokud by ji autoři Weblogů zvládli lépe, je to další zajímavá funkce, sice náročná ale dávající existenci agregátoru smysl.</p>

<p>Jsem přesvědčen, že vytvořit a spravovat dobrý agregátor lze, ale ne v nadšeneckých podmínkách nebo jako „bokovku”. Podobně jako u jiných „chytrých” webových služeb, potřebujete spoustu energie, dobrý vývojářský tým nebo editora s vizí a množstvím času. Weblogy.cz i po kosmetické změně tváře bohužel zůstávají na začátku cesty.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=bLOOyTb6pOg:YpOBQTqoC5I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=bLOOyTb6pOg:YpOBQTqoC5I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/bLOOyTb6pOg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/bLOOyTb6pOg/878678732/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Na obranu IE6</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/xKF_SgTTRGc/828988237</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/xKF_SgTTRGc/828988237#comments</comments>
		<pubDate>Sun, 18 Jul 2010 20:39:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[msie]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/828988237</guid>
		<description><![CDATA[<p>Málo věcí je ve webdesignu tak jednoznačných jako image Microsoft
Internet Exploreru verze 6 mezi vývojáři. Lze to považovat za kolorit, asi
jako nadávky na politiku před volbami. Dvě obvyklá trvzení vývojářů mě
ovšem nutí stavět se do opozice ustáleného názoru:</p>

<ol>
<li>„IE6 je tak málo rozšířený, že jej mohu již nyní směle
    ignorovat.”</li>

    <li>„Ladění webů pro IE6 vyžaduje nadlidské množství nepříjemné
    práce.”</li>
</ol>
<p>Obávám se totiž, že jsou často produktem lidské liknavosti, která
našla obhajobu ve většinově přijímaném názoru. Takže brousím modré
„é”, sundávám brýle a vyrážím na pomoc drahému staříkovi…</p>

<p>V článku uvažujeme v intencích HTML/CSS vrstvy prezentačních
webů, v případě aplikací a Javascriptu bude situace jiná.</p>

<!-- more -->

<h3>Můžete ho nenávidět, ale ne ignorovat</h3>

<p>Budeme všichni jistě rádi, až si budeme moci dovolit uživatele s IE6
zařadit do nepočetné skupiny „zoufalci používající starý šrot”
vedle uživatelů IE5 a Netscape 4.7. Ta situace u velké části webů
ještě ale nenastala a dlouho nenastane. Víme jak je šestka zažraná <a href="http://about.digg.com/blog/much-ado-about-ie6">v korporátních
systémech</a> a jen tušíme jakou ty mají setrvačnost. (Dožití
systémových administrátorů? :-)) Pokud neděláte geekovské weby nebo
prostě nemáte štěstí, budete ještě dlouho muset uvažovat s podílem
lidí vybavených IE6 na návštěvnosti vašich stránek nad hranicí 5 %.</p>

<h3>Průběžné ladění v IE6 — nebolí to</h3>

<p>Přátelé, třeba se budete divit, ale i dnes mám skoro u každého webu
v sadě testovaných prohlížečů otevřený Microsoft Internet Explorer
verze 6. Proč to dělám v případě prohlížeče, který považován za
softwarovou verzi ďábla?</p>

<p>Hlavně proto, že to je daleko příjemnější a časově úspornější,
než rozšířená metoda „odladím všechny moderní prohlížeče a pak na
web mrknu v IE6”. Ta musí zákonitě končit nahromaděním nepříjemné
práce, frustrací kodéra, vymýšlením speciálních zjednodušených verzí
pro IE6 a následně často nespokojeností uživatelů.</p>

<p>Daleko snazší je uvažovat už při návrhu technického řešení
konkrétních prvků stránky v intencích současného stavu rozšíření
prohlížečů mezi lidmi. Většina zásadních problémů s IE6 je dobře
známých a zdokumentovaných — hasLayout, nepodpora fixního pozicování,
PNG alfaprůhlednosti nebo některých CSS selektorů. Naše znalosti
promítneme do hledání řešení, které bude fungovat i v IE6.</p>

<p>Pozor, metoda průběžného ladění také v IE6 <strong>nespočívá
v tom, že moderním prohlížečům nedopřejete jejich CSS3
vlastnosti</strong> a že budeme ignorovat technický pokrok. Cílem je prostě
mít v kapse základní skupinu ověřených postupů, které fungují ve
všech moderních prohlížečích a v IE6. A u toho konkrétního prvku
stránky, kde si budeme jistí, že nás IE6 už trochu moc brzdí, zvážíme
zda jej prostě neignorovat.</p>

<h3>Je dokonalý kód smyslem práce kodéra?</h3>

<p>Ano, váš kód nebude nejčistší. V HTML se občas vyskytnou nějaké ty
mazací divy atd. Ale položte si otázku, jaký je smysl toho být kodérem:
čistota kódu nebo <strong>zlepšení uživatelského prožitku technickými
prostředky</strong> pro co nejširší skupinu lidí?</p>

<p>Patřím k těm co v čistotě kódu ten pravý smysl vývojařiny nevidí.
A patřím k těm, kteří se nebojí udělat práci navíc, i když ji
ocení jen pár lidí. Začíná to poctivě vyplněnými alt parametry, končí
hojným využíváním mikroformátů. Proto například v IE6 obvykle
nahradím všechny poloprůhledné PNGéčka pomocí GIFů, protože web pak
vypadá výrazně lépe než když to neudělám a načítá se rychleji než
když bych nasadil některý z javascriptových fixů pro PNG alfaprůhlednost.
I na středně velkém webu je to celkově operace na pár minut, zlepšený
uživatelský prožitek lidí s IE6 za to stojí.</p>

<p>Mimochodem, druhý důvod, proč mívám IE6 větší část pracovního dne
puštěný a nemám přitom potřebu namazat si každé ráno klávesnici
česnekem je tento: S vědomím výjimek lze říct, že <strong>co se
správně zobrazuje v IE6, bude fungovat v IE7</strong>. Proto je šestka
spolu s IE8, Firefoxem, Chrome v základní čtyřce prohlížečů, ve
kterých šablony ladím průběžně. IE7 pouštím jen jednou za čas —
třeba pro závěrečný test šablony.</p>

<h3>Vstřícnost vůči IE6 musí být časově obhajitelná</h3>

<p>Kolega <a href="http://kahi.cz">Kahi</a> při nedávné mailové diskuzi
zmiňoval, že se snaží netrávit s laděním pro IE6 větší podíl času
na celkovém rozpočtu než je jeho aktuální podíl na návštěvnosti
v daném segmentu. Nemůžu než souhlasit a tvrdím, že postupem
průběžného ladění je časový podíl rozhodně ještě menší.</p>

<p>Máme tedy stále používaný prohlížeč, kterým web v průměru
navštěvuje v průměru dvacetina lidí. Máme také způsob jakým můžeme
lidem s tímhle prohlížečem s odpovídajícím vypětím sil nabídnout
srovnatelný uživatelský prožitek jako těm ostatním. Co nám tedy brání
tu práci udělat? Image vývojářského drsňáka? ;-)</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=xKF_SgTTRGc:5icbcZtI4Es:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/xKF_SgTTRGc" height="1">]]></description>
			<content:encoded><![CDATA[<p>Málo věcí je ve webdesignu tak jednoznačných jako image Microsoft
Internet Exploreru verze 6 mezi vývojáři. Lze to považovat za kolorit, asi
jako nadávky na politiku před volbami. Dvě obvyklá trvzení vývojářů mě
ovšem nutí stavět se do opozice ustáleného názoru:</p>

<ol>
<li>„IE6 je tak málo rozšířený, že jej mohu již nyní směle
    ignorovat.”</li>

    <li>„Ladění webů pro IE6 vyžaduje nadlidské množství nepříjemné
    práce.”</li>
</ol>
<p>Obávám se totiž, že jsou často produktem lidské liknavosti, která
našla obhajobu ve většinově přijímaném názoru. Takže brousím modré
„é”, sundávám brýle a vyrážím na pomoc drahému staříkovi…</p>

<p><small>V článku uvažujeme v intencích HTML/CSS vrstvy prezentačních
webů, v případě aplikací a Javascriptu bude situace jiná.</small></p>

<!-- more -->

<h3>Můžete ho nenávidět, ale ne ignorovat</h3>

<p>Budeme všichni jistě rádi, až si budeme moci dovolit uživatele s IE6
zařadit do nepočetné skupiny „zoufalci používající starý šrot”
vedle uživatelů IE5 a Netscape 4.7. Ta situace u velké části webů
ještě ale nenastala a dlouho nenastane. Víme jak je šestka zažraná <a href="http://about.digg.com/blog/much-ado-about-ie6">v korporátních
systémech</a> a jen tušíme jakou ty mají setrvačnost. (Dožití
systémových administrátorů? :-)) Pokud neděláte geekovské weby nebo
prostě nemáte štěstí, budete ještě dlouho muset uvažovat s podílem
lidí vybavených IE6 na návštěvnosti vašich stránek nad hranicí 5 %.</p>

<h3>Průběžné ladění v IE6 — nebolí to</h3>

<p>Přátelé, třeba se budete divit, ale i dnes mám skoro u každého webu
v sadě testovaných prohlížečů otevřený Microsoft Internet Explorer
verze 6. Proč to dělám v případě prohlížeče, který považován za
softwarovou verzi ďábla?</p>

<p>Hlavně proto, že to je daleko příjemnější a časově úspornější,
než rozšířená metoda „odladím všechny moderní prohlížeče a pak na
web mrknu v IE6”. Ta musí zákonitě končit nahromaděním nepříjemné
práce, frustrací kodéra, vymýšlením speciálních zjednodušených verzí
pro IE6 a následně často nespokojeností uživatelů.</p>

<p>Daleko snazší je uvažovat už při návrhu technického řešení
konkrétních prvků stránky v intencích současného stavu rozšíření
prohlížečů mezi lidmi. Většina zásadních problémů s IE6 je dobře
známých a zdokumentovaných — hasLayout, nepodpora fixního pozicování,
PNG alfaprůhlednosti nebo některých CSS selektorů. Naše znalosti
promítneme do hledání řešení, které bude fungovat i v IE6.</p>

<p>Pozor, metoda průběžného ladění také v IE6 <strong>nespočívá
v tom, že moderním prohlížečům nedopřejete jejich CSS3
vlastnosti</strong> a že budeme ignorovat technický pokrok. Cílem je prostě
mít v kapse základní skupinu ověřených postupů, které fungují ve
všech moderních prohlížečích a v IE6. A u toho konkrétního prvku
stránky, kde si budeme jistí, že nás IE6 už trochu moc brzdí, zvážíme
zda jej prostě neignorovat.</p>

<h3>Je dokonalý kód smyslem práce kodéra?</h3>

<p>Ano, váš kód nebude nejčistší. V HTML se občas vyskytnou nějaké ty
mazací divy atd. Ale položte si otázku, jaký je smysl toho být kodérem:
čistota kódu nebo <strong>zlepšení uživatelského prožitku technickými
prostředky</strong> pro co nejširší skupinu lidí?</p>

<p>Patřím k těm co v čistotě kódu ten pravý smysl vývojařiny nevidí.
A patřím k těm, kteří se nebojí udělat práci navíc, i když ji
ocení jen pár lidí. Začíná to poctivě vyplněnými alt parametry, končí
hojným využíváním mikroformátů. Proto například v IE6 obvykle
nahradím všechny poloprůhledné PNGéčka pomocí GIFů, protože web pak
vypadá výrazně lépe než když to neudělám a načítá se rychleji než
když bych nasadil některý z javascriptových fixů pro PNG alfaprůhlednost.
I na středně velkém webu je to celkově operace na pár minut, zlepšený
uživatelský prožitek lidí s IE6 za to stojí.</p>

<p>Mimochodem, druhý důvod, proč mívám IE6 větší část pracovního dne
puštěný a nemám přitom potřebu namazat si každé ráno klávesnici
česnekem je tento: S vědomím výjimek lze říct, že <strong>co se
správně zobrazuje v IE6, bude fungovat v IE7</strong>. Proto je šestka
spolu s IE8, Firefoxem, Chrome v základní čtyřce prohlížečů, ve
kterých šablony ladím průběžně. IE7 pouštím jen jednou za čas —
třeba pro závěrečný test šablony.</p>

<h3>Vstřícnost vůči IE6 musí být časově obhajitelná</h3>

<p>Kolega <a href="http://kahi.cz">Kahi</a> při nedávné mailové diskuzi
zmiňoval, že se snaží netrávit s laděním pro IE6 větší podíl času
na celkovém rozpočtu než je jeho aktuální podíl na návštěvnosti
v daném segmentu. Nemůžu než souhlasit a tvrdím, že postupem
průběžného ladění je časový podíl rozhodně ještě menší.</p>

<p>Máme tedy stále používaný prohlížeč, kterým web v průměru
navštěvuje v průměru dvacetina lidí. Máme také způsob jakým můžeme
lidem s tímhle prohlížečem s odpovídajícím vypětím sil nabídnout
srovnatelný uživatelský prožitek jako těm ostatním. Co nám tedy brání
tu práci udělat? Image vývojářského drsňáka? ;-)</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=xKF_SgTTRGc:5icbcZtI4Es:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=xKF_SgTTRGc:5icbcZtI4Es:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/xKF_SgTTRGc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/xKF_SgTTRGc/828988237/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tumblr nebo Posterous? Nejdřív jeden a pak druhý</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/vCR6mhZkbh8/606956139</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/vCR6mhZkbh8/606956139#comments</comments>
		<pubDate>Mon, 17 May 2010 13:51:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[posterous]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/606956139</guid>
		<description><![CDATA[<p>Na <a href="http://tumblr.com">Tumblr</a> publikuji aktuální verzi Vzhůru dolů a mám za sebou řadu nasazení pro klienty Shortcat. Dnes jsem konečně pořádně prošel také <a href="http://posterous.com/">Posterous</a>. Oba blogovací systémy jsou srovnávány a i když na otázku „Který vybrat?” asi neodpovím všem, několik postřehů bych měl…</p>

<p>Předně — je chybou oba porovnávat jako aplikace pro stejné použití. Tumblr se skvěle hodí pro lidi, kteří chějí publikovat tumblelog, tedy něco mezi blogem a mikroblogem s velkým množstvím multimediálního obsahu. Posterous je čistě blogovací systém, tedy konkurence spíše pro Wordpress nebo dnes už přežitý Blogger.</p>

<p>Posterous je proto nabitý funkcemi, Tumblr jich má myslím trošku méně, ale zato (nebo proto) má výrazně lépe zvládnuté rozhraní. Je to krásně vidět na dashboardu, kde se v případě Posterous dostavuje známý pocit pohledu na řídící panel Temelína, ale „nástěnce” Tumbleru hned rozumíte.</p>

<p>Tumblr tak na první pohled bude srozumitelnější — promiňte to spojení — „obyčejným lidem”. Geeky, kteří se chtějí chlubit počtem zatržítek zatržených během dne, osloví Posterous. :-)</p>

<p><strong>Tumblr mě proto připadá daleko lepší pro ty, co s publikování začínají nebo od blogovací aplikace očekávají hlavně jednoduchost.</strong> Tady se opravdu nebudete muset moc učit.</p>

<p><strong>Pokud vám Tumblr začne být malý, nebudete mít problém k Posterous přejít.</strong> Ten totiž umí obsah vašeho tumblelogu kompletně importovat a to včetně šablon, pokud je máte vyrobené na míru.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=vCR6mhZkbh8:-8xN2yjr6gE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/vCR6mhZkbh8" height="1">]]></description>
			<content:encoded><![CDATA[<p>Na <a href="http://tumblr.com">Tumblr</a> publikuji aktuální verzi Vzhůru dolů a mám za sebou řadu nasazení pro klienty Shortcat. Dnes jsem konečně pořádně prošel také <a href="http://posterous.com/">Posterous</a>. Oba blogovací systémy jsou srovnávány a i když na otázku „Který vybrat?” asi neodpovím všem, několik postřehů bych měl…</p>

<p>Předně — je chybou oba porovnávat jako aplikace pro stejné použití. Tumblr se skvěle hodí pro lidi, kteří chějí publikovat tumblelog, tedy něco mezi blogem a mikroblogem s velkým množstvím multimediálního obsahu. Posterous je čistě blogovací systém, tedy konkurence spíše pro Wordpress nebo dnes už přežitý Blogger.</p>

<p>Posterous je proto nabitý funkcemi, Tumblr jich má myslím trošku méně, ale zato (nebo proto) má výrazně lépe zvládnuté rozhraní. Je to krásně vidět na dashboardu, kde se v případě Posterous dostavuje známý pocit pohledu na řídící panel Temelína, ale „nástěnce” Tumbleru hned rozumíte.</p>

<p>Tumblr tak na první pohled bude srozumitelnější — promiňte to spojení — „obyčejným lidem”. Geeky, kteří se chtějí chlubit počtem zatržítek zatržených během dne, osloví Posterous. :-)</p>

<p><strong>Tumblr mě proto připadá daleko lepší pro ty, co s publikování začínají nebo od blogovací aplikace očekávají hlavně jednoduchost.</strong> Tady se opravdu nebudete muset moc učit.</p>

<p><strong>Pokud vám Tumblr začne být malý, nebudete mít problém k Posterous přejít.</strong> Ten totiž umí obsah vašeho tumblelogu kompletně importovat a to včetně šablon, pokud je máte vyrobené na míru.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=vCR6mhZkbh8:-8xN2yjr6gE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=vCR6mhZkbh8:-8xN2yjr6gE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/vCR6mhZkbh8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/vCR6mhZkbh8/606956139/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dirk Jesse, autor YAML, o CSS frameworcích</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/zY_XwO3erNU/491713805</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/zY_XwO3erNU/491713805#comments</comments>
		<pubDate>Fri, 02 Apr 2010 20:00:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[css frameworky]]></category>
		<category><![CDATA[prezentace]]></category>
		<category><![CDATA[yaml-css]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/491713805</guid>
		<description><![CDATA[<p>Zvládnete němčinu? Kvůli téhle prezentaci byste mohli. :-) Autor <a href="http://www.yaml.de/en/">YAML</a> v ní představuje svůj pohled na CSS frameworky.</p>

<div class="underline_note">


<div style="width:850px" id="__ss_3585315">
<strong><a href="http://www.slideshare.net/djesse/layout-frameworks-im-professionellen-webdesign" title="Layout Frameworks im professionellen Webdesign">Layout Frameworks im professionellen Webdesign</a></strong>


<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/djesse">djesse</a>.</div>
</div>

</div>

<p>Několik vzájemně nesouvisejících poznámek…</p>

<p>Dirk zmiňuje také nevýhody resetovacích CSS: Meyerova a YUI. Dá se souhlasit s tím, že reset, který mění nativní způsob zobrazování prvků (neboldový <code><strong></strong></code> nebo seznamy zbavené odrážek) nám trošku přidává práci.</p>

<p>Ostatně, nic takového mě neťuklo, což bude tím, že všechny CSS frameworky, které jsem dosud použil, tyto vyresetované vlastnosti vracely zase zpět. Taky zde slyšíte absurdno a humor?</p>

<p>Neměl jsem tušení, že jeho YAML využívají takhle velké německé weby — Stern, ZDF … To je slušný úlovek! Ale při proklikání webu jeho frameworku vám to dojde — je zde uplatněna zásada, že nikoliv zdrojový kód, ale dokumentace a informační ekosystém dělí technologie na úspěšné a neúspěšné.</p>

<p>Závěrečný výkřik k prezentaci zní: Forma! Vážně — dělal ji člověk, který ví, že forma a obsah se nesmí rozcházet a z každé slídy je patrná (až se chce klišovitě říct německá) preciznost a hlavně úcta a empatie vůči publiku a jeho tužbě nikoliv jen vzdělávací ale také emocionální. Tuzemští prezentující, zamyslete se nad tím. .-)</p>

<hr />
<div class="underline_note">
Milí čtenáři, velikost prezentace není chyba, ale aplikace úmyslu s lepším využitím prostoru pro obsah jež k tomu vybízí, který jsem měl už s redesignem tohoto blogu. Ať se vám dobře prohlíží!
</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=zY_XwO3erNU:T0G0GZMsA9o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/zY_XwO3erNU" height="1">]]></description>
			<content:encoded><![CDATA[<p>Zvládnete němčinu? Kvůli téhle prezentaci byste mohli. :-) Autor <a href="http://www.yaml.de/en/">YAML</a> v ní představuje svůj pohled na CSS frameworky.</p>

<div class="underline_note">
<small>

<div style="width:850px" id="__ss_3585315">
<strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/djesse/layout-frameworks-im-professionellen-webdesign" title="Layout Frameworks im professionellen Webdesign">Layout Frameworks im professionellen Webdesign</a></strong><object width="850" height="674"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=layout-frameworksimprofessionellenwebdesign-slideshare-100329091321-phpapp02&stripped_title=layout-frameworks-im-professionellen-webdesign">
<param name="allowFullScreen" value="true">
<param name="allowScriptAccess" value="always">
<embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=layout-frameworksimprofessionellenwebdesign-slideshare-100329091321-phpapp02&stripped_title=layout-frameworks-im-professionellen-webdesign" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="850" height="674"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/djesse">djesse</a>.</div>
</div>
</small>
</div>

<p>Několik vzájemně nesouvisejících poznámek…</p>

<p>Dirk zmiňuje také nevýhody resetovacích CSS: Meyerova a YUI. Dá se souhlasit s tím, že reset, který mění nativní způsob zobrazování prvků (neboldový <code><strong></strong></code> nebo seznamy zbavené odrážek) nám trošku přidává práci.</p>

<p>Ostatně, nic takového mě neťuklo, což bude tím, že všechny CSS frameworky, které jsem dosud použil, tyto vyresetované vlastnosti vracely zase zpět. Taky zde slyšíte absurdno a humor?</p>

<p>Neměl jsem tušení, že jeho YAML využívají takhle velké německé weby — Stern, ZDF … To je slušný úlovek! Ale při proklikání webu jeho frameworku vám to dojde — je zde uplatněna zásada, že nikoliv zdrojový kód, ale dokumentace a informační ekosystém dělí technologie na úspěšné a neúspěšné.</p>

<p>Závěrečný výkřik k prezentaci zní: Forma! Vážně — dělal ji člověk, který ví, že forma a obsah se nesmí rozcházet a z každé slídy je patrná (až se chce klišovitě říct německá) preciznost a hlavně úcta a empatie vůči publiku a jeho tužbě nikoliv jen vzdělávací ale také emocionální. Tuzemští prezentující, zamyslete se nad tím. .-)</p>

<hr>
<div class="underline_note">
<small>Milí čtenáři, velikost prezentace není chyba, ale aplikace úmyslu s lepším využitím prostoru pro obsah jež k tomu vybízí, který jsem měl už s redesignem tohoto blogu. Ať se vám dobře prohlíží!</small>
</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=zY_XwO3erNU:T0G0GZMsA9o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=zY_XwO3erNU:T0G0GZMsA9o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/zY_XwO3erNU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/zY_XwO3erNU/491713805/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manuál stylopisů (a jednoduchost CSS můžeme zase chválit)</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540#comments</comments>
		<pubDate>Wed, 24 Feb 2010 20:36:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[spravovatelnost kódu]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/409587540</guid>
		<description><![CDATA[<p>Jak se ve změti CSS pravidel webového projektu dobrat systému, který bude snadno přenositelný na jiného člověka? Jak to udělat s technologií, jejíž esencí je jednoduchost? Supergeeky proklínaná a amatéry zbožňovaná vlastnost kaskádových stylů.</p>

<h3 id="toc-jednoduchost-css">Jednoduchost technologie špatný kód neospravedlňuje</h3>

<p>„Ach, kdyby jen specifikace CSS obsahovala proměnné!” a další geekovské povzdechy si můžeme odpustit, protože a) právě teď nic takového CSS neobsahuje a b) není jisté, že by to CSS bordelářům skutečně pomohlo. Myslím si, že jednoduchost je velmi dobrá vlastnost jakékoliv technologie, CSS nevyjímaje.</p>

<p>Hezky to dříve popsal <a href="http://withoutanswers.com/post/174883150/does-css-needs-variables-selector-blocks-or-similar">Honza Sládek</a>, takže pro argumenty zajděte k němu. My můžeme pokračovat směrem k návrhu řešení palčivé otázky.</p>

<p>Jak z jednotlivých opakujících se pravidel extrahovat informaci o typech písem, barvách či layoutu obecně používaném na webu tak, aby stylopisy splňovaly alespoň základní parametr udržovatelnosti — že jim bude rozumět sám autor, když se ke své práci za tři měsíce vrátí?</p>

<p>Jelikož se snažím se upřednostňovat jednoduchá řešení a vyhýbat se vrstvení technologií, z našich úvah vyřazuji CSS preprocesory jako <a href="http://lesscss.org/" title="LESS - Leaner CSS">LESS</a>, čímž ale neříkám, že pro ně nevidím uplatnění.</p>

<h3 id="toc-ponekud-tupy">Poněkud tupý, přesně takový jaký jej chceme — manuál stylopisu</h3>

<p>Po mnoha pokusech se mi nakonec obrovsky osvědčila úplně nejtupější varianta — manuál v externím souboru. V adresáři se stylopisy u každého svého projektu najdu soubor README.txt, ve kterém všechny potřebné informace jsou. Kdykoliv pak na webu vytvářím nový prvek, podívám se sem a zjistím jaké by měl mít vlastnosti.</p>

<h3 id="toc-obsah-manualu">Obsah manuálu</h3>

<p>Pojďme se podívat co takový manuál stylopisu může obsahovat.</p>

<ul>
<li>Kontakty na autora</li>
<li>Seznam souborů a jejich obsah</li>
<li>Písma a jejich varianty </li>
<li><a href="http://kratce.vzhurudolu.cz/post/70178003/z-index-index">Index z-indexů</a></li>
<li>Barvy a jejich varianty</li>
<li>Rozměry opakujících se prvků laoyutu<br />
</li>
</ul>
<p>Než plýtvat detaily, odkážu vás na tři své manuály stylopisu, které jsou součástí projektů vyrobených v Shortcat studiu.</p>

<p><a class="big_anchor" href="http://www.biooko.net/css/readme.txt" title="BioOKO">BioOKO</a> 
<a class="big_anchor" href="http://www.festival.cz/stylesheets/readme.txt" title="Pražské jaro">Pražské jaro</a> 
<a class="big_anchor" href="http://static.hipposdesign.com/css/readme.txt" title="Hipposdesign.com">Hipposdesign.com</a><br /></p>

<p>Jedna část manuálu tedy nahrazuje velmi málo se vyskytující manuály designu a také vizuální identity. Další část supluje nedokonalost CSS jako technologie — například pro varianty barev  budeme moci brzy začít široce využívat <a href="http://www.css3.info/preview/rgba/" id="mmic" title="RGBa">RGBa</a>. Index z-indexů a varianty písem zase sjednocují na jedno místo informace, které bývají rozptýlené po různých pravidlech ve stylopisu.</p>

<p>Manuál stylopisu v žádném případě nenahradí dobře organizovaný, komentovaný a srozumitelně psaný CSS kód. Přidává vrstvu abstrakce, kterou kaskádové styly neumožňují.</p>

<p>Milí čtenáři, více než jindy zde ocením váš feedback a vlastní zkušenosti se správou CSS.<br /></p>

<hr />
<div class="underline_note">

Díky <a href="http://www.valka.info/">Ondrovi Válkovi</a> za <a href="http://twitter.com/ondrejvalka/status/9324746359">výstřel z Aurory</a>, kterým mě donutil článek oprášit a publikovat.


</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/492IrE4BRJc" height="1">]]></description>
			<content:encoded><![CDATA[<p>Jak se ve změti CSS pravidel webového projektu dobrat systému, který bude snadno přenositelný na jiného člověka? Jak to udělat s technologií, jejíž esencí je jednoduchost? Supergeeky proklínaná a amatéry zbožňovaná vlastnost kaskádových stylů.</p>

<h3 id="toc-jednoduchost-css">Jednoduchost technologie špatný kód neospravedlňuje</h3>

<p>„Ach, kdyby jen specifikace CSS obsahovala proměnné!” a další geekovské povzdechy si můžeme odpustit, protože a) právě teď nic takového CSS neobsahuje a b) není jisté, že by to CSS bordelářům skutečně pomohlo. Myslím si, že jednoduchost je velmi dobrá vlastnost jakékoliv technologie, CSS nevyjímaje.</p>

<p>Hezky to dříve popsal <a href="http://withoutanswers.com/post/174883150/does-css-needs-variables-selector-blocks-or-similar">Honza Sládek</a>, takže pro argumenty zajděte k němu. My můžeme pokračovat směrem k návrhu řešení palčivé otázky.</p>

<p>Jak z jednotlivých opakujících se pravidel extrahovat informaci o typech písem, barvách či layoutu obecně používaném na webu tak, aby stylopisy splňovaly alespoň základní parametr udržovatelnosti — že jim bude rozumět sám autor, když se ke své práci za tři měsíce vrátí?</p>

<p>Jelikož se snažím se upřednostňovat jednoduchá řešení a vyhýbat se vrstvení technologií, z našich úvah vyřazuji CSS preprocesory jako <a href="http://lesscss.org/" title="LESS - Leaner CSS">LESS</a>, čímž ale neříkám, že pro ně nevidím uplatnění.</p>

<h3 id="toc-ponekud-tupy">Poněkud tupý, přesně takový jaký jej chceme — manuál stylopisu</h3>

<p>Po mnoha pokusech se mi nakonec obrovsky osvědčila úplně nejtupější varianta — manuál v externím souboru. V adresáři se stylopisy u každého svého projektu najdu soubor README.txt, ve kterém všechny potřebné informace jsou. Kdykoliv pak na webu vytvářím nový prvek, podívám se sem a zjistím jaké by měl mít vlastnosti.</p>

<h3 id="toc-obsah-manualu">Obsah manuálu</h3>

<p>Pojďme se podívat co takový manuál stylopisu může obsahovat.</p>

<ul>
<li>Kontakty na autora</li>
<li>Seznam souborů a jejich obsah</li>
<li>Písma a jejich varianty </li>
<li><a href="http://kratce.vzhurudolu.cz/post/70178003/z-index-index">Index z-indexů</a></li>
<li>Barvy a jejich varianty</li>
<li>Rozměry opakujících se prvků laoyutu<br/>
</li>
</ul>
<p>Než plýtvat detaily, odkážu vás na tři své manuály stylopisu, které jsou součástí projektů vyrobených v Shortcat studiu.</p>

<p><a class="big_anchor" href="http://www.biooko.net/css/readme.txt" title="BioOKO">BioOKO</a> 
<a class="big_anchor" href="http://www.festival.cz/stylesheets/readme.txt" title="Pražské jaro">Pražské jaro</a> 
<a class="big_anchor" href="http://static.hipposdesign.com/css/readme.txt" title="Hipposdesign.com">Hipposdesign.com</a><br/></p>

<p>Jedna část manuálu tedy nahrazuje velmi málo se vyskytující manuály designu a také vizuální identity. Další část supluje nedokonalost CSS jako technologie — například pro varianty barev  budeme moci brzy začít široce využívat <a href="http://www.css3.info/preview/rgba/" id="mmic" title="RGBa">RGBa</a>. Index z-indexů a varianty písem zase sjednocují na jedno místo informace, které bývají rozptýlené po různých pravidlech ve stylopisu.</p>

<p>Manuál stylopisu v žádném případě nenahradí dobře organizovaný, komentovaný a srozumitelně psaný CSS kód. Přidává vrstvu abstrakce, kterou kaskádové styly neumožňují.</p>

<p>Milí čtenáři, více než jindy zde ocením váš feedback a vlastní zkušenosti se správou CSS.<br/></p>

<hr>
<div class="underline_note">

<small>Díky <a href="http://www.valka.info/">Ondrovi Válkovi</a> za <a href="http://twitter.com/ondrejvalka/status/9324746359">výstřel z Aurory</a>, kterým mě donutil článek oprášit a publikovat.</small>


</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/492IrE4BRJc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manuál stylopisů (a jednoduchost CSS můžeme zase chválit)</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540#comments</comments>
		<pubDate>Wed, 24 Feb 2010 20:36:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[spravovatelnost kódu]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/409587540</guid>
		<description><![CDATA[<p>Jak se ve změti CSS pravidel webového projektu dobrat systému, který bude snadno přenositelný na jiného člověka? Jak to udělat s technologií, jejíž esencí je jednoduchost? Supergeeky proklínaná a amatéry zbožňovaná vlastnost kaskádových stylů.</p>

<h3 id="toc-jednoduchost-css">Jednoduchost technologie špatný kód neospravedlňuje</h3>

<p>„Ach, kdyby jen specifikace CSS obsahovala proměnné!” a další geekovské povzdechy si můžeme odpustit, protože a) právě teď nic takového CSS neobsahuje a b) není jisté, že by to CSS bordelářům skutečně pomohlo. Myslím si, že jednoduchost je velmi dobrá vlastnost jakékoliv technologie, CSS nevyjímaje.</p>

<p>Hezky to dříve popsal <a href="http://withoutanswers.com/post/174883150/does-css-needs-variables-selector-blocks-or-similar">Honza Sládek</a>, takže pro argumenty zajděte k němu. My můžeme pokračovat směrem k návrhu řešení palčivé otázky.</p>

<p>Jak z jednotlivých opakujících se pravidel extrahovat informaci o typech písem, barvách či layoutu obecně používaném na webu tak, aby stylopisy splňovaly alespoň základní parametr udržovatelnosti — že jim bude rozumět sám autor, když se ke své práci za tři měsíce vrátí?</p>

<p>Jelikož se snažím se upřednostňovat jednoduchá řešení a vyhýbat se vrstvení technologií, z našich úvah vyřazuji CSS preprocesory jako <a href="http://lesscss.org/" title="LESS - Leaner CSS">LESS</a>, čímž ale neříkám, že pro ně nevidím uplatnění.</p>

<h3 id="toc-ponekud-tupy">Poněkud tupý, přesně takový jaký jej chceme — manuál stylopisu</h3>

<p>Po mnoha pokusech se mi nakonec obrovsky osvědčila úplně nejtupější varianta — manuál v externím souboru. V adresáři se stylopisy u každého svého projektu najdu soubor README.txt, ve kterém všechny potřebné informace jsou. Kdykoliv pak na webu vytvářím nový prvek, podívám se sem a zjistím jaké by měl mít vlastnosti.</p>

<h3 id="toc-obsah-manualu">Obsah manuálu</h3>

<p>Pojďme se podívat co takový manuál stylopisu může obsahovat.</p>

<ul>
<li>Kontakty na autora</li>
<li>Seznam souborů a jejich obsah</li>
<li>Písma a jejich varianty </li>
<li><a href="http://kratce.vzhurudolu.cz/post/70178003/z-index-index">Index z-indexů</a></li>
<li>Barvy a jejich varianty</li>
<li>Rozměry opakujících se prvků laoyutu<br />
</li>
</ul>
<p>Než plýtvat detaily, odkážu vás na tři své manuály stylopisu, které jsou součástí projektů vyrobených v Shortcat studiu.</p>

<p><a class="big_anchor" href="http://www.biooko.net/css/readme.txt" title="BioOKO">BioOKO</a> 
<a class="big_anchor" href="http://www.festival.cz/stylesheets/readme.txt" title="Pražské jaro">Pražské jaro</a> 
<a class="big_anchor" href="http://static.hipposdesign.com/css/readme.txt" title="Hipposdesign.com">Hipposdesign.com</a><br /></p>

<p>Jedna část manuálu tedy nahrazuje velmi málo se vyskytující manuály designu a také vizuální identity. Další část supluje nedokonalost CSS jako technologie — například pro varianty barev  budeme moci brzy začít široce využívat <a href="http://www.css3.info/preview/rgba/" id="mmic" title="RGBa">RGBa</a>. Index z-indexů a varianty písem zase sjednocují na jedno místo informace, které bývají rozptýlené po různých pravidlech ve stylopisu.</p>

<p>Manuál stylopisu v žádném případě nenahradí dobře organizovaný, komentovaný a srozumitelně psaný CSS kód. Přidává vrstvu abstrakce, kterou kaskádové styly neumožňují.</p>

<p>Milí čtenáři, více než jindy zde ocením váš feedback a vlastní zkušenosti se správou CSS.<br /></p>

<hr />
<div class="underline_note">

Díky <a href="http://www.valka.info/">Ondrovi Válkovi</a> za <a href="http://twitter.com/ondrejvalka/status/9324746359">výstřel z Aurory</a>, kterým mě donutil článek oprášit a publikovat.


</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/492IrE4BRJc" height="1">]]></description>
			<content:encoded><![CDATA[<p>Jak se ve změti CSS pravidel webového projektu dobrat systému, který bude snadno přenositelný na jiného člověka? Jak to udělat s technologií, jejíž esencí je jednoduchost? Supergeeky proklínaná a amatéry zbožňovaná vlastnost kaskádových stylů.</p>

<h3 id="toc-jednoduchost-css">Jednoduchost technologie špatný kód neospravedlňuje</h3>

<p>„Ach, kdyby jen specifikace CSS obsahovala proměnné!” a další geekovské povzdechy si můžeme odpustit, protože a) právě teď nic takového CSS neobsahuje a b) není jisté, že by to CSS bordelářům skutečně pomohlo. Myslím si, že jednoduchost je velmi dobrá vlastnost jakékoliv technologie, CSS nevyjímaje.</p>

<p>Hezky to dříve popsal <a href="http://withoutanswers.com/post/174883150/does-css-needs-variables-selector-blocks-or-similar">Honza Sládek</a>, takže pro argumenty zajděte k němu. My můžeme pokračovat směrem k návrhu řešení palčivé otázky.</p>

<p>Jak z jednotlivých opakujících se pravidel extrahovat informaci o typech písem, barvách či layoutu obecně používaném na webu tak, aby stylopisy splňovaly alespoň základní parametr udržovatelnosti — že jim bude rozumět sám autor, když se ke své práci za tři měsíce vrátí?</p>

<p>Jelikož se snažím se upřednostňovat jednoduchá řešení a vyhýbat se vrstvení technologií, z našich úvah vyřazuji CSS preprocesory jako <a href="http://lesscss.org/" title="LESS - Leaner CSS">LESS</a>, čímž ale neříkám, že pro ně nevidím uplatnění.</p>

<h3 id="toc-ponekud-tupy">Poněkud tupý, přesně takový jaký jej chceme — manuál stylopisu</h3>

<p>Po mnoha pokusech se mi nakonec obrovsky osvědčila úplně nejtupější varianta — manuál v externím souboru. V adresáři se stylopisy u každého svého projektu najdu soubor README.txt, ve kterém všechny potřebné informace jsou. Kdykoliv pak na webu vytvářím nový prvek, podívám se sem a zjistím jaké by měl mít vlastnosti.</p>

<h3 id="toc-obsah-manualu">Obsah manuálu</h3>

<p>Pojďme se podívat co takový manuál stylopisu může obsahovat.</p>

<ul>
<li>Kontakty na autora</li>
<li>Seznam souborů a jejich obsah</li>
<li>Písma a jejich varianty </li>
<li><a href="http://kratce.vzhurudolu.cz/post/70178003/z-index-index">Index z-indexů</a></li>
<li>Barvy a jejich varianty</li>
<li>Rozměry opakujících se prvků laoyutu<br/>
</li>
</ul>
<p>Než plýtvat detaily, odkážu vás na tři své manuály stylopisu, které jsou součástí projektů vyrobených v Shortcat studiu.</p>

<p><a class="big_anchor" href="http://www.biooko.net/css/readme.txt" title="BioOKO">BioOKO</a> 
<a class="big_anchor" href="http://www.festival.cz/stylesheets/readme.txt" title="Pražské jaro">Pražské jaro</a> 
<a class="big_anchor" href="http://static.hipposdesign.com/css/readme.txt" title="Hipposdesign.com">Hipposdesign.com</a><br/></p>

<p>Jedna část manuálu tedy nahrazuje velmi málo se vyskytující manuály designu a také vizuální identity. Další část supluje nedokonalost CSS jako technologie — například pro varianty barev  budeme moci brzy začít široce využívat <a href="http://www.css3.info/preview/rgba/" id="mmic" title="RGBa">RGBa</a>. Index z-indexů a varianty písem zase sjednocují na jedno místo informace, které bývají rozptýlené po různých pravidlech ve stylopisu.</p>

<p>Manuál stylopisu v žádném případě nenahradí dobře organizovaný, komentovaný a srozumitelně psaný CSS kód. Přidává vrstvu abstrakce, kterou kaskádové styly neumožňují.</p>

<p>Milí čtenáři, více než jindy zde ocením váš feedback a vlastní zkušenosti se správou CSS.<br/></p>

<hr>
<div class="underline_note">

<small>Díky <a href="http://www.valka.info/">Ondrovi Válkovi</a> za <a href="http://twitter.com/ondrejvalka/status/9324746359">výstřel z Aurory</a>, kterým mě donutil článek oprášit a publikovat.</small>


</div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=492IrE4BRJc:WFp9bUamG-8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=492IrE4BRJc:WFp9bUamG-8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/492IrE4BRJc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/492IrE4BRJc/409587540/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cufón nebo Typeface.js — který vybrat?</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/ydCVDArwdYU/352876017</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/ydCVDArwdYU/352876017#comments</comments>
		<pubDate>Mon, 25 Jan 2010 18:09:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[cufón]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[sifr]]></category>
		<category><![CDATA[typeface.js]]></category>
		<category><![CDATA[typografie]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/352876017</guid>
		<description><![CDATA[<p>Než budeme moci v prohlížečích začít široce používat <a id="b2cc" title="@font-face" href="https://developer.mozilla.org/index.php?title=En/CSS/%40font-face">@font-face</a>, <a id="hc8j" title="Typekit" href="http://typekit.com/">Typekit</a> a další písně typografické budoucnosti, musíme se rozhodnout mezi třemi hlavními technologiemi sloužícími k nahrazení písma přímo v prohlížeči. <a id="uvku" title="sIFR" href="http://novemberborn.net/sifr3">sIFR</a>, <a id="l7nj" title="Cufón" href="http://cufon.shoqolate.com/">Cufón</a> a nebo <a id="rp7c" title="Typeface.js" href="http://typeface.neocracy.org/">Typeface.js</a>.</p>

<p>sIFR díky komplikovanému nastavování a velmi špatné rychlosti při načítání stránky postupně nahrazujeme jeho současnějšími sourozenci. Oba používají k náhradě <code><a id="eouf" title="canvas" href="https://developer.mozilla.org/en/HTML/canvas">canvas</a></code>, respektive VML v Internet Explorerech a vypadají velmi podobně.</p>

<p>Který z nich zvolit? Na základě dostupných informací se rozhoduje jen těžce. Rozhodl jsem se pro vlastní hloubkový průzkum.</p>

<h3>Ovládnout Typeface.js je snadné jako složit skříň z IKEA. Ale kdo by to chtěl dělat bez návodu?</h3>

<p>Do dneška čistě intuitivně na všechny projekty používám Cufón. Dnes, při cíleném podrobném prozkoumávání Typeface.js jsem dospěl k tomu, že intuice byla v tomto případě jen synonymem pro dokumentaci.</p>

<p>Typeface.js můžete mít jako vývojáři na první pohled jen těžko rádi. Neexistuje pro něj prakticky žádný podrobnější manuál (na rozdíl od velmi slušně <a id="eyos" title="popsaného Cufónu" href="http://wiki.github.com/sorccu/cufon/">popsaného Cufónu</a>.) Jako vývojářské rozhraní Typeface.js používá Launchpad, což je něco jako <a id="hxsr" title="Github" href="http://Github">Github</a>, kde sídlí Cufón. Ovšem Github z roku 2005.</p>

<p>Tady se znovu ukazuje, že chcete-li uspět jako geek, nestačí vám k tomu technické znalosti. Autoři Typeface.js svým přístupem k dokumentaci a absencí efektivního dialogu s komunitou svůj software dobrovolně degradovali do pozice hříčky, kterou berou vážně jen nadšenci do webové typografie.</p>

<p>Už v tuhle chvíli bychom mohli říct co je a co není dobrý software. Vyhrál by Cufón. Dejme ale Typeface.js ještě šanci.</p>

<h3>Typeface.js: Pozor na licenční podmínky</h3>

<p>Na webu Typeface.js si písmo vygenerujete poměrně snadno. Původně uměl jen TrueType formát, ten je teď doplněný o OpenType, který je výrazně rozšířenější u písmolijen. Formulář generátoru písma pro Cufón je naproti tomu složitější a zpočátku z něj budete asi docela na větvi.</p>

<p>Jedna z věcí, kterou Cufón ale umožňuje nastavit, je velmi užitečná — jde o omezení funkčnosti písma na určitou doménu. Náhradou písem pomocí sIFR nebo Cufón jste totiž obvykle na hraně licenčních podmínek většiny písmolijen i když vlastní licenci koupenou máte. Omezení na konkrétní doménu písmo alespoň trochu chrání před hromadným zneužíváním a s menšími písmolijnami se na něm určitě domluvíte.</p>
<p>Pokud písmo nahrazujete pomocí Typeface.js, buďte na pozoru. Omezení na určitou doménu nastavit nelze a tak budete pravděpodobně za hranicí toho, co bude vaše písmolijna ochotná překousnout. Raději se ptejte, protože někteří informovanější typografové užití písma pomocí Typeface.js dokonce <a id="m873" title="vyloženě zakazují" href="http://beta.okaytype.com/Information/End_User_License_Agreement/index.php">vyloženě zakazují</a>.</p>

<h3>Implementace, rychlost — remíza</h3>

<p>Výhodou Typeface.js je o fous snadnější implementace — k prvku, který chcete nahradit prostě přidáte <code>class="typeface-js"</code> a vše důležité si pak nastavíte ve vlastním stylopisu včetně řezu písma. CSS pravidlo pak může vypadat moc hezky i s dopřednou kompatibilitou: <code>font-family: 'Můj řez písma', Arial, sans-serif</code>.</p>
<p>Rychlost obou je v běžných případech srovnatelná. Javascript Typeface je pomalejší, když nahrazujete větší množství nadpisů. Testoval jsem 100 nadpisů na stránce, kde si vzal výkon Firefoxu na dobu o pár vteřin delší než Cufón a z pohledu uživatele byl jistý „zásek” znát.</p>

<p>Je ještě pár drobných rozdílů, které ovšem zrovna na vašem projektu mohou být zásadní:</p>

<table><tbody>
<tr>
<th>
</th>
<th>Typeface.js 0.14</th>

<th>Cufón 1.09
</th>
</tr>
<tr>
<td>:hover efekt</td>
<td>neumí
</td>
<td>umí
</td>
</tr>
<tr>
<td>označování textu pomocí myši<br />
</td>
<td>umí
</td>
<td>
<a title="neumí" href="http://wiki.github.com/sorccu/cufon/known-bugs-and-issues" id="cmp9">neumí</a>, s určitou dávkou štěstí označování funguje v MSIE
</td>
</tr>
</tbody></table>
<p>Jelikož mám od Cufónu daleko dostupnější informace, budu dále standardně používat jej. Typeface.js ovšem nezahazuju a v případech kdy potřeba označit text myší bude zásadní a zároveň nebudu narážet na problém s licencováním, sáhnu po něm.</p>
<p>Důležité je, že oba dobře přebírají CSS vlastnosti nahrazovaných písem a jsou tedy vzájemně poměrně snadno nahraditelné. Nemusíte se tedy bát, že vás případný přechod na jinou technologii bude nějak zvlášť otravovat jako to mohlo být v případě sIFRu.</p> 

<p>Kterou technologii používáte vy a jaký pro to máte důvod? Rád uslyším váš názor v komentářích nebo na <a href="http://twitter.com/machal">Twitteru</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=ydCVDArwdYU:FfflR0pIrNk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/ydCVDArwdYU" height="1">]]></description>
			<content:encoded><![CDATA[<p>Než budeme moci v prohlížečích začít široce používat <a id="b2cc" title="@font-face" href="https://developer.mozilla.org/index.php?title=En/CSS/%40font-face">@font-face</a>, <a id="hc8j" title="Typekit" href="http://typekit.com/">Typekit</a> a další písně typografické budoucnosti, musíme se rozhodnout mezi třemi hlavními technologiemi sloužícími k nahrazení písma přímo v prohlížeči. <a id="uvku" title="sIFR" href="http://novemberborn.net/sifr3">sIFR</a>, <a id="l7nj" title="Cufón" href="http://cufon.shoqolate.com/">Cufón</a> a nebo <a id="rp7c" title="Typeface.js" href="http://typeface.neocracy.org/">Typeface.js</a>.</p>

<p>sIFR díky komplikovanému nastavování a velmi špatné rychlosti při načítání stránky postupně nahrazujeme jeho současnějšími sourozenci. Oba používají k náhradě <code><a id="eouf" title="canvas" href="https://developer.mozilla.org/en/HTML/canvas">canvas</a></code>, respektive VML v Internet Explorerech a vypadají velmi podobně.</p>

<p>Který z nich zvolit? Na základě dostupných informací se rozhoduje jen těžce. Rozhodl jsem se pro vlastní hloubkový průzkum.</p>

<h3>Ovládnout Typeface.js je snadné jako složit skříň z IKEA. Ale kdo by to chtěl dělat bez návodu?</h3>

<p>Do dneška čistě intuitivně na všechny projekty používám Cufón. Dnes, při cíleném podrobném prozkoumávání Typeface.js jsem dospěl k tomu, že intuice byla v tomto případě jen synonymem pro dokumentaci.</p>

<p>Typeface.js můžete mít jako vývojáři na první pohled jen těžko rádi. Neexistuje pro něj prakticky žádný podrobnější manuál (na rozdíl od velmi slušně <a id="eyos" title="popsaného Cufónu" href="http://wiki.github.com/sorccu/cufon/">popsaného Cufónu</a>.) Jako vývojářské rozhraní Typeface.js používá Launchpad, což je něco jako <a id="hxsr" title="Github" href="http://Github">Github</a>, kde sídlí Cufón. Ovšem Github z roku 2005.</p>

<p>Tady se znovu ukazuje, že chcete-li uspět jako geek, nestačí vám k tomu technické znalosti. Autoři Typeface.js svým přístupem k dokumentaci a absencí efektivního dialogu s komunitou svůj software dobrovolně degradovali do pozice hříčky, kterou berou vážně jen nadšenci do webové typografie.</p>

<p>Už v tuhle chvíli bychom mohli říct co je a co není dobrý software. Vyhrál by Cufón. Dejme ale Typeface.js ještě šanci.</p>

<h3>Typeface.js: Pozor na licenční podmínky</h3>

<p>Na webu Typeface.js si písmo vygenerujete poměrně snadno. Původně uměl jen TrueType formát, ten je teď doplněný o OpenType, který je výrazně rozšířenější u písmolijen. Formulář generátoru písma pro Cufón je naproti tomu složitější a zpočátku z něj budete asi docela na větvi.</p>

<p>Jedna z věcí, kterou Cufón ale umožňuje nastavit, je velmi užitečná — jde o omezení funkčnosti písma na určitou doménu. Náhradou písem pomocí sIFR nebo Cufón jste totiž obvykle na hraně licenčních podmínek většiny písmolijen i když vlastní licenci koupenou máte. Omezení na konkrétní doménu písmo alespoň trochu chrání před hromadným zneužíváním a s menšími písmolijnami se na něm určitě domluvíte.</p>
<p>Pokud písmo nahrazujete pomocí Typeface.js, buďte na pozoru. Omezení na určitou doménu nastavit nelze a tak budete pravděpodobně za hranicí toho, co bude vaše písmolijna ochotná překousnout. Raději se ptejte, protože někteří informovanější typografové užití písma pomocí Typeface.js dokonce <a id="m873" title="vyloženě zakazují" href="http://beta.okaytype.com/Information/End_User_License_Agreement/index.php">vyloženě zakazují</a>.</p>

<h3>Implementace, rychlost — remíza</h3>

<p>Výhodou Typeface.js je o fous snadnější implementace — k prvku, který chcete nahradit prostě přidáte <code>class="typeface-js"</code> a vše důležité si pak nastavíte ve vlastním stylopisu včetně řezu písma. CSS pravidlo pak může vypadat moc hezky i s dopřednou kompatibilitou: <code>font-family: 'Můj řez písma', Arial, sans-serif</code>.</p>
<p>Rychlost obou je v běžných případech srovnatelná. Javascript Typeface je pomalejší, když nahrazujete větší množství nadpisů. Testoval jsem 100 nadpisů na stránce, kde si vzal výkon Firefoxu na dobu o pár vteřin delší než Cufón a z pohledu uživatele byl jistý „zásek” znát.</p>

<p>Je ještě pár drobných rozdílů, které ovšem zrovna na vašem projektu mohou být zásadní:</p>

<table><tbody>
<tr>
<th>
</th>
<th>Typeface.js 0.14</th>

<th>Cufón 1.09
</th>
</tr>
<tr>
<td>:hover efekt</td>
<td>neumí
</td>
<td>umí
</td>
</tr>
<tr>
<td>označování textu pomocí myši<br/>
</td>
<td>umí
</td>
<td>
<a title="neumí" href="http://wiki.github.com/sorccu/cufon/known-bugs-and-issues" id="cmp9">neumí</a>, s určitou dávkou štěstí označování funguje v MSIE
</td>
</tr>
</tbody></table>
<p>Jelikož mám od Cufónu daleko dostupnější informace, budu dále standardně používat jej. Typeface.js ovšem nezahazuju a v případech kdy potřeba označit text myší bude zásadní a zároveň nebudu narážet na problém s licencováním, sáhnu po něm.</p>
<p>Důležité je, že oba dobře přebírají CSS vlastnosti nahrazovaných písem a jsou tedy vzájemně poměrně snadno nahraditelné. Nemusíte se tedy bát, že vás případný přechod na jinou technologii bude nějak zvlášť otravovat jako to mohlo být v případě sIFRu.</p> 

<p>Kterou technologii používáte vy a jaký pro to máte důvod? Rád uslyším váš názor v komentářích nebo na <a href="http://twitter.com/machal">Twitteru</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=ydCVDArwdYU:FfflR0pIrNk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=ydCVDArwdYU:FfflR0pIrNk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/ydCVDArwdYU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/ydCVDArwdYU/352876017/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Názvy tříd v CSS a přehnaná láska k sémantice</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/oa2bgykGvIs/288709102</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/oa2bgykGvIs/288709102#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:37:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css frameworky]]></category>
		<category><![CDATA[sémantika]]></category>
		<category><![CDATA[spravovatelnost kódu]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/288709102</guid>
		<description><![CDATA[<p>„Sémantický web” je prý v kolizi s pojmenováváním tříd v CSS podle vzhledu obsahu. Vážení sémantičtí maniaci, ukážu vám případ kdy vaše náboženství neplatí.</p>
<p>Cituji z článku <a href="http://robertnyman.com/2009/12/17/testing-object-oriented-css-oocss-for-easier-css-development/">Roberta Nymana o objektovém CSS</a>:</p>
<blockquote>
<p>As you might be aware of, using good semantics is very important to me, and when it comes to both elements being used as well as the naming of CSS classes, I believe it should contain a meaning for what it will contain. OOCSS contains class names like <code>.leftCol</code>, <code>.rightCol</code>, <code>.body</code>, <code>.h1</code>, <code>.h2</code> etc. And to me, and what I believe is to be in line with the notion of the semantic web, is that one of the fundamentals with CSS class names is to <i>not</i> use class names which describes the actual presentation/layout, but rather what it will contain.</p>
<p>…</p>
<p>But, I suggested using other names that would have more meaning <i>and</i> be easy to understand at the same time, like <code>.main-heading</code>, <code>.complementary</code> etc. The reply I got was that she had tried it, but “It was too hard for people to remember it”. And that I’m mot just buying. Sure, <code>.rightCol</code> might be a tad easier to remember, but just going the easiest route time doesn’t always make it right.</p>
</blockquote>
<p>Všimněme si, že autoři se při argumentaci k používání obsahově popisných názvů tříd zaštiťují <i>správností</i> a odkazem na <i>sématických web</i>. Ale co je správné, pro koho a v jaké situaci, že?</p>
<p>Myšlenka sémantického webu — jako světa kde stejný typ informací je stejným způsobem označen — je samozřejmě ve velkém množství situací <i>užitečná.</i> Musí ale usnadňovat orientaci v kódu za účelem pochopení obsahu nejen strojům, ale především lidem.</p>
<p>Nicolle Sullivan, autorka <a href="http://wiki.github.com/stubbornella/oocss">OOCSS</a>, se rozhodla, že názvy tříd v jejím CSS frameworku budou blíže vizuálnímu vnímání (říká hezky „vizuální sémantika”) než klasicky vnímané sémantice obsahové. Tedy <code>.</code><code>leftCol </code>raději než <code>.</code><code>complementary</code>.</p>
<p>Být autorem CSS frameworku — tedy technologie jejíž použití vnímám nikoliv univerzálně, ale velmi specificky — rozhodnu se stejně.</p>
<p>Argumentem mi bude právě <i>čitelnost</i> a <i>zapamatovatelnost</i>. Vždyť jak jinak bych chtěl svůj framework rozšířit mezi lidi! Jak jinak bych chtěl, aby jej bez manuálu v knižním vydání a vyfintěných PDF-taháků na populárních webdesignérských serverech používal také někdo jiný než autor sám?</p>
<p>V HTML/CSS kódu psaném na míru obsahu dávám vždy  přednost pojmenování tříd takovému, aby co nejvíce odpovídaly významu obsahu, ale v konkrétních případech je lepší dát přednost popisu vizuální prezentace.</p>
<p>Nedělejme ze sémantiky univerzálně platné náboženství. Žádné takové neexistuje ani ve webdesignu.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=oa2bgykGvIs:ZST2xrFcSlk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/oa2bgykGvIs" height="1">]]></description>
			<content:encoded><![CDATA[<p>„Sémantický web” je prý v kolizi s pojmenováváním tříd v CSS podle vzhledu obsahu. Vážení sémantičtí maniaci, ukážu vám případ kdy vaše náboženství neplatí.</p>
<p>Cituji z článku <a href="http://robertnyman.com/2009/12/17/testing-object-oriented-css-oocss-for-easier-css-development/">Roberta Nymana o objektovém CSS</a>:</p>
<blockquote>
<p>As you might be aware of, using good semantics is very important to me, and when it comes to both elements being used as well as the naming of CSS classes, I believe it should contain a meaning for what it will contain. OOCSS contains class names like <code>.leftCol</code>, <code>.rightCol</code>, <code>.body</code>, <code>.h1</code>, <code>.h2</code> etc. And to me, and what I believe is to be in line with the notion of the semantic web, is that one of the fundamentals with CSS class names is to <i>not</i> use class names which describes the actual presentation/layout, but rather what it will contain.</p>
<p>…</p>
<p>But, I suggested using other names that would have more meaning <i>and</i> be easy to understand at the same time, like <code>.main-heading</code>, <code>.complementary</code> etc. The reply I got was that she had tried it, but “It was too hard for people to remember it”. And that I’m mot just buying. Sure, <code>.rightCol</code> might be a tad easier to remember, but just going the easiest route time doesn’t always make it right.</p>
</blockquote>
<p>Všimněme si, že autoři se při argumentaci k používání obsahově popisných názvů tříd zaštiťují <i>správností</i> a odkazem na <i>sématických web</i>. Ale co je správné, pro koho a v jaké situaci, že?</p>
<p>Myšlenka sémantického webu — jako světa kde stejný typ informací je stejným způsobem označen — je samozřejmě ve velkém množství situací <i>užitečná.</i> Musí ale usnadňovat orientaci v kódu za účelem pochopení obsahu nejen strojům, ale především lidem.</p>
<p>Nicolle Sullivan, autorka <a href="http://wiki.github.com/stubbornella/oocss">OOCSS</a>, se rozhodla, že názvy tříd v jejím CSS frameworku budou blíže vizuálnímu vnímání (říká hezky „vizuální sémantika”) než klasicky vnímané sémantice obsahové. Tedy <code>.</code><code>leftCol </code>raději než <code>.</code><code>complementary</code>.</p>
<p>Být autorem CSS frameworku — tedy technologie jejíž použití vnímám nikoliv univerzálně, ale velmi specificky — rozhodnu se stejně.</p>
<p>Argumentem mi bude právě <i>čitelnost</i> a <i>zapamatovatelnost</i>. Vždyť jak jinak bych chtěl svůj framework rozšířit mezi lidi! Jak jinak bych chtěl, aby jej bez manuálu v knižním vydání a vyfintěných PDF-taháků na populárních webdesignérských serverech používal také někdo jiný než autor sám?</p>
<p>V HTML/CSS kódu psaném na míru obsahu dávám vždy  přednost pojmenování tříd takovému, aby co nejvíce odpovídaly významu obsahu, ale v konkrétních případech je lepší dát přednost popisu vizuální prezentace.</p>
<p>Nedělejme ze sémantiky univerzálně platné náboženství. Žádné takové neexistuje ani ve webdesignu.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=oa2bgykGvIs:ZST2xrFcSlk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=oa2bgykGvIs:ZST2xrFcSlk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/oa2bgykGvIs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/oa2bgykGvIs/288709102/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tisknout vlastní fonty z webové stránky? S @font-face zatím ne</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/_3KDFG-lVuw/276125642</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/_3KDFG-lVuw/276125642#comments</comments>
		<pubDate>Wed, 09 Dec 2009 14:07:58 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[tisk]]></category>
		<category><![CDATA[web-fonts]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/276125642</guid>
		<description><![CDATA[<p>Když potřebujete tisknout jinými než systémovými fonty, máte problém. Včera jsme si o tom vyměnil pár <a href="http://twitter.com/machal/status/6465371218">tweetů</a> s <a href="http://twitter.com/hassmanm">@hasmanm</a>, <a href="http://twitter.com/honzasladek">@honzasladek</a> a <a href="http://twitter.com/atpok">@atpok</a>.</p>
<p>Krásně se sice nabízí čerstvá modla webových typografů, <a href="https://developer.mozilla.org/index.php?title=En/CSS/%40font-face">@font-face</a>, ale zdá se, že pro tisk vlastních fontů má tahle technologie má nejlepší léta ještě před sebou.</p>
<p>Udělal jsem dneska komplexnejší test na <a href="http://opentype.info/demo/webfontdemo.html">OpenType.info demostránce</a>. Vše na Windows XP:</p>
<ul>
<li>Firefox 3.5.5 — vlastní fonty tisknout nelze a asi ještě chvíli nepůjde (viz <a href="http://opentype.info/demo/webfontdemo.html">Martinův tweet</a>) namísto fontu definovaného ve @font-face tiskne systémový </li>
<li>
<b>Opera 10.01</b> — <b>tiskne </b>stejně hezky jako zobrazuje</li>
<li>Safari 4.0.4 — na místě, kde mají být @font-face písma, netiskne vůbec nic!</li>
<li>Chrome 3.0 — @font-face zatím vůbec neumí</li>
</ul>
<p>Na <a href="http://www.jsworkshop.com/dhtml/list19-1.html">této testovací stránce</a> pak můžeme vyzkoušet jak jsou na tom v Redmondu:</p>
<ul>
<li>
<b>IE 7 + 8</b> — fonty vkládáné jejich technologií EOT <b>tiskne </b>krásně</li>
</ul>
<p>Vidíme tedy, že mimo Operu a Internet Explorer jsou minimálně na Windows prohlížeče zatím neschopné tisknout jinými než v lokálním operačním systému instalovanými fonty.</p>
<p>Kdo máte možnost vyzkoušet prohlížeče na Macu, napište prosím do komentářů.</p>
<p>Legrace, že obecně se má za to, že s @font-face lze vlastními fonty tisknout krásně. Kromě nevyhlazování písem na systémech bez antialiasingu se zdá, že se jedná o druhý výrazný nedostatek téhle výborné ale zatím k masovému nasazení nezralé technologie.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=_3KDFG-lVuw:_sa3CSqkInw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/_3KDFG-lVuw" height="1">]]></description>
			<content:encoded><![CDATA[<p>Když potřebujete tisknout jinými než systémovými fonty, máte problém. Včera jsme si o tom vyměnil pár <a href="http://twitter.com/machal/status/6465371218">tweetů</a> s <a href="http://twitter.com/hassmanm">@hasmanm</a>, <a href="http://twitter.com/honzasladek">@honzasladek</a> a <a href="http://twitter.com/atpok">@atpok</a>.</p>
<p>Krásně se sice nabízí čerstvá modla webových typografů, <a href="https://developer.mozilla.org/index.php?title=En/CSS/%40font-face">@font-face</a>, ale zdá se, že pro tisk vlastních fontů má tahle technologie má nejlepší léta ještě před sebou.</p>
<p>Udělal jsem dneska komplexnejší test na <a href="http://opentype.info/demo/webfontdemo.html">OpenType.info demostránce</a>. Vše na Windows XP:</p>
<ul>
<li>Firefox 3.5.5 — vlastní fonty tisknout nelze a asi ještě chvíli nepůjde (viz <a href="http://opentype.info/demo/webfontdemo.html">Martinův tweet</a>) namísto fontu definovaného ve @font-face tiskne systémový </li>
<li>
<b>Opera 10.01</b> — <b>tiskne </b>stejně hezky jako zobrazuje</li>
<li>Safari 4.0.4 — na místě, kde mají být @font-face písma, netiskne vůbec nic!</li>
<li>Chrome 3.0 — @font-face zatím vůbec neumí</li>
</ul>
<p>Na <a href="http://www.jsworkshop.com/dhtml/list19-1.html">této testovací stránce</a> pak můžeme vyzkoušet jak jsou na tom v Redmondu:</p>
<ul>
<li>
<b>IE 7 + 8</b> — fonty vkládáné jejich technologií EOT <b>tiskne </b>krásně</li>
</ul>
<p>Vidíme tedy, že mimo Operu a Internet Explorer jsou minimálně na Windows prohlížeče zatím neschopné tisknout jinými než v lokálním operačním systému instalovanými fonty.</p>
<p>Kdo máte možnost vyzkoušet prohlížeče na Macu, napište prosím do komentářů.</p>
<p>Legrace, že obecně se má za to, že s @font-face lze vlastními fonty tisknout krásně. Kromě nevyhlazování písem na systémech bez antialiasingu se zdá, že se jedná o druhý výrazný nedostatek téhle výborné ale zatím k masovému nasazení nezralé technologie.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=_3KDFG-lVuw:_sa3CSqkInw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=_3KDFG-lVuw:_sa3CSqkInw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/_3KDFG-lVuw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/_3KDFG-lVuw/276125642/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kodér na kolejích (zkušenosti s Ruby on Rails)</title>
		<link>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/0KCwp0k0MpE/269354002</link>
		<comments>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/0KCwp0k0MpE/269354002#comments</comments>
		<pubDate>Fri, 04 Dec 2009 20:05:00 +0000</pubDate>
		<dc:creator>Vzhůru dolů</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[články]]></category>
		<category><![CDATA[efektivita]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://kratce.vzhurudolu.cz/post/269354002</guid>
		<description><![CDATA[<p>
Je možné vyvíjet weby s redakčním systémem na míru aniž byste byli skutečným programátorem? Atmosféra kolem Ruby on Rails dává naději i lidem, kteří by si dříve nebo s jinou technologií netroufli. Podívejte se jak dopadl někdo, kdo rozumí HTML a CSS, ale programování je pro něj horká kaše.</p>

<p>
Železničářské Ministerstvo propagandy v časech recese šetří a tak nezbyly dotace na další nadšenecký článek o Rails. Radosti se místy nelze ubránit i tak, nicméně čekejte i chvíle dojemného zklamání. Článek je určen všem, kteří si myslí, že programovat weby nedokáží, ale povědomí o technologiích mají. Skuteční programátoři, ušetřete si nervy a <a title="běžte jinam" href="http://www.heyrick.co.uk/assembler/intro.html" id="yppf">běžte jinam</a>.</p>

<p>
Ostatně, mé startovací znalosti nebyly úplně mimo mísu. S Ruby on Rails (RoR) kódem přicházím pasivně do styku už přes dva roky, znalosti HTML a CSS mě živí až trapně dlouho. Věděl jsem co je to <a title="MVC" href="http://zdrojak.root.cz/clanky/uvod-do-architektury-mvc/" id="mpnw">MVC</a>, dokážu použít <code>if</code> a (Rubysté, ruku na klobouk) také <code><a title="unless" href="http://railstips.org/2008/12/1/unless-the-abused-ruby-conditional" id="p7ls">unless</a></code>. Tyhle znalosti nejsou ale tak podstatné, rozhoduje angličtina a schopnost správně se zeptat Googlu. Komunita kolem Rails je <a title="nadšená" href="http://blog.karmi.cz/" id="gvwi">nadšená</a>, <a title="sdílná" href="http://railscasts.com/" id="mi1t">sdílná</a> a <a title="umí učit" href="http://guides.rubyonrails.org/" id="f1uq">umí učit</a>.</p>

<p>
Ačkoliv o prospěšnosti RoR pro webdesign dlouhodobě nepochybuji, dost jsem nevěřil své šanci vyrobit web sám a hlavně o čase, ve kterém jsem schopen se to naučit. </p>

<p>
Podívejte se, jak jsem postupoval a jaké problémy přitom řešil.</p>

<!-- more -->

<h2>Začínáme s prací na projektu</h2>

<p>Jde o primitivní eshop. Jednotlivé produkty jsou tříděny do kategorií. Pomocí jednokrokového formuláře lze objednat právě jeden produkt.</p>

<p>
Z pohledu technického má práce na webu takovýto postup: </p>

<ol>
<li>Znalost obsahu a vztahů mezi jeho typy </li>
<li>Správa obsahu </li>
<li>Výpis obsahu do uživatelského rozhraní webu </li>
</ol>
<h2>První krok: definice typů obsahu a vztahů mezi nimi</h2>

<p>Ať už jste programátor nebo designér, nejdříve se musíte důkladně seznámit s obsahem, se kterým pracujete. Jeden typ obsahu je v našem případě jeden Model. V tomto konkrétním projektu máme tři základní Modely: <code>kategorii</code>, <code>produkt</code> a <code>objednávku</code>.</p>

<p>
Musíte znát vazby mezi Modely. V našem případě: Jeden <code>produkt</code> má právě jednu <code>kategorii</code>. Jedna <code>objednávka</code> obsahuje jeden <code>produkt</code>.</p>

<p>
Máte? Jako uživatel Windows bych si teď představoval, že mi pokročilá technologie pro tvorbu webu poskytne nějaký klikací nástroj, kde si typy obsahu a vazby mezi nimi nadefinuji. Ani v RoR tomu tak není. Rails mají  blíž k Linuxovému uživatelskému rozhraní, použijeme tedy příkazovou řádku a pomocí <a title="generátoru" href="http://wiki.rubyonrails.org/rails/pages/AvailableGenerators#model" id="f2-e">generátoru</a> vytvořím Modely. <a title="Vazby mezi nimi" href="http://guides.rubyonrails.org/association_basics.html" id="rmad">Vazby mezi nimi</a> si pak nadefinujeme ve vygenerováném kódu. Je to sice horší než klikání, ale vůbec to nebolelo.</p>

<p>
Záměrně tady nemluvím o databázi, natož abych zmiňoval MySQL nebo jiné standardy. Výšeuvedeným postupem jsme vlastně databázi nadefinovali, ale Rails se o databázi starají <a title="jaksi samovolně" href="http://guides.rubyonrails.org/migrations.html" id="xfk0">jaksi samovolně</a>. První věc, nad kterou jsem radostně výskal. </p>

<p>
Mám tedy jednoduchý nástroj pro definici typů obsahu, data se mi nějak budou ukládat, ale já se nemusím trápit se znalostmi MySQL, SQLLite nebo čehokoliv jiného. To je hned o jednu úroveň technického myšlení a řešení problémů během práce na celém projektu méně. Místo toho můžu ženě uvařit čaj nebo podrbat naši kočku. Wow.</p>

<h2>Druhý krok: Správa obsahu</h2>

<p>Strukturu obsahu máme. Teď budeme potřeboval jednoduché rozhraní administrace, kde chceme samotný obsah přidávat, upravovat a mazat. </p>

<h3>Administrační rozhraní na jedno kliknutí? Mám smůlu
</h3>

<p>
Moje představa: ve chvíli kdy v klikacím rozhraní „vyrábím” Modely, hledal bych zatržítko „Vygeneruj z nich jednoduché správcovské rozhraní”. Naivní? V Rails zatím ano. </p>

<p>
Zatržítko neexistuje, nemám dokonce ani snadnou možnost jak správcovské rozhraní oddělit (do obligátního <code>/admin</code> nebo jinam) od rozhraní pro zobrazování dat. Rails totiž generují kostru (říká se tomu <a title="scaffolding" href="http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding" id="mth5">scaffolding</a>) uživatelského rozhraní v jednom celku. Oddělit správu jinam samozřejmě lze, ale je to <a title="mravenční práce" href="http://forum.rubyonrails.cz/forums/1/topics/345" id="fvlr">mravenční práce</a>.</p>

<p>
Tady jsem se myslím poprvé a naposledy ocitl na hranici svých schopností a nebýt pánů <a id="el_o" href="http://www.karmi.cz/" title="Karla Minaříka">Karla Minaříka</a> a <a id="vfk1" href="http://vsuchy.net/" title="Vlada Suchého">Vlada Suchého</a>, zřejme bych v tomto levelu hry ztratil všechny životy. Zdály se mi tady sny o Djangu, které sice neznám ani tak špatně jako Rails, ale které má generování správcovského rozhraní vyřešeno na <a title="pohled velmi hezky" href="http://docs.djangoproject.com/en/dev/ref/contrib/admin/" id="psdd">pohled docela hezky</a>. Ani v případě Rails ovšem nevěřím, že by komunita nechala administrace-chtivé kodéry dlouho na holičkách.</p>

<p>
Trochu krve a potu a nakonec tedy jednoduché správcovské rozhraní máme.</p>

<h2>Třetí krok: výpis obsahu do uživatelského rozhraní webu</h2>

<p>
Výpis samotných dat v šablonách (tedy Views) je něco kvůli čemu jsme celou tu věc dělali a jste-li kodérem, budete se tady cítit jako doma. Téma Rails a šťastný kodér je ale na úplně jiný článek. Tady se bavíme o problémech nešťastného začínajícího programátora.</p>

<p>
Hodně mi zpočátku vadilo, že bych měl pro HTML prvky využívat Rails metody (například <code>image_tag</code> namísto <code><img></code>). Takové programátorštiny s divnou syntaxí v mém krásném HTML! Jenže porovnejte dva kusy kódu:</p>

<pre>
<code>

&#60;img src=&#34;"&#62;

</code>
</pre>

<p>
a</p>

<pre>
<code>

</code>
</pre>

<p>
Ten kdo vybere druhý případ není jen programátor, ale také člověk, který chce svůj kód zanechat čitelný a snadno pochopitelný. </p>

<h3>Migrace: olej do soukolí databáze, ale rozhraní nikoliv</h3>

<p>Dobrá, máme nějaká data, máme jejich správu, máme výpis těch dat do uživatelského rozhraní webu. Jsme relativně šťastní, dokud… Dokud nepřijde zlý klient a neřekne, že do každého produktu by potřeboval přidat ještě anotaci a další obrázek. </p>

<p>
Máme však výhodu, že myslíme agilně a Rails nás v tom podporují. On klient není zlý a jeho požadavek je zcela na místě. V Rails to jde samo — vytvoříme si <a title="migraci" href="http://guides.rubyonrails.org/migrations.html" id="qnqw">migraci</a>, kde ty dvě, tři pložky do databáze přidáme. </p>

<p>
Jenže jak je přidáme do hotového rozhraní a administrace? Bohužel tušíte správně. Ručně. Svět není tak daleko, abyste se nepříjené práce nezbavili úplně. Docela by mě zajímalo, zda zrovna téhle prudy umí některá ze současných technologií zbavit.</p>

<h2>Shrnutí: sami to určitě zkoušejte</h2>

<p>
Už dlouho se mi nestalo, že bych při adopci nějaké technologie propadal takovému jásotu nad vlastním pokrokem. Zkoušku Rails doporučuji všem kodérům, projektovým vedoucím, ale i techničtějším designérům nebo marketérům. Hlavně všem, kteří si při pohledu do PHP zdrojových kódu řekli, že „ne, to programování opravdu není pro mě”.</p>

<p>
Berte mou chválu samozřejmě s rezervou, pokrok proběhl i jinde. Máme <a id="k3fd" href="http://www.djangoproject.com/" title="Django">Django</a>, <a id="kwes" href="http://cakephp.org/" title="CakePHP">CakePHP</a> nebo <a id="zzak" href="http://nettephp.com/cs/" title="Nette">Nette</a>. Se všemi jsem přišel alespoň letmo do styku, leccos na nich oceňuji, ale nemám dostatečné znalosti abych byl schopen porovnání.</p>

<p>
Soudě podle této zkušenosti s Rails, vyvíjet weby na míru bez hlubších technických znalostí zatím moc nejde, chcete-li se je ale naučit programovat, s Rails vám to může jít překvapivě snadno.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=0KCwp0k0MpE:6foYQM2YPbE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/0KCwp0k0MpE" height="1">]]></description>
			<content:encoded><![CDATA[<p>
Je možné vyvíjet weby s redakčním systémem na míru aniž byste byli skutečným programátorem? Atmosféra kolem Ruby on Rails dává naději i lidem, kteří by si dříve nebo s jinou technologií netroufli. Podívejte se jak dopadl někdo, kdo rozumí HTML a CSS, ale programování je pro něj horká kaše.</p>

<p>
Železničářské Ministerstvo propagandy v časech recese šetří a tak nezbyly dotace na další nadšenecký článek o Rails. Radosti se místy nelze ubránit i tak, nicméně čekejte i chvíle dojemného zklamání. Článek je určen všem, kteří si myslí, že programovat weby nedokáží, ale povědomí o technologiích mají. Skuteční programátoři, ušetřete si nervy a <a title="běžte jinam" href="http://www.heyrick.co.uk/assembler/intro.html" id="yppf">běžte jinam</a>.</p>

<p>
Ostatně, mé startovací znalosti nebyly úplně mimo mísu. S Ruby on Rails (RoR) kódem přicházím pasivně do styku už přes dva roky, znalosti HTML a CSS mě živí až trapně dlouho. Věděl jsem co je to <a title="MVC" href="http://zdrojak.root.cz/clanky/uvod-do-architektury-mvc/" id="mpnw">MVC</a>, dokážu použít <code>if</code> a (Rubysté, ruku na klobouk) také <code><a title="unless" href="http://railstips.org/2008/12/1/unless-the-abused-ruby-conditional" id="p7ls">unless</a></code>. Tyhle znalosti nejsou ale tak podstatné, rozhoduje angličtina a schopnost správně se zeptat Googlu. Komunita kolem Rails je <a title="nadšená" href="http://blog.karmi.cz/" id="gvwi">nadšená</a>, <a title="sdílná" href="http://railscasts.com/" id="mi1t">sdílná</a> a <a title="umí učit" href="http://guides.rubyonrails.org/" id="f1uq">umí učit</a>.</p>

<p>
Ačkoliv o prospěšnosti RoR pro webdesign dlouhodobě nepochybuji, dost jsem nevěřil své šanci vyrobit web sám a hlavně o čase, ve kterém jsem schopen se to naučit. </p>

<p>
Podívejte se, jak jsem postupoval a jaké problémy přitom řešil.</p>

<!-- more -->

<h2>Začínáme s prací na projektu</h2>

<p>Jde o primitivní eshop. Jednotlivé produkty jsou tříděny do kategorií. Pomocí jednokrokového formuláře lze objednat právě jeden produkt.</p>

<p>
Z pohledu technického má práce na webu takovýto postup: </p>

<ol>
<li>Znalost obsahu a vztahů mezi jeho typy </li>
<li>Správa obsahu </li>
<li>Výpis obsahu do uživatelského rozhraní webu </li>
</ol>
<h2>První krok: definice typů obsahu a vztahů mezi nimi</h2>

<p>Ať už jste programátor nebo designér, nejdříve se musíte důkladně seznámit s obsahem, se kterým pracujete. Jeden typ obsahu je v našem případě jeden Model. V tomto konkrétním projektu máme tři základní Modely: <code>kategorii</code>, <code>produkt</code> a <code>objednávku</code>.</p>

<p>
Musíte znát vazby mezi Modely. V našem případě: Jeden <code>produkt</code> má právě jednu <code>kategorii</code>. Jedna <code>objednávka</code> obsahuje jeden <code>produkt</code>.</p>

<p>
Máte? Jako uživatel Windows bych si teď představoval, že mi pokročilá technologie pro tvorbu webu poskytne nějaký klikací nástroj, kde si typy obsahu a vazby mezi nimi nadefinuji. Ani v RoR tomu tak není. Rails mají  blíž k Linuxovému uživatelskému rozhraní, použijeme tedy příkazovou řádku a pomocí <a title="generátoru" href="http://wiki.rubyonrails.org/rails/pages/AvailableGenerators#model" id="f2-e">generátoru</a> vytvořím Modely. <a title="Vazby mezi nimi" href="http://guides.rubyonrails.org/association_basics.html" id="rmad">Vazby mezi nimi</a> si pak nadefinujeme ve vygenerováném kódu. Je to sice horší než klikání, ale vůbec to nebolelo.</p>

<p>
Záměrně tady nemluvím o databázi, natož abych zmiňoval MySQL nebo jiné standardy. Výšeuvedeným postupem jsme vlastně databázi nadefinovali, ale Rails se o databázi starají <a title="jaksi samovolně" href="http://guides.rubyonrails.org/migrations.html" id="xfk0">jaksi samovolně</a>. První věc, nad kterou jsem radostně výskal. </p>

<p>
Mám tedy jednoduchý nástroj pro definici typů obsahu, data se mi nějak budou ukládat, ale já se nemusím trápit se znalostmi MySQL, SQLLite nebo čehokoliv jiného. To je hned o jednu úroveň technického myšlení a řešení problémů během práce na celém projektu méně. Místo toho můžu ženě uvařit čaj nebo podrbat naši kočku. Wow.</p>

<h2>Druhý krok: Správa obsahu</h2>

<p>Strukturu obsahu máme. Teď budeme potřeboval jednoduché rozhraní administrace, kde chceme samotný obsah přidávat, upravovat a mazat. </p>

<h3>Administrační rozhraní na jedno kliknutí? Mám smůlu
</h3>

<p>
Moje představa: ve chvíli kdy v klikacím rozhraní „vyrábím” Modely, hledal bych zatržítko „Vygeneruj z nich jednoduché správcovské rozhraní”. Naivní? V Rails zatím ano. </p>

<p>
Zatržítko neexistuje, nemám dokonce ani snadnou možnost jak správcovské rozhraní oddělit (do obligátního <code>/admin</code> nebo jinam) od rozhraní pro zobrazování dat. Rails totiž generují kostru (říká se tomu <a title="scaffolding" href="http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding" id="mth5">scaffolding</a>) uživatelského rozhraní v jednom celku. Oddělit správu jinam samozřejmě lze, ale je to <a title="mravenční práce" href="http://forum.rubyonrails.cz/forums/1/topics/345" id="fvlr">mravenční práce</a>.</p>

<p>
Tady jsem se myslím poprvé a naposledy ocitl na hranici svých schopností a nebýt pánů <a id="el_o" href="http://www.karmi.cz/" title="Karla Minaříka">Karla Minaříka</a> a <a id="vfk1" href="http://vsuchy.net/" title="Vlada Suchého">Vlada Suchého</a>, zřejme bych v tomto levelu hry ztratil všechny životy. Zdály se mi tady sny o Djangu, které sice neznám ani tak špatně jako Rails, ale které má generování správcovského rozhraní vyřešeno na <a title="pohled velmi hezky" href="http://docs.djangoproject.com/en/dev/ref/contrib/admin/" id="psdd">pohled docela hezky</a>. Ani v případě Rails ovšem nevěřím, že by komunita nechala administrace-chtivé kodéry dlouho na holičkách.</p>

<p>
Trochu krve a potu a nakonec tedy jednoduché správcovské rozhraní máme.</p>

<h2>Třetí krok: výpis obsahu do uživatelského rozhraní webu</h2>

<p>
Výpis samotných dat v šablonách (tedy Views) je něco kvůli čemu jsme celou tu věc dělali a jste-li kodérem, budete se tady cítit jako doma. Téma Rails a šťastný kodér je ale na úplně jiný článek. Tady se bavíme o problémech nešťastného začínajícího programátora.</p>

<p>
Hodně mi zpočátku vadilo, že bych měl pro HTML prvky využívat Rails metody (například <code>image_tag</code> namísto <code><img></code>). Takové programátorštiny s divnou syntaxí v mém krásném HTML! Jenže porovnejte dva kusy kódu:</p>

<pre>
<code>
<% unless @product.image.blank? %>
<img src="http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/0KCwp0k0MpE/%3c%=%20@product.image%20%%3e">
<% end %>
</code>
</pre>

<p>
a</p>

<pre>
<code>
<%= image_tag(@product.image) unless @product.image.blank? %>
</code>
</pre>

<p>
Ten kdo vybere druhý případ není jen programátor, ale také člověk, který chce svůj kód zanechat čitelný a snadno pochopitelný. </p>

<h3>Migrace: olej do soukolí databáze, ale rozhraní nikoliv</h3>

<p>Dobrá, máme nějaká data, máme jejich správu, máme výpis těch dat do uživatelského rozhraní webu. Jsme relativně šťastní, dokud… Dokud nepřijde zlý klient a neřekne, že do každého produktu by potřeboval přidat ještě anotaci a další obrázek. </p>

<p>
Máme však výhodu, že myslíme agilně a Rails nás v tom podporují. On klient není zlý a jeho požadavek je zcela na místě. V Rails to jde samo — vytvoříme si <a title="migraci" href="http://guides.rubyonrails.org/migrations.html" id="qnqw">migraci</a>, kde ty dvě, tři pložky do databáze přidáme. </p>

<p>
Jenže jak je přidáme do hotového rozhraní a administrace? Bohužel tušíte správně. Ručně. Svět není tak daleko, abyste se nepříjené práce nezbavili úplně. Docela by mě zajímalo, zda zrovna téhle prudy umí některá ze současných technologií zbavit.</p>

<h2>Shrnutí: sami to určitě zkoušejte</h2>

<p>
Už dlouho se mi nestalo, že bych při adopci nějaké technologie propadal takovému jásotu nad vlastním pokrokem. Zkoušku Rails doporučuji všem kodérům, projektovým vedoucím, ale i techničtějším designérům nebo marketérům. Hlavně všem, kteří si při pohledu do PHP zdrojových kódu řekli, že „ne, to programování opravdu není pro mě”.</p>

<p>
Berte mou chválu samozřejmě s rezervou, pokrok proběhl i jinde. Máme <a id="k3fd" href="http://www.djangoproject.com/" title="Django">Django</a>, <a id="kwes" href="http://cakephp.org/" title="CakePHP">CakePHP</a> nebo <a id="zzak" href="http://nettephp.com/cs/" title="Nette">Nette</a>. Se všemi jsem přišel alespoň letmo do styku, leccos na nich oceňuji, ale nemám dostatečné znalosti abych byl schopen porovnání.</p>

<p>
Soudě podle této zkušenosti s Rails, vyvíjet weby na míru bez hlubších technických znalostí zatím moc nejde, chcete-li se je ale naučit programovat, s Rails vám to může jít překvapivě snadno.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?i=0KCwp0k0MpE:6foYQM2YPbE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?a=0KCwp0k0MpE:6foYQM2YPbE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/vzhurudolu_clanky?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/vzhurudolu_clanky/~4/0KCwp0k0MpE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://feedproxy.google.com/~r/vzhurudolu_clanky/~3/0KCwp0k0MpE/269354002/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
