<?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>adamczuk.net.pl &#187; js</title>
	<atom:link href="http://adamczuk.net.pl/tag/js/feed/" rel="self" type="application/rss+xml" />
	<link>http://adamczuk.net.pl</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 06 May 2012 22:34:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nowa wersja jQuery 1.5</title>
		<link>http://adamczuk.net.pl/2011/02/01/nowa-wersja-jquery-1-5/</link>
		<comments>http://adamczuk.net.pl/2011/02/01/nowa-wersja-jquery-1-5/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 07:05:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=467</guid>
		<description><![CDATA[Notka informacyjna o nowym wydaniu jQuery w wersji 1.5]]></description>
			<content:encoded><![CDATA[<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/02/jquery-light.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/02/jquery-light.jpg" alt="" title="jquery-light" width="200" height="75" class="align left size-full wp-image-266" /></a>Właśnie pojawiło się w sieci nowe wydanie biblioteki <a href="http://jquery.com/">jQuery</a>. Wersja 1.5 zawiera kilka zmian, w tym nowe funkcjonalności. Obsługa AJAX została przepisana i rozszerzona. Pojawił się nowy obiekt <a href="http://api.jquery.com/category/deferred-object/">Deffered</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2011/02/01/nowa-wersja-jquery-1-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Znane skrypty typu Lightbox</title>
		<link>http://adamczuk.net.pl/2010/11/04/znane-skrypty-typu-lightbox/</link>
		<comments>http://adamczuk.net.pl/2010/11/04/znane-skrypty-typu-lightbox/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 23:09:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[lighbox]]></category>
		<category><![CDATA[overlay]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=399</guid>
		<description><![CDATA[Przegląd znanych skryptów typu Lightbox. Rewolucyjny sposób prezentowania treści.]]></description>
			<content:encoded><![CDATA[<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/11/lightbox.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/11/lightbox.jpg" alt="" title="lightbox" width="200" height="100" class="align left size-full wp-image-401" /></a>Popularny w ostatnich latach efekt <strong>Lightbox</strong> znalazł wielu naśladowców. Nowe skrypty pozwalają nie tylko na otwieranie pojedynczych zdjęć, ale również galerii, materiałów wideo, elementów flash czy wykonywania żądań AJAX. Mało kto pamięta, że wszystko zaczęło się jeszcze w 2005 roku, kiedy pierwszy skrypt Lightbox stworzył <a href="http://www.lokeshdhakar.com">Lokesh Dhakar</a>.<br />
<span id="more-399"></span></p>
<h3>Początek historii</h3>
<p>Pierwotny skrypt <a href="http://www.huddletogether.com/projects/lightbox/">Lightbox</a> nie używa efektów żadnej biblioteki JS do prezentacji. Prosty pomysł, troszkę kodu JavaScript i kilka plików graficznych. Wszystko to wystarczyło do uzyskania nowatorskiego na tamte czasy efektu. Skrypt pozwalał na oglądanie plików graficznych.</p>
<p>Niedługo potem powstała druga wersja skryptu. <a href="http://www.lokeshdhakar.com/projects/lightbox2/">Lightbox 2</a><br />
używa znanej biblioteki <a href="http://www.prototypejs.org/">prototype</a> oraz efektów <a href="http://www.prototypejs.org/">scriptaculous</a>. Wprowadzone zmiany to możliwość przechodzenia między oglądanymi zdjęciami, płynna animacja podczas prezentacji obrazów i wiele opcji konfiguracyjnych. Minusem tego rozwiązania była waga używanych technologii. Obydwie biblioteki nie były lekkie, co zostało poprawione w następcach tego projektu.</p>
<h3>Alternatywne skrypty</h3>
<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/11/fancybox.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/11/fancybox.jpg" alt="" title="fancybox" width="200" height="100" class="align right size-full wp-image-406" /></a><a href="http://fancybox.net/">Fancybox</a> to skrypt, który korzysta z biblioteki <a href="http://jquery.com/">jQuery</a>, lekkiego frameworka dla JavaScript. Skrypt pozwala na otwieranie obrazów, elementów HTML, ale także animacji flash, ramek czy żądań AJAX. Ustawienia wyglądu łatwo modyfikuje się poprzez arkusze stylów, ale to nie powinno nikogo szokować. Ciekawym pomysłem jest obsługa rolki w myszce czy suwaka na trackpadzie, a także strzałek na klawiaturze. Bardzo użyteczne skróty.</p>
<p><a href="http://jquery.com/demo/thickbox/">ThickBox</a> w wersji 3.1 nie jest wprawdzie rozwijany, ale ciągle pozostaje dostępny w sieci. Skrypt łączył swoje działanie z biblioteką jQuery. Podobnie jak inne rozwiązania oferuje otwieranie obrazów, treści liniowych, ramek i żądań poprzez AJAX.</p>
<p>Z kolei <a href="http://www.phatfusion.net/projects.html">Multibox</a> korzysta z konkurencyjnej biblioteki <a href="http://mootools.net/">MooTools</a>. Skrypt wspiera otwieranie elementów flash, materiałów wideo oraz treści HTML,</p>
<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/11/greybox.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/11/greybox.jpg" alt="" title="greybox" width="200" height="100" class="align left size-full wp-image-407" /></a><a href="http://orangoo.com/labs/GreyBox/">GreyBox</a> to jedyny znany mi skrypt, który nie potrzebuje zewnętrznego frameworka JS. Ogromna zaleta tego rozwiązania to końcowa wielkość. Popularne wyskakujące okienko, które nie ssie waży całe 22 kB. GreyBox otwiera zdjęcia oraz inne treści, w tym strony internetowe.</p>
<p>Nick Stakenburg napisał skrypt <a href="http://www.nickstakenburg.com/projects/lightview/">Lightview</a>, który korzysta z wspomnianych wcześniej bibliotek prototype i scriptaculous. Istotnie należy przyznać, że możliwości tego rozwiązania są imponujące. Otwieranie wielu typów mediów, szerokie możliwości stylizacji elementów wizualnych, automatyzacja kolejnych działań to główne cechy tego skryptu. Lightview wykorzystuje różne techniki optymalizacji, w tym wcześniejsze ładowanie obrazów. Poza wymienionymi cechami skrypt obsługuje wiele przycisków klawiatury.</p>
<p><a href="http://www.p51labs.com/lightwindow/">Lightwindow</a> to kolejny skrypt wykorzystujący biblioteki prototype i scriptaculous. Główne cechy otwieranie wielu rodzajów mediów i treści, wiele możliwości opisu wyświetlanych elementów, a także duża elastyczność przy zmianach obrazów, w tym automatyczne dostosowywanie rozmiaru. Lightwindow wykrywa typ prezentowanej treści oraz  pozwala na wysyłanie formularzy.</p>
<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/11/colorbox.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/11/colorbox.jpg" alt="" title="colorbox" width="200" height="100" class="align right size-full wp-image-410" /></a><a href="http://colorpowered.com/colorbox/">ColorBox</a> to lekki plugin dla jQuery, który oferuje wiele możliwości, poczynając od otwierania obrazów, pokazów slajdów, a kończąc na treściach ramek czy żądań Ajax. Sam skrypt jest lekki, wygląd prezentowanego efektu modyfikują style kaskadowe, a zmiany ustawień domyślnych można wykonać bez ingerencji w kod bazowy skryptu. Wywołania skryptu można łączyć z kodem jQuery, a całość kodu XHTML jest zgodna ze standardami sieciowymi.</p>
<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/11/nyromodal.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/11/nyromodal.jpg" alt="" title="nyromodal" width="200" height="100" class="align left size-full wp-image-411" /></a>Inny plugin dla jQuery to <a href="http://nyromodal.nyrodev.com/">NyroModal</a>, który podobnie jak wiele innych klonów Lighboxa otwiera różne media. Dodatkowo zawsze zapewnia otwieranie treści wewnątrz okna przeglądarki, obsługę błędów, modyfikowaną animację i widok.</p>
<p>Istnieje wiele innych skryptów, które nie zostały w tym artykule szerzej opisane, jak <a href="http://www.shadowbox-js.com/index.html">Shadowbox</a>, <a href="http://chriswanstrath.com/facebox/">Facebox</a>, <a href="http://www.pirolab.it/pirobox/">piroBox</a>, <a href="http://jquery.com/demo/grey/">GreyBox Redux</a>, <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">prettyPhoto</a> i pewnie kilkanaście innych.</p>
<h3>Podsumowanie</h3>
<p>Opisane i wymienione skrypty to tylko część przykładów jakie znajdziemy w sieci. Powstało wiele podobnych rozwiązań, które mniej lub bardziej różnią się od siebie. Jedne otwierają pojedyncze zdjęcia, drugie całe galerie. Część pozwala na uruchamianie pokazów slajdów, a inne na odtwarzanie materiałów wideo i flash.</p>
<p>Każdy przypadek użycia skryptu na stronie czy aplikacji jest inny. Czasami potrzeba prostego efektu, który nie wymaga konieczności dołączania ciężkich bibliotek JS, czy efektów, pokroju scriptaculous. Jeśli z kolei strona używa frameworka dla innych funkcjonalności to lepsze będzie znalezienie skryptu o większym możliwościach, który potrzebuje do działania danej biblioteki.</p>
<p>Wsparcie nowoczesnych przeglądarek dla standardów sieciowych jest coraz lepsze, a udział przestarzałych w rynku nieustannie maleje. Dzięki temu możemy być pewni, że kolejne skrypty i rozwiązania będą coraz lepsze i efektowniejsze.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2010/11/04/znane-skrypty-typu-lightbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>wmd &#8211; alternatywa dla TinyMCE</title>
		<link>http://adamczuk.net.pl/2010/08/10/antyweb/</link>
		<comments>http://adamczuk.net.pl/2010/08/10/antyweb/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 19:30:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[wmd]]></category>
		<category><![CDATA[wysiwym]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=339</guid>
		<description><![CDATA[Podstawowe informacje na temat edytora wmd. Format markdown to ciekawa alternatywa.]]></description>
			<content:encoded><![CDATA[<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/08/wmd.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/08/wmd.jpg" alt="" title="wmd" width="300" height="100" class="alignleft left size-full wp-image-366" /></a>Język HTML oraz XHTML to główne technologie używane przy tworzeniu stron internetowych. Niestety nie wszyscy, którzy mają styczność z internetem to ludzie techniczni. Właśnie dla takich ludzi stworzono edytory <abbr title="What You See Is What You Get">WYSIWYG</abbr>, czyli dostajesz, co widzisz. Jednak ten wpis dotyczy edytora <abbr title="What You See Is What You Mean">WYSIWYM</abbr>, którym jest <a href="http://wmd-editor.com/">wmd</a>.<br />
<span id="more-339"></span><br />
<strong>Markdown</strong> to język znaczników przeznaczony do formatowania tekstu, który został stworzony przez Johna Grubera i Aarona Swartza. Podstawowy cel składni język to uproszczenie tworzenia i formatowania tekstu. Tekst zapisany w takim formacie jest przetwarzany to semantycznego XHTML. Nic nie stoi na przeszkodzie w zapisywaniu obydwu wersji na wypadek przyszłych aktualizacji tekstu.</p>
<p>Podstawowym problemem edytorów WYSIWYG jest generowanie niepoprawnego kodu. Wina stoi nie tylko po stronie parsowania tekstu przez skrypt, ale także oczekiwaniach użytkownika, co do samego formatowania tekstu. Zalety edytorów WYSIWYM to generowanie semantycznego kodu, który nie zawiera formatowania wewnątrz znaczników tekstu. Wygląd takiego tekstu zależy od zewnętrznych arkuszy stylów.</p>
<p>Edytor <a href="http://wmd-editor.com/">wmd</a> to doskonała alternatywa dla <a href="http://tinymce.moxiecode.com/">TinyMCE</a>, popularnego edytora WYSIWYG. Wprawdzie nie korzystałem z ostatnich wersji tego edytora od kilku lat, ale na potrzeby ostatnich projektów stosuję właśnie <strong>wmd</strong>. Markdown nie jest trudnym formatem i do podstawowych zastosowań zupełnie wystarcza.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2010/08/10/antyweb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>myBlog &#8211; prosta platforma blogowa</title>
		<link>http://adamczuk.net.pl/2010/07/20/myblog-prosta-platforma-blogowa/</link>
		<comments>http://adamczuk.net.pl/2010/07/20/myblog-prosta-platforma-blogowa/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 16:21:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekty]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=328</guid>
		<description><![CDATA[Nieoficjalne przedstawienie prostej, autorskiej platformy blogowej.]]></description>
			<content:encoded><![CDATA[<p>Istnieje wiele platform blogowych. Część z nich to niezależne silniki jak <a href="http://wordpress.org/">WordPress</a>, czy <a href="http://www.movabletype.org/">MovableType</a>, a inne to produkty zintegrowane z konkretnymi serwisami, jak <a href="http://www.blogger.com/">Blogger</a> czy <a href="http://www.tumblr.com/">Tumblr</a>. Istnieje również wiele polskich serwisów, które pozwalają na szybkie stworzenie dziennika internetowego i bezstresowe blogowanie. Najpopularniejsze to <a href="http://jogger.pl/">Jogger</a> i <a href="http://www.blox.pl/">Blox</a>. Zdarza się, że powyższe rozwiązania nie spełniają naszych oczekiwań, co wówczas prowadzi do wyważania otwartych drzwi.<br />
<span id="more-328"></span></p>
<p>Tworzenie aplikacji internetowych to skomplikowany, czasochłonny i nie zawsze opłacalny proces.</p>
<p><quote>Dlaczego wielu programistów pisze własne aplikacje, frameworki, biblioteki i inne rozwiązania?</quote></p>
<p>Po prostu wychodzą z przekonania, że sami zrobią to lepiej. Czasami zdarza się, że dzięki temu podejściu rodzą się prawdziwe perełki. Często wielkie molochy tracą klientów, użytkownicy znajdują produkty skrojone na miarę ich potrzeb i każdy może być zadowolony.</p>
<p>Pozostałe przypadki to zmarnowany potencjał, czas i zasoby, bo projekt umiera, zanim rozpoczął żywot. Dopóki nie rozpoczniesz tworzenia nowej jakości nie będziesz, miał pewności co do swojej wartości.</p>
<h3>Właściwy wpis</h3>
<p>Często zastanawia mnie kształt moich wypowiedzi formułowanych w stanie, jak najbardziej trzeźwym. Jestem przecież człowiek technicznych, któremu nie obce powinno być prasowanie, ale już bogaty język podczas wszelkich wypowiedzi, co najmniej zadziwia.</p>
<p>Człowiek uczy się przez lata, choć nie zawsze ma na to czas i chęci. Najlepszym przykładem moich osiągnięć jest <a href="http://squarezone.pl/">SquareZone</a>. Prosty, ale funkcjonalny serwis, który przystępnie oferuje informacje użytkownikom. Tym razem przyszedł czas na nowy przykład.</p>
<p><strong>MyBlog</strong> &#8211; nazwa kodowa powinna być bardziej tajemnicza, ale projekt jest w zbyt wczesnym stadium, mimo wielomiesięcznej pracy przy jego tworzeniu. Otóż wspomniana aplikacja oferuje lub będzie oferowała w przyszłości funkcjonalności znane z popularnych systemów blogowych.</p>
<p>Architektura systemu po części czerpała ze znanego WordPressa, jednak największym atutem omawianej aplikacji jest wydajność i zgodność ze standardami. Wszystkie testy i szczegóły zostaną przedstawione wkrótce. Niedługo postaram się przedstawić kolejne funkcjonalności oraz założenia rozwojowe.</p>
<p>Obecnie nie mam pewności czy kod źródłowy zostanie udostępniony publicznie, jednak wszelkie opinie na temat działania lub architektury są mile widziane.</p>
<p>Wersja demonstracyjna <a href="http://demo.ladamczuk.kei.pl">myBlog</a>dostępna jest w sieci.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2010/07/20/myblog-prosta-platforma-blogowa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nowe jQuery &#8211; nowe rozwiązania</title>
		<link>http://adamczuk.net.pl/2010/02/05/nowe-jquery-nowe-rozwiazania/</link>
		<comments>http://adamczuk.net.pl/2010/02/05/nowe-jquery-nowe-rozwiazania/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 10:43:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=265</guid>
		<description><![CDATA[Krótka notka na temat nowego wydania jQuery 1.4.]]></description>
			<content:encoded><![CDATA[<p><a href="http://adamczuk.net.pl/wp-content/uploads/2010/02/jquery-light.jpg"><img src="http://adamczuk.net.pl/wp-content/uploads/2010/02/jquery-light.jpg" alt="" title="jquery-light" width="200" height="75" class="left" /></a>Na początku roku wydano jQuery 1.4, które wprowadza nowe funkcjonalności i poprawia znane błędy. Wydanie nowej wersji trwało stało się dla twórców powodem do wielkiego świętowania, czemu poświęcili osobną <a href="http://jquery14.com/">stronę</a>.</p>
<p>W ciągu 14 dni twórcy biblioteki opowiadali o zmianach jakie wprowadzili do nowej wersji. Szczególnie interesujący był <a href="http://jquery14.com/day-03/internal-changes-in-jquery-14-2">podcast</a>, w którym John Resig przedstawił zmiany w rdzeniu biblioteki. Zmniejszenie rozmiaru, wzrost wydajności i większa zgodność z przeglądarkami.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2010/02/05/nowe-jquery-nowe-rozwiazania/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Drawter</title>
		<link>http://adamczuk.net.pl/2009/11/20/drawter/</link>
		<comments>http://adamczuk.net.pl/2009/11/20/drawter/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 20:01:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Serwisy]]></category>
		<category><![CDATA[drawter]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=225</guid>
		<description><![CDATA[Dawno temu znalazłem w sieci ciekawe narzędzie &#8211; mianowicie Drawter.com. Pamiętam, że jego możliwości były spore, chociaż nigdy nie próbowałem tworzyć przy jego pomocy prawdziwego układu strony. Możliwości aplikacji pokazuje screencast ze strony projektu. Program pozwala na tworzenie stron internetowych poprzez rysowanie warstw. Jednak nie jest to internetowy edytor WYSIWYG. Drawter w elegancki sposób generuje [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://adamczuk.net.pl/wp-content/uploads/2009/11/drawter.jpg" alt="drawter" title="drawter" width="100" height="100" class="left size-full wp-image-226" />Dawno temu znalazłem w sieci ciekawe narzędzie &#8211; mianowicie <a href="http://drawter.com/">Drawter.com</a>. Pamiętam, że jego możliwości były spore, chociaż nigdy nie próbowałem tworzyć przy jego pomocy prawdziwego układu strony. Możliwości aplikacji pokazuje <a href="http://drawter.com/screencast/">screencast</a> ze strony projektu. Program pozwala na tworzenie stron internetowych poprzez rysowanie warstw. Jednak nie jest to internetowy edytor WYSIWYG.<br />
<span id="more-225"></span><br />
<strong>Drawter</strong> w elegancki sposób generuje kod XHTML oraz CSS na podstawie narysowanych myszką warstw. Rysowane warstwy symbolizują znaczniki kodu, a nie narysowany obraz. Draw Mode pozwala na rysowanie kolejnych tagów naszego layoutu, a Edit Mode pozwala dodać lub zmienić właściwości stylów. Oprócz tego możemy  w dowolnej chwili wygenerować kod naszej strony.</p>
<p>Narzędzie to wymaga od użytkownika wiedzy na temat XHTML i CSS, a zatem nie jest przeznaczone dla początkujących koderów. Jednak programiści Drawtera zapowiadają stworzenie wersji Amateur dla laików standardów sieciowych.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2009/11/20/drawter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax loading gif generator</title>
		<link>http://adamczuk.net.pl/2009/11/10/ajax-loading-gif-generator/</link>
		<comments>http://adamczuk.net.pl/2009/11/10/ajax-loading-gif-generator/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:47:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Serwisy]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[loading]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=222</guid>
		<description><![CDATA[W jednym z projektów wykorzystałem skrypt GreyBox w celu otwierania obrazków. Jednak standardowy obrazek ładowania były beznadziejny. Skorzystałem ze znanej wszystkim użytkownikom wyszukiwarki i po kilku sekundach trafiłem na stronę, którą generowała obrazek ładowania strony. W panelu wybieramy typ naszego obrazka, kolory jego tło i pierwszego planu. Możemy jeszcze włączyć lub nie przezroczystość obrazka. Generowanie [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://adamczuk.net.pl/wp-content/uploads/2009/11/ajax-loading-generator.jpg" alt="ajax-loading-generator" title="ajax-loading-generator" width="300" height="100" class="left size-full wp-image-223" />W jednym z projektów wykorzystałem skrypt <a href="http://www.orangoo.com/labs/GreyBox/" title="GreyBox">GreyBox</a> w celu otwierania obrazków. Jednak standardowy obrazek ładowania były beznadziejny. Skorzystałem ze znanej wszystkim użytkownikom wyszukiwarki i po kilku sekundach trafiłem na <a href="http://www.ajaxload.info/">stronę</a>, którą generowała obrazek ładowania strony.<br />
<span id="more-222"></span><br />
W panelu wybieramy typ naszego obrazka, kolory jego tło i pierwszego planu. Możemy jeszcze włączyć lub nie przezroczystość obrazka. Generowanie obrazka trwa kilka sekund, a wszystko to za darmo.</p>
<p>Wśród typów obrazka rozpoznamy ten, który ma YouTube, nowy LightBox albo chociaż Lightwindow. Ten wpis jest prawdziwym dopełnieniem artykułu na temat stylowania lightboxa. Po zmianie kolorystki skryptu, możemy spokojnie dostosować do własnych potrzeb również obrazek ładowania.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2009/11/10/ajax-loading-gif-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stylowanie Lightboxa</title>
		<link>http://adamczuk.net.pl/2009/10/11/stylowanie-lightboxa/</link>
		<comments>http://adamczuk.net.pl/2009/10/11/stylowanie-lightboxa/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 12:48:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=214</guid>
		<description><![CDATA[Przykładowe zmiany domyślnego wyświetlania obrazów przez skrypt Lightbox.]]></description>
			<content:encoded><![CDATA[<p><img src="http://adamczuk.net.pl/wp-content/uploads/2009/10/lightbox.jpg" alt="lightbox" title="lightbox" width="300" height="100" class="left size-full wp-image-217" />Programiści JS znają na pewno framework <a href="http://www.prototypejs.org/">prototype.js</a> oraz bibliotekę <a href="http://script.aculo.us/">scriptaculous.js</a>, która udostępnia wiele efektów graficznych. Popularne w ostatnich miesiącach otwieranie wszystkiego w <em>overlay&#8217;owych</em> okienkach prowadzi jednak wielokrotnie do przerostu formy nad treścią. Nie wystarczy tylko ściągnąć skrypt z sieci. Prezentowane elementy często wyświetlają się w sposób standardowy, który nie jest dla nich odpowiedni. Możemy to zmienić przy niewielkim wysiłku, a uzyskany efekt na pewno zadowoli naszych klientów i użytkowników. Jednym z pierwszych skryptów działających w ten sposób był lightbox napisany przez <a href="http://www.huddletogether.com/">Lokesha Dhakara</a>.<span id="more-214"></span></p>
<h3>Lightbox 2.02</h3>
<p>Do uruchomienia lightboxa potrzebujemy wspomnianych już plików <em>prototype.js</em> oraz <em>scriptaculous.js</em> oraz dwóch innych. Plik <em>lightbox.js</em> jest właściwym kodem naszego skryptu, a <em>effects.js</em> częścią biblioteki scriptaculous, odpowiedzialną za efekty graficzne. Na stronie autora znajdziemy wszystkie potrzebny pliki, łącznie ze standardowymi stylami <acronym title="Cascading Style Sheet">CSS</acronym> i obrazkami nawigacyjnymi. Należy zwrócić uwagę jaką wersję skryptu ściągamy ze strony.</p>
<p>Lightbox może wyświetlać pojedyncze obrazki lub pewien zbiór obrazków znajdujących się na stronie. Sposób jego uruchomienia jest bardzo prosty i szczegółowo wyjaśniony na stronie projektu, dlatego skupimy się tylko na zmianie sposobu prezentacji oraz ważnych szczegółach technicznych. Poniżej przedstawiony jest przykładowy obrazek z białą ramką szerokości 10 pikseli wyświetlony na czarnym tle z 40% przezroczystością.</p>
<p><img src="/img/art/lightbox-01.jpg" class="art-photo" alt="Standardowy sposób prezentacji" /></p>
<p>Aby to zmienić musimy dokonać edycji pliku <em>lightbox.css</em>. Znajdujemy deklaracje dla naszego tła i zmieniamy co trzeba. W moim pliku definicja dla warstwy <code>#overlay</code> była następująca.</p>
<pre><code>#overlay {

	...

	background-color: #000;

	filter:alpha(opacity=60);

	-moz-opacity: .6;

	opacity: .6;

}</code></pre>
<p>Linijka <code>background-color: #000;</code> odpowiada za kolor tła w czasie prezentacji obrazów. W naszym przypadku jest to kolor czarny. Kolejne 3 linijki definiują nieprzeźroczystość dla Internet Explorera, starszych wersji przeglądarek rodziny Mozilla oraz wszystkich przeglądarek obsługujących poprawnie nieprzeźroczystość rekomendowana przez W3C. Różnica pomiędzy nieprzezroczystością a przezroczystością jest prosta. Jeżeli mamy 20% nieprzezroczystości (opacity) to jej odpowiednikiem jest dokładnie 80% przezroczystości (transparency). Dla niewtajemniczonych, trochę prościej. Jeśli ustawimy dla naszego obrazka <code>opacity: .1;</code> to będzie on praktycznie niewidoczny. W odwrotnej sytuacji, czyli dla wysokiej wartości <code>opacity: .9;</code> nasz obrazek jedynie lekko rozjaśniony. Wartość opacity może być podana bez zera przed przecinkiem, bo jest to skrótowy zapis zgodny z CSS.</p>
<p class="warning">Ostrzegam, że zmiana tych parametrów może nie przynieść oczekiwanego skutku z powodu ustawień przezroczystości w innym miejscu. Mianowicie w pliku <em>lightbox.js</em> może, ale nie musi występować poniższa linijka.</p>
<pre><code>var overlayOpacity = 0.9;	// controls transparency of shadow overlay</code></pre>
<p>Osobiście kiedy używałem lightboxa 2.0 to wykasowałem definicje nieprzezroczystości z warstwy <code>#overlay</code>, ustawiając w stylach jedynie tło. Przezroczystość zmieniałem w pliku <em>lightbox.js</em>.</p>
<p>Bardzo ważnym elementem w lightboxie jest ramka wokół obrazka, której szerokość możemy bardzo szybko zmienić. Wystarczy tylko znaleźć odpowiedni fragment w pliku <em>lightbox.js</em>.</p>
<pre><code>var borderSize = 2;</code></pre>
<p>Rozmiar oczywiście jest w pikselach. Jeżeli zmieniamy szerokość ramki to w stylach musimy również dokonać jednej zmiany, tym razem jednak dopełnienia obrazka.</p>
<pre><code>#imageContainer {

	padding: 2px;

}</code></pre>
<p>Chcemy mieć węższą ramkę to zmieniamy obydwie wartości. W naszym przypadku będzie to <code>2px</code>. Jeżeli chcemy zmienić kolor ramki, która wcale nie jest ramką, a całą warstwą, na której wyświetlamy nasz obrazek musimy znaleźć następujący kod:</p>
<pre><code>#outerImageContainer {

	position: relative;

	<strong>background-color: #AAA;</strong>

	width: 250px;

	height: 250px;

	margin: 0 auto;

}</code></pre>
<p>Jego zmiana spowoduje zmianę koloru warstwy, na której wyświetlany jest obrazek. Nasza warstwa będzie miała kolor <code>#AAA</code>. Teoretycznie możemy dopisać <code>  border: 2px solid #FFF;</code>, ale nie wiem czy jest komukolwiek potrzebne.</p>
<p>Dalszym etapem naszej stylizacji lightboxa będzie pasek rozwijany poniżej samego obrazka. Znajdują się na nim informacje zawarte w atrybucie <em>title</em> naszego linka oraz przycisk Close.</p>
<pre><code>#imageDataContainer {

	font: 10px Verdana, Helvetica, sans-serif;

	<strong>background-color: transparent;</strong>

	margin: 0 auto;

	line-height: 1.4em;

}</code></pre>
<p>Kolor tego paska możemy ustawić dowolnie, w zależności od potrzeby. Jednak w naszym przypadku potrzebujemy, aby pasek był przezroczysty. Przezroczysty pasek może uniemożliwiać odczytanie tekstu. Również obrazek <em>closelabel.gif</em>, który standardowo nie posiada przezroczystości może zaburzać oczekiwany efekt.</p>
<p>Najlepszym rozwiązaniem tej sytuacji jest przygotowanie obrazków z przezroczystym tłem oraz w polskiej wersji językowej, jeśli tylko potrzebujemy. Obrazki <em>loading.gif</em> oraz <em>closelabel.gif</em> znajdują się w katalogu <code>images/</code>, a ścieżki do plików w <em>lightbox.js</em>.</p>
<pre><code>var fileLoadingImage = "images/loading.gif";

var fileBottomNavCloseImage = "images/closelabel.gif";</code></pre>
<p>Mamy do wyboru albo nadpisać te pliki albo zmienić ścieżki w kodzie skryptu. Wygodniejsze jest zmienienie ścieżek, bo zawsze zostaną nam standardowe pliki, na wszelki wypadek.</p>
<p>Ostatnim elementem jest opis zdjęcia wyświetlany na pasku. Musimy zmienić jego kolor na jaśniejszy, aby możliwe było jego odczytanie na ciemnym tle.</p>
<pre><code>#imageData #caption {

	font-weight: bold;

	color: #FFF;

}</code></pre>
<p>Jeżeli dokonaliśmy wszystkich zmian poprawnie to powinniśmy otrzymać efekt podobny do widocznego na zdjęciu poniżej.</p>
<p><img src="/img/art/lightbox-02.jpg" class="art-photo" alt="Zmodyfikowany sposób prezentacji" /></p>
<p>Do pełni szczęścia brakuje nam jeszcze obrazków prevlabel.gif i nextlabel.gif, które potrzebne są do nawigacji w momencie oglądania kilku obrazków. Ich wykonanie nie powinno być trudne, a  ścieżki do tych plików zapisane są w stylach <em>lightbox.css</em>. Powinniśmy jeszcze odsunąć nasze obrazki od brzegu o tyle pikseli, ile ma nasza ramka.</p>
<pre><code>#prevLink {

	left: 2px;

	float: left;

}

#nextLink {

	right: 2px;

	float: right;

}</code></pre>
<p>W przypadku oglądania kilku zdjęć poniżej opisu pojawia się, także tekst mówiący nam o numerze zdjęcia. Zmiany tego tekstu możemy dokonać w pliku <em>lightbox.js</em>.</p>
<pre><code>// if image is part of set display 'Image x of x'

if(imageArray.length &gt; 1){

	Element.show('numberDisplay');

	Element.setInnerHTML( 'numberDisplay', "Zdjęcie " + eval(activeImage + 1) + " z " + imageArray.length);

}</code></pre>
<p>Kolor tekstu siedzi w stylach <em>lightbox.js</em>.</p>
<pre><code>#imageData #numberDisplay {

	display: block;

	clear: left;

	<strong>color: #FFF;</strong>

	padding-bottom: 1.0em;

}</code></pre>
<h3>Podsumowanie</h3>
<p>Jak widać na załączonych obrazkach zmiany w wyglądzie lightboxa mogą być spore, a ich wykonanie wcale nie musi być trudne. Wszystko zależy od naszych potrzeb i chęci. Zmiany przedstawione w artykule dotykają tylko czubka góry lodowej, bo taka stylizacja jest praktycznie nieograniczona. Ważne jest, aby dokładnie zaplanować, co chcemy zmienić i do tego dążyć.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2009/10/11/stylowanie-lightboxa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ferrante.pl</title>
		<link>http://adamczuk.net.pl/2009/06/05/ferrante-pl/</link>
		<comments>http://adamczuk.net.pl/2009/06/05/ferrante-pl/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 21:48:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blogi]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[ferrante]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=198</guid>
		<description><![CDATA[JavaScript i jQuery podane w łatwy i przejrzysty sposób.]]></description>
			<content:encoded><![CDATA[<p><img src="http://adamczuk.net.pl/wp-content/uploads/2009/07/ferrante.jpg" alt="ferrante" title="ferrante" width="400" height="200" class="left" />W sieci istnieje wiele blogów na temat technologii internetowych. Jednak nie wszystkie z nich, właściwie i rzeczowo opisują dane technologie, do tego w języku polskim. Jeśli chodzi o Java Script to moim podstawowym źródłem informacji była strona Damiana Wielgosika, czyli <a href="http://ferrante.pl/o-mnie/">ferrante.pl</a>.<br />
<span id="more-198"></span><br />
Autor przedstawił na blogu kilkanaście przydanych i obszernych artykułów na temat Java Script. To dzięki tej stronie nabrałem przekonania do stosowania JS. W dalszej kolejności ucząc się <a href="http://jquery.com/">jQuery</a>, które rozszerza możliwości JS, a zostało równie profesjonalnie opisane przez autora. Tego typu strony pozwalają początkującym użytkownikom łatwo zapoznać się ze specyficznym tematem.</p>
<p>Szkoda tylko, że intensywny cykl artykułów na temat JS, a także jQuery przystopował trochę częstość aktualnizacji bloga. Trudno się przyznać, ale brak czasu jest poważnym wrogiem podczas aktywnej działalności w sieci. Na swoim przykładzie mogę przyznać, jak trudne jest regulane pisanie na specjalistyczne tematy. Tym bardziej cieszę się, że ferrante.pl działa znowu, a autor częściej aktualizuje bloga.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2009/06/05/ferrante-pl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript dla webmasterów. Zaawansowane programowanie</title>
		<link>http://adamczuk.net.pl/2009/05/25/javascript-dla-webmasterow-zaawansowane-programowanie/</link>
		<comments>http://adamczuk.net.pl/2009/05/25/javascript-dla-webmasterow-zaawansowane-programowanie/#comments</comments>
		<pubDate>Mon, 25 May 2009 20:29:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Książki]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[helion]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://adamczuk.net.pl/?p=193</guid>
		<description><![CDATA[Krótka recenzja dobrej książki na temat JS, autorstawa Nicolasa Zakasa.]]></description>
			<content:encoded><![CDATA[<p><img src="http://adamczuk.net.pl/wp-content/uploads/2009/07/js_zp.jpg" alt="js_zp" width="140" height="200" title="JavaScript dla webmasterów. Zaawansowane programowanie" class="left" />JavaScript jest technologią działającą po stronie klienta. W latach 90-tych ubiegłego wieku był wykorzystywany w aplikacjach internetowych do różnych celów. Jednak większość użytkowników ma złe doświadczenia związane z JS. Wyciąganie informacji o przeglądarce, rozwidlanie kodu oraz irytujące okienka pop-up to standardowe zadania jakie spełniał kiedyś JavaScript. A przecież możliwości JS są dużo większe. Możemy się, o tym przekonać czytając książkę Nicolasa Zakasa.<br />
<span id="more-193"></span><br />
<em>&#8220;JavaScript dla webmasterów. Zaawansowane programowanie&#8221;</em> to książka, w której znajdziemy wiele informacji na temat struktury języka oraz sposobu programowania w nim. Możliwości JS rozszerzają się w połączeniu z <abbr title="Document Object Model">DOM</abbr> i <abbr title="Browser Object Model">BOM</abbr>. Nowoczesna aplikacja webowa musi pozwalać na swobodną interakcje użytkownika z oprogramowaniem. Możemy zwiększyć użyteczność naszych stron internetowych poprzez programowanie obiektowe oraz rozdzielenie warstw prezentacji i logiki. Dzięki tej książce nauczymy się jak tworzyć mechanizmy komunikacji klient-server, a także projektować intuicyjne i dynamiczne interfejsy użytkownika.</p>
<p>Książka &#8220;JavaScript dla webmasterów. Zaawansowane programowanie&#8221; zawiera przykładowe rozwiązania najczęściej spotykanych problemów. Podczas tworzenia aplikacji internetowych projektanci często muszą rezygnować ze swoich pomysłów, bo nie mają możliwości ich realizacji. W książce znajdziemy informacje o wyrażeniach regularnych, obsłudze zdarzeń oraz rozszerzeniach JavaScriptu. Nauczymy się także podstaw ECMAScript, struktury obiektowego modelu dokumentu oraz właściwego osadzania JavaScript w kodzie strony WWW. Autor przedstawia również alternatywne sposoby sprawdzania poprawności formularzy oraz wykorzystania elementów <abbr title="eXtensible Markup Language">XML</abbr>. Wreszcie poznamy zasady działania komunikacji między przeglądarką i serwerem. Jeśli interesjuą nas usługi sieciowe i bezpieczeństwo naszych aplikacji JavaScript to niezbędne informacje również znajdziemy w tej książce.</p>
<p>Książka jest bardzo dobrym podręcznikiem dla osób znających podstawy JS. Znajomość materiału powinna pozwolić nam na właściwą rozbudowę naszych aplikacji. Przedstawione przykłady znajdują bardzo duże zastosowanie w nowoczesnych, intuicyjnych interfejsach użytkownika.</p>
<p class="info">OSTATECZNA OCENA: 4/5</p>
<ul>
<li><strong>Autor: Nicholas C. Zakas</strong></li>
<li>Tytuł oryginału: Professional JavaScript for Web Developers</li>
<li>Tłumaczenie: Jarosław Dobrzański, Krzysztof Czupryński, Daniel Kaczmarek</li>
<li>ISBN: 83-246-0280-1</li>
<li>Format: B5, stron: 696</li>
<li>Data wydania: 04/2006 (<a href="http://helion.pl">Helion</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://adamczuk.net.pl/2009/05/25/javascript-dla-webmasterow-zaawansowane-programowanie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

