<?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>Pique - standardy sieciowe &#187; Krzysztof Danek</title>
	<atom:link href="http://pique.pl/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://pique.pl</link>
	<description>Krzysztof Danek o standardach sieciowych, PHP, JavaScript i całej reszcie</description>
	<lastBuildDate>Thu, 24 Jun 2010 20:15:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Jak poprawnie budować rozwijaną nawigację</title>
		<link>http://pique.pl/2010/06/24/jak-poprawnie-budowac-rozwijana-nawigacje/</link>
		<comments>http://pique.pl/2010/06/24/jak-poprawnie-budowac-rozwijana-nawigacje/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 20:15:06 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://pique.pl/?p=60</guid>
		<description><![CDATA[Po pierwsze &#8211; rozwijane menu nawigacyjne były złym pomysłem 10 lat temu i są tym bardziej złym pomysłem teraz. Kto próbował użyć takiej nawigacji na ekranie dotykowym, gdzie nie istnieje koncepcja :hover, ten świetnie wie o czym mówię. Chciałem to &#8230; <a href="http://pique.pl/2010/06/24/jak-poprawnie-budowac-rozwijana-nawigacje/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Po pierwsze &#8211; rozwijane menu nawigacyjne były złym pomysłem 10 lat temu i są tym bardziej złym pomysłem teraz. Kto próbował użyć takiej nawigacji na ekranie dotykowym, gdzie nie istnieje koncepcja <code>:hover</code>, ten świetnie wie o czym mówię. Chciałem to zaznaczyć na samym początku &#8211; jeśli możecie, nie używajcie w ogóle menu rozwijanych!</p>
<p>Do rzeczy. Ten wpis nie ma na celu szczegółowego omówienia technik budowania rozwijanych menu nawigacyjnych. Chcę tylko zwrócić uwagę na jeden konkretny aspekt. </p>
<h2>Problem &#8211; <code>display: none;</code></h2>
<p>Bardzo często widzę, taką strukturę CSSa do ukrywania/chowania menu.<br />
<code><br />
#nav li { float: left; position: relative; height: 30px; }<br />
 #nav li ul { display: none; position: absolute; top: 30px; left: 0; }<br />
 #nav li:hover ul { display: block; }<br />
</code></p>
<p>To działa, ale ma jedną zasadniczą wadę &#8211; domyślnie wszystkie linki w podmenu są ukryte przed wyszukiwarkami, czytnikami ekranu itd. Według mnie <code>display: none;</code> powinno być tylko używane w połączeniu z JavaScriptem, o ile chcemy zachować dostępność treści.</p>
<h2>Rozwiązanie: <code>left: -999em;</code></h2>
<p>Lepszym rozwiązaniem jest użyć minusowego pozycjonowania elementów:<br />
<code><br />
 #nav li ul { position: absolute; top: 30px; left: -999em; }<br />
 #nav li:hover ul { left: 0; }<br />
</code></p>
<p>Efekt taki sam, a nagle i roboty będą łapać Wasze linki i użytkownicy korzystający z klawiatury będa mogli nawigować po waszej stronie (przynajmniej w teorii, w praktyce wymaga to jeszcze trochę zachodu, żeby uczynić rozwijaną nawigację w pełni dostępną z klawiatury).</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2010/06/24/jak-poprawnie-budowac-rozwijana-nawigacje/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SQL Buddy &#8211; alternatywa dla phpMyAdmina</title>
		<link>http://pique.pl/2008/08/29/sql-buddy-alternatywa-dla-phpmyadmina/</link>
		<comments>http://pique.pl/2008/08/29/sql-buddy-alternatywa-dla-phpmyadmina/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 09:38:02 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[Oprogramowanie]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[SQL Buddy]]></category>

		<guid isPermaLink="false">http://pique.pl/?p=51</guid>
		<description><![CDATA[Michał dał mi namiary na naprawdę niezłego manadżera baz MySQL &#8211; SQL Buddy. Jest napisany w PHP, podobnie jak wskazany w tytule phpMyAdmin. Jest jednak kilka reczy różniących te dwa programy, które moim zdaniem przemawiają na rzecz SQL Buddy: Aplikacja &#8230; <a href="http://pique.pl/2008/08/29/sql-buddy-alternatywa-dla-phpmyadmina/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://xms.pl" title="Michał Stempień" rel="friend">Michał</a> dał mi namiary na naprawdę niezłego manadżera baz MySQL &#8211; <a href="http://sqlbuddy.com/">SQL Buddy</a>. Jest napisany w <a href="http://www.php.net">PHP</a>, podobnie jak wskazany w tytule <a href="http://www.phpmyadmin.net/home_page/index.php">phpMyAdmin</a>. Jest jednak kilka reczy różniących te dwa programy, które moim zdaniem przemawiają na rzecz SQL Buddy:</p>
<ul>
<li>Aplikacja wykorzystuje sporo JavaScriptu &ndash; dzięki temu wrażenia z pracy są bardziej zbliżone do aplikacji desktopowej niż do korzystania ze statycznej strony internetowej.</li>
<li>Nie wymaga instalacji ani konfiguracji.</li>
<li>Paczka ze skryptami ma około 165KB (gdy sprawdzałem ostatnią wersję phpMyAdmina było to bliżej 3MB).</li>
<li>Sam wygląd jest prosty, przejrzysty i intuicyjny &ndash; zdecydowanie bardziej użyteczny niż dość szpetny z natury phpMyAdmin.</li>
<li>Nie jest przeładowany zbędnymi funkcjami &#8211; porównajcie chociażby ekrany importu i eksportu. phpMyAdmin obsługuje o wiele więcej formatów danych, jednak jak często potrzebujecie czegoś innego niż SQL? Ja osobiście niezbyt często, choć oczywiście zdarzyło mi się korzystać kilkukrotnie z plików <abbr title="Comma Separated Values">CSV</abbr>.</li>
</ul>
<p>Nie zrozumcie mnie źle &ndash; <abbr title="phpMyAdmin">pMA</abbr> to bardzo dobry program &#8211; nie bez powodu jest tak popularny. Uważam jednak, że SQL Buddy to bardzo zgrabna alternatywa, która w zupełności wystarcza do codziennej pracy.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2008/08/29/sql-buddy-alternatywa-dla-phpmyadmina/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nowa odsłona IE PNG Fix</title>
		<link>http://pique.pl/2008/07/17/ie-png-fix-wersja-2/</link>
		<comments>http://pique.pl/2008/07/17/ie-png-fix-wersja-2/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 13:10:39 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[przezroczystość]]></category>

		<guid isPermaLink="false">http://pique.pl/?p=47</guid>
		<description><![CDATA[IE6 nie wybiera się na zasłużoną emeryturę w najbliższej przyszłości. Codzienna udręka z tą przeglądarką stała się właśnie odrobinę wygodniejsza. Powstała nowa wersja popularnego narzędzia IE PNG Fix, autorstwa Twin Helix Design. Służy ono do włączania obsługi kanałów alpha w &#8230; <a href="http://pique.pl/2008/07/17/ie-png-fix-wersja-2/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><abbr title="Internet Explorer 6">IE6</abbr> nie wybiera się na zasłużoną emeryturę w najbliższej przyszłości. Codzienna udręka z tą przeglądarką stała się właśnie odrobinę wygodniejsza. </p>
<p>Powstała nowa wersja popularnego narzędzia <a href="http://www.twinhelix.com/css/iepngfix/">IE PNG Fix</a>, autorstwa <a href="http://www.twinhelix.com/">Twin Helix Design</a>. Służy ono do włączania obsługi kanałów alpha w obrazkach zapisanych w formacie PNG. </p>
<p>Nowa wersja 2.0 alpha 1 ma dwie nowe, rewelacyjne funkcje, niedostępne wg mojej wiedzy w innych rozwiązaniach. <strong>Udostępniono obsługę dwóch właściwości <abbr title="Cascading Style Sheets">CSS</abbr>: <code>background-position</code> i  <code>background-repeat</code>.</strong> Mam szczerą nadzieję, że ten skrypt podoła ciężkim warunkom bojowym codziennej pracy i będzie można go swobodnie używać do momentu, gdy IE6 przestanie mieć znaczenie (koło 2011 roku, jak tak dalej pójdzie z tempem konwersji).</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2008/07/17/ie-png-fix-wersja-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kontrolki ActiveX w IE wracją do poprzedniego stanu</title>
		<link>http://pique.pl/2007/11/09/kontrolki-activex-w-ie-wracja-do-poprzedniego-stanu/</link>
		<comments>http://pique.pl/2007/11/09/kontrolki-activex-w-ie-wracja-do-poprzedniego-stanu/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 07:57:11 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[Oprogramowanie]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://pique.pl/2007/11/09/kontrolki-activex-w-ie-wracja-do-poprzedniego-stanu/</guid>
		<description><![CDATA[Od kwietnia 2008 znika potrzeba aktywowania kontrolek Flash w IE. <a href="http://pique.pl/2007/11/09/kontrolki-activex-w-ie-wracja-do-poprzedniego-stanu/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Od kwietnia 2008 roku <a href="http://blogs.msdn.com/ie/archive/2007/11/08/ie-automatic-component-activation-changes-to-ie-activex-update.aspx" title="IE Automatic Component Activation (Changes to IE ActiveX Update)">zniknie potrzeba aktywowania kontrolek w <abbr title="Internet Explorer">IE</abbr></a>! Po długiej walce Microsoftowi udało się odkupić od firmy <a href="http://en.wikipedia.org/wiki/EOLAS" title="Wpis na Wikipedia.org opisujący firmę Eolas">Eolas</a> licencję na technologię, która to umożliwia. Wszyscy twórcy stron/aplikacji flashowych będą mieli jeden problem mniej z głowy. </p>
<p>Z drugiej strony problem można było obejść korzystając z takich technik jak <a href="http://osflash.org/ufo" title="ufo Open Source Flash">UFO</a> czy <a href="http://blog.deconcept.com/swfobject/" title="SWFObject: Javascript Flash Player detection and embed script">SWFObject</a>. Zawsze wydawało mi się to lepszym rozwiązaniem.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2007/11/09/kontrolki-activex-w-ie-wracja-do-poprzedniego-stanu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XHTML2 a HTML5</title>
		<link>http://pique.pl/2007/04/10/xhtml2-a-html5/</link>
		<comments>http://pique.pl/2007/04/10/xhtml2-a-html5/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 16:33:18 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[XHTML2]]></category>

		<guid isPermaLink="false">http://pique.pl/2007/04/10/xhtml2-a-html5/</guid>
		<description><![CDATA[Zachęcam do przeczytania artykułu &#8220;<a href="http://www.digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web/"> HTML5, XHTML2, and the Future of the Web</a>&#8221; <a href="http://pique.pl/2007/04/10/xhtml2-a-html5/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digital-web.com/about/contributors/david_liorean_andersson/">David &#8222;liorean&#8221; Andersson</a> opublikował w portalu <a href="http://www.digital-web.com/">Digital Web Magazine</a> ciekawy <a href="http://www.digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web/">artykuł &ldquo;HTML5, XHTML2, and the Future of the Web&rdquo;</a>, pokazujący bardzo trafnie różnice między XHTML2 i HTML5.</p>
<p>Autor nie ukrywa też swoich preferencji co do dalszego rozwoju języka HTML:</p>
<blockquote cite="http://www.digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web/"><p>HTML5 will be the future of the web, so my advice would be to pay close attention to it.</p></blockquote>
<p>Pogląd ten jest poparty kilkoma dobrymi argumentami, więc sądzę że warto zapoznać się z całym tekstem, jeśli jeszcze nie wyrobiliście sobie zdania w tej kwestii.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2007/04/10/xhtml2-a-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prezentacja Rogera Costello na temat hCard</title>
		<link>http://pique.pl/2006/12/19/prezentacja-rogera-costello-na-temat-hcard/</link>
		<comments>http://pique.pl/2006/12/19/prezentacja-rogera-costello-na-temat-hcard/#comments</comments>
		<pubDate>Mon, 18 Dec 2006 23:15:50 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[Mikroformaty]]></category>
		<category><![CDATA[hCard]]></category>
		<category><![CDATA[prezentacja]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/12/19/prezentacja-rogera-costello-na-temat-hcard/</guid>
		<description><![CDATA[Opis prezentacji Rogera Costello na temat mikroformatu hCard. <a href="http://pique.pl/2006/12/19/prezentacja-rogera-costello-na-temat-hcard/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Szybkie wprowadzenie &#8211; mikroformaty pozwalają na wzbogacenie znaczenia danego kodu HTML lub XML poprzez dodanie do niego określonych, ustandaryzowanych klas. Dzięki temu możemy w prosty sposób zapisywać informacje o osobach, wydarzeniach, położeniu, itd. Głównym źródłem informacji na ten temat powinna być strona <a href="http://microformats.org/">microformats.org</a>, jednak większość zamieszczonych tam danych to techniczne specyfikacje. </p>
<p>Jestem osobiście bardzo zainteresowany tym tematemi już kilkukrotnie podejmowałem próbę wdrożenia któregoś z mikroformatów w mojej pracy. Niestety efekty były raczej dalekie od satysfakcjonujących. Po pierwsze wynikało to z braku odpowiednich narzędzi do weryfikowania poprawności stworzonego kodu, a po drugie z niedostatecznej ilości informacji i przykładów w specyfikacji.</p>
<p>Wczoraj jednak przeczytałem <a href="http://www.xfront.com/microformats/hCard.html">prezentację na temat formatu hCard</a>, której autorem jest <span class="vcard"><a href="http://www.xfront.com/" class="fn url">Roger Costello</a></span>. Podzielona na pięć części w bardzo szczegółowy sposób opisuje wszystkie aspekty poszczególnych sekcji hCard, takich jak dane osobiste, adres, kontakt, stanowisko, organizacja, itd.. Szczerze polecam lekturę &ndash; w 30 minut nauczyłem się więcej niż w trakcie kilku godzin studiowania przykładów na <a href="http://microformats.org/">microformats.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/12/19/prezentacja-rogera-costello-na-temat-hcard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Label jako komunikat błędu</title>
		<link>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/</link>
		<comments>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/#comments</comments>
		<pubDate>Mon, 18 Dec 2006 00:26:48 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[komunikaty błędu]]></category>
		<category><![CDATA[label]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/12/18/label-jako-komunikat-bledu/</guid>
		<description><![CDATA[Wykorzystanie elementu <code>label</code> do oznaczania komunikatów błędów w formularzach. <a href="http://pique.pl/2006/12/18/label-jako-komunikat-bledu/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Zastanawiałem się ostatnio nad wykorzystaniem elementu <code>label</code> do oznaczania elementów błędu. <a href="http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL">Według specyfikacji ze stron W3C</a>:</p>
<blockquote cite="http://www.w3.org/TR/html4/interact/forms.html#edef-LABEL" lang="en"><p>The LABEL element may be used to attach information to controls. Each LABEL element is associated with exactly one form control.</p></blockquote>
<p>Uważam, że komunikat błędu można jak najbardziej podciągnąć pod tą definicję. Jest przecież bezpośrednio powiązany z daną kontrolką. Pytanie brzmi &ndash; jakie są korzyści takiego rozwiązania? Rozpatrzmy następujący formularz:</p>
<pre><code>&lt;form method="post" action="index.html"&gt;
  &lt;div id="errors"&gt;
    &lt;h2&gt;Błędy&lt;/h2&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;label for="name"&gt;&lt;em&gt;Imię i nazwisko&lt;/em&gt;: Proszę podać imię i nazwisko&lt;/label&gt;&lt;/li&gt;
      &lt;li&gt;&lt;label for="email"&gt;&lt;em&gt;Email&lt;/em&gt;: Podany adres e-mail jest nieprawidłowy&lt;/label&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div&gt;&lt;label for="name"&gt;Imię i nazwisko &lt;em&gt;(wymagane)&lt;/em&gt;&lt;/label&gt; &lt;input type="text" name="name" id="name" value=""&gt; &lt;strong class="error"&gt;&lt;label for="name"&gt;Proszę podać imię i nazwisko&lt;/label&gt;&lt;/strong&gt;&lt;/div&gt;
  &lt;div&gt;&lt;label for="email"&gt;Adres e-mail &lt;em&gt;(wymagany)&lt;/em&gt;&lt;/label&gt; &lt;input type="text" name="email" id="email" value="Lorem ipsum"&gt; &lt;strong class="error"&gt;&lt;label for="email"&gt;Podany adres e-mail jest nieprawidłowy&lt;/label&gt;&lt;/strong&gt;&lt;/div&gt;
  &lt;div&gt;&lt;input type="submit" value="Wyślij formularz"&gt;&lt;/div&gt;
&lt;/form&gt;
</code></pre>
<p><a href="/sandbox/error_labels/">Powyższy przykład na żywo</a><br />
Takie rozwiązanie przypisuje bezpośrednio informację o popełnionym błędzie do danego pola formularza. Według mnie może to być bardzo istotne zwłaszcza przy długich formularzach, występujących poniżej linii zgięcia. Po przeładowaniu strony nie widzimy bezpośrednio formularza ani komunikatów błędu z nim powiązanych. Świadczy to przeważnie o niewłaściwym projekcie strony, ale przykra rzeczywistość jest taka, że od czasu do czasu musimy borykać się z tego typu problemami. </p>
<p>Moje pytanie brzmi &ndash; czy takie rozwiązanie jest prawidłowe (nie spotkałem się z nim na innych stronach) i czy przynosi użytkownikom jakąkolwiek korzyść? Osobiście zauważyłem już jeden problem. Kliknięcie na <code>label</code> w górnej liście błędów przenosi do odpowiedniego pola, ustawiając na nim <em>focus</em>. Nie ma jednak powrotu do listy błędów, i efekt może być taki, że znajdziemy się gdzieś w połowie formularza nie będąc jednocześnie całkowicie świadomym położenia swojego i innych pól, w których wystąpiły błędy. </p>
<p>Czuję, że ta technika ma przyszłość, ale obecnie nie jestem do końca pewien, jak to rozwiązać przy pomocy czystego HTML. Będę wdzięczny za wszelkie uwagi.</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/12/18/label-jako-komunikat-bledu/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Firebug 1.0 beta</title>
		<link>http://pique.pl/2006/12/04/firebug-10-beta/</link>
		<comments>http://pique.pl/2006/12/04/firebug-10-beta/#comments</comments>
		<pubDate>Mon, 04 Dec 2006 19:12:29 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[Oprogramowanie]]></category>
		<category><![CDATA[firebug]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/12/04/firebug-10-beta/</guid>
		<description><![CDATA[Pojawiła się <a href="http://www.getfirebug.com/">wersja 1.0 beta wtyczki Firebug</a> dla przeglądarki Firefox. Dzięki jej ogromnej funkcjonalność stała się dla mnie właśnie jednym z podstawowych narzędzi do tworzenia stron internetowych. <a href="http://pique.pl/2006/12/04/firebug-10-beta/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ukazała się <a href="http://www.getfirebug.com/">wersja 1.0 beta wtyczki Firebug</a> dla przeglądarki Firefox. Szczerze muszę przyznać &ndash; przerosła moje najśmielsze oczekiwania. Poniżej lista kilku cech, które dosłownie wgniotły mnie w fotel:</p>
<ul>
<li>Zakładka <em lang="en">Net</em>, na której w czasie rzeczywistym możemy śledzić prędkość pobierania poszczególnych plików, wszystkie nagłówki HTTP (w tym wyróżnione ewentualne błędy 404), a także filtrować informacje o pobieranych plikach według ich typu.</li>
<li>Widok drzewa HTML wraz ze stylami CSS przypisanymi bezpośrednio do poszczególnych elementów oraz <strong>dziedziczonymi z poprzednich elementów</strong></li>
<li>Zakładka <em lang="en">Layout</em>, która pokazuje graficzną reprezentację tzw. <em lang="en">box model</em>, czyli rozmiaru, marginesów, krawędzi itd.</li>
<li>Funkcja <em lang="en">Profile</em> w konsoli do sprawdzania czasu wykonywania poszczególnych funkcji.</li>
</ul>
<p>Sam już nie wiem, czy znalazłem wszystkie opcje tego rewelacyjnego narzędzia. To jednak nie wszystko! Joe Hewitt dodatkowo udostępnił skrypt <a href="http://www.getfirebug.com/lite.html">Firebug Lite</a>, który daje dowolnej przeglądarce możliwość logowania informacji do konsoli Firebuga, tak jak było to do tej pory możliwe tylko w Firefoxie.</p>
<p>Śmiało mogę powiedzieć, że to najlepsze narzędzie do tworzenia stron WWW od czasu pierwszego wydania <a href="http://chrispederick.com/work/webdeveloper/">Web Developera</a>.</p>
<p>Autor zastanawiał się nad zmianą licencji na komercyjną, ale postanowił jednak, że <abbr title="Firebug">FB</abbr> pozostanie darmowy. Jeśli macie taką możliwość &ndash; wyślijcie mu kilka złotych. Szybko je zaoszczędzicie z tym świetnym rozszerzeniem&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/12/04/firebug-10-beta/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Smooth Slideshow autorstwa JonDesign</title>
		<link>http://pique.pl/2006/11/29/smooth-slideshow-autorstwa-jondesign/</link>
		<comments>http://pique.pl/2006/11/29/smooth-slideshow-autorstwa-jondesign/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 22:57:11 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[galerie]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/11/29/smooth-slideshow-autorstwa-jondesign/</guid>
		<description><![CDATA[Krótki opis pokazu slajdów <a href="http://smoothslideshow.jondesign.net/index.html">Smooth Slideshow</a>, którego autorem jest <a href="http://www.jondesign.net/">Jonathan Schemoul</a>. <a href="http://pique.pl/2006/11/29/smooth-slideshow-autorstwa-jondesign/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Można odnieść wrażenie, że nie zajmuję się niczym innym poza galeriami i pokazami slajdów, ale trafiłem na kolejne świetne i godne zainteresowania rozwiązanie.</p>
<p><a href="http://smoothslideshow.jondesign.net/index.html">Smooth Slideshow</a> to darmowa biblioteka, autorem której jest <a href="http://www.jondesign.net/">Jonathan Schemoul</a>. Kilka słów podsumowania:</p>
<ol>
<li>pozwala na wyświetlanie zdjęć w trybach zarówno ręcznym jak i automatycznym,</li>
<li>jest oparta o framework <a href="http://mootools.net/">mootools</a>,</li>
<li>skrypty ważą razem około 22kB.</li>
</ol>
<p>I jeszcze dwa linki bezpośrednio do przykładów:</p>
<ul>
<li><a href="http://smoothslideshow.jondesign.net/timed.html">Wersja automatyczna</a></li>
<li><a href="http://smoothslideshow.jondesign.net/showcase.html">Wersja działająca po kliknięciu</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/11/29/smooth-slideshow-autorstwa-jondesign/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TripTracker slideshow &#8211; Lightbox na sterydach</title>
		<link>http://pique.pl/2006/11/26/triptracker-slideshow-lightbox-na-sterydach/</link>
		<comments>http://pique.pl/2006/11/26/triptracker-slideshow-lightbox-na-sterydach/#comments</comments>
		<pubDate>Sun, 26 Nov 2006 11:19:18 +0000</pubDate>
		<dc:creator>Krzysztof Danek</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[thickbox]]></category>

		<guid isPermaLink="false">http://pique.pl/2006/11/26/triptracker-slideshow-lightbox-na-sterydach/</guid>
		<description><![CDATA[Krótkie skrypty pokazujące, jak podłączyć galerię <a href="http://slideshow.triptracker.net/">TripTracker Slideshow</a> nie niszcząc jednocześnie dopieszczonego HTML. <a href="http://pique.pl/2006/11/26/triptracker-slideshow-lightbox-na-sterydach/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>W jednym z ostatnich projektów klient zażyczył sobie galerii zbliżonej w działaniu do Lightboxa, ale dodatkowo wzbogaconej o funkcję pokazu slajdów. Zgodnie z podstawową zasadą leniwego programisty zacząłem od przeszukania zasobów Internetu w celu znalezienia gotowego rozwiązania. W krótkim czasie trafiłem tutaj: <a href="http://slideshow.triptracker.net/">Revamped Slideshow</a>, na blogu <a href="http://blog.triptracker.net/">TripTracker</a>. </p>
<p>Klient wyraził swoją aprobatę, więc pozostało jedynie zaimplementować to ustrojstwo na stronie, a właściwie zastąpić obecnego już Thickboxa. Niestety &ndash; oferowany przez autorów sposób integracji jest dość nieszczęśliwy i całkowicie niezgodny z zasadami <a href="http://www.onlinetools.org/articles/unobtrusivejavascript/" lang="en">unobtrusive javascript</a> [ciągle nie znam dobrego polskiego tłumaczenia]. Dlatego przygotowałem krótki skrypt, który załatwia to w bardziej elegancki sposób.</p>
<h2>Wersja zależna od jQuery</h2>
<pre><code>var uoSlideshow = {
	CLASS_NAME : 'slideshow',
	viewer : new PhotoViewer(),
	initialize : function(){
		$('a.'+uoSlideshow.CLASS_NAME).each(function(i){
			uoSlideshow.viewer.add(this.href);
			$(this).click(function(e){ e.preventDefault(); uoSlideshow.viewer.show(i)});
		});
	}
}

$(document).ready(uoSlideshow.initialize);</code></pre>
<p><a href="/sandbox/uoSlideshow/js/uoSlideshow-jquery.js">Wersja w osobnym pliku</a> | <a href="/sandbox/uoSlideshow/with-jquery.html">Przykład</a></p>
<p>Powyższe skrypt wymaga podłączonej biblioteki <a href="http://www.jquery.com/">jQuery</a>. Aby wszystko działało poprawnie powyższy plik powinnien być podłączony <strong>po</strong> plikach jQuery i właściwego slideshowa, czyli np w ten sposób:</p>
<pre><code>&lt;script type="text/javascript" src="js/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/slide.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/uoSlideshow-jquery.js"&gt;&lt;/script&gt;</code></pre>
<h2>Wersja niezależna od zewnętrznych bibliotek</h2>
<p>Napisałem też wersję, która może działać samodzielnie. Do przypisywania zdarzeń wykorzystałem funkcję <code>addEvent()</code> autorstwa <a href="http://ejohn.org/projects/flexible-javascript-events/">Johna Resiga</a>.</p>
<pre><code>function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function stopDefault(e){
	if (e.preventDefault) {
		e.preventDefault(); // The W3C DOM way
	} else {
		e.returnValue = false; // The IE way
	}
}

var uoSlideshow = {
	CLASS_NAME : 'slideshow',
	viewer : new PhotoViewer(),
	initialize : function(){
		for(var i=0; (a = document.getElementsByTagName('a')[i]);i++ ){
			if (uoSlideshow.isSlide(a)) {
				a.index = i;
				uoSlideshow.viewer.add(a.href);
				addEvent(a,'click',function(e){ stopDefault(e); uoSlideshow.viewer.show(this.index);  });
			}
		}
	},
	isSlide : function(obj)	{
		if (obj &#038;&#038; obj.className){
			var cn = obj.className.split(" ");
			var i = cn.length-1;
			while (c = cn[i]) {
				if (c == uoSlideshow.CLASS_NAME){
					return true;
				}
				i--;
			}
		}
		return false;
	}
}

addEvent(window,'load',uoSlideshow.initialize);</code></pre>
<p><a href="/sandbox/uoSlideshow/js/uoSlideshow-standalone.js">Wersja w osobnym pliku</a>  | <a href="/sandbox/uoSlideshow/standalone.html">Przykład</a></p>
<p>Tutaj implementacja ogranicza się do wklejenia powyższego kodu w nagłówku:</p>
<pre><code>&lt;script type="text/javascript" src="js/slide.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/uoSlideshow-standalone.js"&gt;&lt;/script&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://pique.pl/2006/11/26/triptracker-slideshow-lightbox-na-sterydach/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

