<?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>bulyonov.ru</title>
	<atom:link href="http://bulyonov.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://bulyonov.ru</link>
	<description>Правильная верстка, web-программирование и все остальное</description>
	<lastBuildDate>Tue, 06 Sep 2011 08:11:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Выставка «Усталость металла»</title>
		<link>http://bulyonov.ru/2011/09/06/%d1%83%d1%81%d1%82%d0%b0%d0%bb%d0%be%d1%81%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%b0%d0%bb%d0%bb%d0%b0/</link>
		<comments>http://bulyonov.ru/2011/09/06/%d1%83%d1%81%d1%82%d0%b0%d0%bb%d0%be%d1%81%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%b0%d0%bb%d0%bb%d0%b0/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 20:00:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[выставки]]></category>
		<category><![CDATA[фотография]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=374</guid>
		<description><![CDATA[Усталость металла — понижение предела выносливости металла или сплава при одновременном воздействии циклических напряжений и коррозионной среды. Большая Советская Энциклопедия Зеленый двор, покосившиеся скамейки, ключи в руке, дверь подъезда с проплешинами краски, тёмные перила неопределенного цвета, соседская копейка на газоне, заводские трубы на горизонте. Хочешь того или нет, а проведя все детство в городе металлургов, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right"><i>Усталость металла — понижение предела<br />
выносливости металла или сплава при<br />
одновременном воздействии циклических<br />
напряжений и коррозионной среды.</i><br />
Большая Советская Энциклопедия</p>
<p>Зеленый двор, покосившиеся скамейки, ключи в руке, дверь подъезда с проплешинами краски, тёмные перила неопределенного цвета, соседская копейка на газоне, заводские трубы на горизонте. Хочешь того или нет, а проведя все детство в городе металлургов, ты обращаешь внимание на мелкие, никому не заметные детали.</p>
<p>Потёк ржавчины под карнизом, трещины на ввалившихся в асфальт трамвайных рельсах, старый ЗИЛ, забытый нерадивым хозяином в кустах — чуждая, неестественная эстетика, притягивающая к себе взгляд. Вещи манят, назойливо лезут в глаза, просят внимания. На мгновение замерев ты слышишь их треск и скрип, видишь как они неумолимо стареют, покрываются ржавчиной и рассыпаются грязно-серой пылью.</p>
<p>Не зря человек называл периоды своей истории именами металлов. Металл — враг, друг и помощник на протяжении последних нескольких веков — уже давно получил если не право иметь душу, то хотя бы право уставать: слишком много людей, назначений и форм. В отличие от человеческой, его усталость фатальна: рельсы заменят на новые, а грузовик останется гнить в кустах. Однако в этом медленном и тягучем старении есть какая-то красота и романтика: трещины складываются в причудливые узоры, ржавчина больше походит на мазки краской. Кажется, вещи оживают. Увы, этого так и никто и не заметит.</p>
<p><a href="http://bulyonov.ru/wp-content/uploads/2011/09/11.jpg" target="_blank"><img style="margin-left:-27px; border: 2px solid #333;" src="http://bulyonov.ru/wp-content/uploads/2011/09/11-Copy.jpg" alt="" title="Усталость металла. Купаться запрещено" width="600" height="398" class="aligncenter size-full wp-image-376" /></a></p>
<p>Послезавтра, 8 сентября состоится открытие моей первой (хочется верить, и не последней) персональной выставки. Она продлится с 8 по 22 сентября. Выставка входит в блок «Перспектива», который проводится при партнерстве Яркого Мира и Петербургских Фотомастерских. Ее (а также и другие выставки) можно найти на Стачек 5. Полный список выставок блока (поверьте, там будет на что посмотреть) можно <a href="http://fotomasterskie.ru" target="_blank">на сайте Петербургских Фотомастерских</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2011/09/06/%d1%83%d1%81%d1%82%d0%b0%d0%bb%d0%be%d1%81%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%b0%d0%bb%d0%bb%d0%b0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Фотолюди</title>
		<link>http://bulyonov.ru/2010/09/01/%d1%84%d0%be%d1%82%d0%be%d0%bb%d1%8e%d0%b4%d0%b8/</link>
		<comments>http://bulyonov.ru/2010/09/01/%d1%84%d0%be%d1%82%d0%be%d0%bb%d1%8e%d0%b4%d0%b8/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:51:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О жизни]]></category>
		<category><![CDATA[люди]]></category>
		<category><![CDATA[мысли]]></category>
		<category><![CDATA[фотография]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=330</guid>
		<description><![CDATA[Если бы я знал, как сделать хорошую фотографию, я бы делал это все время. Робер Дуано, французский фотограф Я уже столько раз критиковал разные программы и подходы к разработке, что сбился со счета: ругать их легко, никто не обидится. В интернете и не к такому привыкли. Максимум, что может произойти &#8211; соберутся сторонники какой-нибудь CMS, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Если бы я знал, как сделать хорошую фотографию,<br />
я бы делал это все время.</em><br />
Робер Дуано, французский фотограф</p>
<p>Я уже столько раз критиковал разные программы и подходы к разработке, что сбился со счета: ругать их легко, никто не обидится. В интернете и не к такому привыкли. Максимум, что может произойти &#8211; соберутся сторонники какой-нибудь CMS, поскрипят зубами, напишут десяток злобных комментариев и забудут о своей обиде.</p>
<p>С живыми людьми все иначе: высказался не подумав &#8211; лишился нескольких онлайн друзей. Вот и приходится быть политкорректным, молчать о том, что просто бросается в глаза. Например, про современный тренд &#8211; про уличных &#8220;фотографов&#8221;.</p>
<p><span id="more-330"></span></p>
<p>За последние полтора года я, кое-как занимаясь фотографией, накопил немало наблюдений о людях с камерами. Мысленно я поделил их на четыре группы: &#8220;туристы&#8221;, &#8220;аватарщики&#8221;, &#8220;пленочники&#8221; и &#8220;профи&#8221;.</p>
<p>&#8220;Туристов&#8221; в Петербурге немало. Носятся по городу с мыльницами наперевес и фотографируются на фоне всего, что им кажется красивым. А как иначе? Времени мало, а надо привезти на родину сотню-другую свежих фотографий. Ну и ничего, что горизонт не горизонтальный, вспышка &#8220;в лоб&#8221; и человек всегда строго по центру. Важна не фотография, а прецедент. &#8220;Вот я у Исакиевского, а вот на стрелке Васильевского&#8221; &#8211; будут рассказывать они охающей родне. Что, думаете, вы не такие? Посмотрю на вас, когда окажетесь проездом в каком-нибудь Париже или Барселоне. Фотографии будут не лучше :).</p>
<p>&#8220;Аватарщиков&#8221; легко узнать на улице по неестественным позам, скопированных из глянцевых журналов или новых клипов любимых поп-групп. Город они знают, а потому места выбирают потише да посимпатичнее. Девушки пытаются показать максимум своих прелестей, молодые люди демонстрируют свою мускулатуру или делают сурово-серьезные лица, если этой мускулатуры нет. Они делают все, чтобы удивить своих онлайн друзей новой аватаркой или фотографиями в альбоме &#8220;Я&#8221;, &#8220;Любимая я&#8221;, &#8220;Я и вы&#8221; или &#8220;Просто так )))))&#8221; (название альбома зависит от интеллекта и от самолюбия модели).</p>
<p>Уверен, если какой-нибудь Canon, Nikon или Sony начнут делать ультрадешевые камеры с возможностью тут же загружать фотографию в качестве аватара, они озолотятся. Стоить будет дешево, продаваться будет в больших количествах и не придется тратиться на хорошие комплектующие: в Контакте и Фейсбуке ширина аватары не больше 200 пикселей, подойдет и устаревшая матрица.</p>
<p>Если же фирмы-производители не последуют моему совету и будут продолжать выпускать любительские зеркалки, то вырастет &#8220;поголовье&#8221; других фотографов &#8211;  &#8221;профи&#8221;. Выделить &#8220;профи&#8221; из толпы очень просто: Canon 450D под мышкой или на шее (<em>я клевый, у меня зеркалка!</em>), стандартный &#8220;китовый&#8221; объектив (<em>смотрите, у меня вооот такой объектив!</em>) и линза не прикрыта крышкой (<em>меня видно издалека!</em>). &#8220;Профи&#8221; не берегут свою технику и редко обрабатывают фотографии. То, что они фотографируют, никак не сгодится для фотовыставки, но вполне сойдет для наполнения очередного альбома в социальной сети.</p>
<p>Советские Зениты, которые долго пылились на антресолях, сейчас переживают второе рождение благодаря &#8220;пленочникам&#8221;. Сначала эти люди выстраиваются в очереди за пленкой, потом стоят в тех же очередях, чтобы сдать снимки в проявку и печать, и, несмотря на то, что что добрая половина их снимков оказывается испорчена, они все равно радуются полученным кадрам. Романтика? Пожалуй. Мода? Да, и она тоже.</p>
<p>Так, хорошо, а в какую категорию попали настоящие фотографы?</p>
<p>Правильно, ни в какую: они сами по себе. Настоящие фотографы сдувают пылинки со своих, пусть даже и очень дешевых, камер, проводят ночи за обработкой фотографий и экономят на еде, чтобы купить новый Карл Цейс. То ли из врожденной скрытности, то ли из скромности они редко показывают кому-то свои снимки. В отличие от всех остальных, для них важен не только результат, но и процесс, сколько бы времени он не занял. Таких фотографов всегда было меньшинство и, я надеюсь, так будет и дальше. В противном случае фотография окончательно перейдет из разряда искусства в разряд ширпотреба.</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/09/01/%d1%84%d0%be%d1%82%d0%be%d0%bb%d1%8e%d0%b4%d0%b8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Внимание: розыск бетатестеров</title>
		<link>http://bulyonov.ru/2010/08/02/%d0%b2%d0%bd%d0%b8%d0%bc%d0%b0%d0%bd%d0%b8%d0%b5-%d1%80%d0%be%d0%b7%d1%8b%d1%81%d0%ba-%d0%b1%d0%b5%d1%82%d0%b0%d1%82%d0%b5%d1%81%d1%82%d0%b5%d1%80%d0%be%d0%b2/</link>
		<comments>http://bulyonov.ru/2010/08/02/%d0%b2%d0%bd%d0%b8%d0%bc%d0%b0%d0%bd%d0%b8%d0%b5-%d1%80%d0%be%d0%b7%d1%8b%d1%81%d0%ba-%d0%b1%d0%b5%d1%82%d0%b0%d1%82%d0%b5%d1%81%d1%82%d0%b5%d1%80%d0%be%d0%b2/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 20:00:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=269</guid>
		<description><![CDATA[Секрет — это то, что всем рассказывают поодиночке. Ванда Блоньская В течение последних нескольких месяцев мы занимались разработкой проекта EazyDays &#8211; удобной системы управления проектами, ориентированной на небольшие и средние организации. Свет в конце туннеля наконец-то забрезжил: мы разыскиваем компании, которые поучаствуют в бетатестировании нашего детища. Что такое EazyDays? EazyDays &#8211; система управления проектами. Мы [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Секрет — это то, что всем рассказывают поодиночке.</em><br />
Ванда Блоньская</p>
<p>В течение последних нескольких месяцев <a title="Разработка сайтов в Петербурге" href="http://www.1adw.ru" target="_blank">мы</a> занимались разработкой проекта EazyDays &#8211; удобной системы управления проектами, ориентированной на небольшие и средние организации. Свет в конце туннеля наконец-то забрезжил: мы разыскиваем компании, которые поучаствуют в бетатестировании нашего детища.</p>
<h3>Что такое EazyDays?</h3>
<p>EazyDays &#8211; система управления проектами. Мы перепробовали немало подобных сервисов и убедились в том, что сможем сделать лучше и удобнее.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-273" style="margin-left: -25px;" title="main" src="http://bulyonov.ru/wp-content/uploads/2010/07/main1.jpg" alt="" width="600" height="438" /></p>
<p>Монструозная JIRA оказалась слишком сложной и запутанной,  Teamer &#8211; слишком простым и малофункциональным, а Мегаплан показался дороговат. Мы решили избавить свою систему от этих недостатков.</p>
<p><span id="more-269"></span></p>
<h3>Что внутри?</h3>
<p>Основная структурная единица EazyDays &#8211; проект. В проекте находятся задачи или заметки, которые могут быть организованы иерархически. Каждой задаче может быть присвоен приоритет (неважная, обычная, срочная), даты начала и окончания и набор файлов, относящийся к конкретной задаче.</p>
<p style="text-align: center;"><a href="http://bulyonov.ru/wp-content/uploads/2010/07/project2.jpg"><img class="aligncenter size-full wp-image-279" style="margin-left: -25px;" title="project" src="http://bulyonov.ru/wp-content/uploads/2010/07/project2.jpg" alt="" width="600" height="308" /></a></p>
<p>К проекту можно прикрепить пользователей-участников. Они будут получать уведомления о ходе работы над проектом. Из числа участников проекта можно выбрать отвественных за выполнение конкретной задачи. Сроки выполнения отображаются как на удобном календарике справа, так и рядом с конкретной задачей.</p>
<p style="text-align: center;"><a href="http://bulyonov.ru/wp-content/uploads/2010/07/calendar.jpg"><img class="aligncenter size-full wp-image-281" style="text-align: center;" title="calendar" src="http://bulyonov.ru/wp-content/uploads/2010/07/calendar.jpg" alt="" width="210" height="216" /></a></p>
<p>К каждой задаче могут быть написаны свои комментарии с приклепленными файлами. Комментарии тоже могут быть древовидными.</p>
<p><a href="http://bulyonov.ru/wp-content/uploads/2010/07/task.jpg"><img class="aligncenter size-full wp-image-284" style="margin-left: -25px;" title="task" src="http://bulyonov.ru/wp-content/uploads/2010/07/task.jpg" alt="" width="600" height="567" /></a></p>
<p>Мы постарались сделать интерфейс максимально дружественным. Так, например, вы никогда не прозеваете, если кто-то изменил / добавил вам задачу или написал  к ней свежий комментарий.</p>
<p>А вот так, например, выглядит редактирование задачи:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-295" style="margin-left: -25px;" title="task-ed" src="http://bulyonov.ru/wp-content/uploads/2010/07/task-ed.jpg" alt="" width="600" height="409" /></p>
<p>Всех пользователей мы поделили на три группы: администраторы (могут делать все, в том числе добавлять новых пользователей), простые пользователи (участвуют в разных проектах и задачах, пишут комментарии и видят все проекты) и клиенты (видят только свои проекты и не могут попасть туда, где они не являются участниками).</p>
<p>EazyDays удовлетворит любого, даже самого требовательного пользователя. Для самых общительных мы добавили поля для указания ICQ, Jabber, Twitter-аккаунтов, телефона и почты, а для самых привередливых &#8211; разнообразные режимы сортировки задач.</p>
<p style="text-align: center;"><a href="http://bulyonov.ru/wp-content/uploads/2010/07/settings.jpg"><img class="aligncenter size-full wp-image-303" style="margin-left: -25px;" title="settings" src="http://bulyonov.ru/wp-content/uploads/2010/07/settings.jpg" alt="" width="600" height="478" /></a></p>
<p>Ну и поиск, конечно же, предусмотрели, куда без него?</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-311" style="margin-left: -25px;" title="search" src="http://bulyonov.ru/wp-content/uploads/2010/07/search.jpg" alt="" width="600" height="313" /></p>
<h3>Что еще не реализовано?</h3>
<p>Мы не успели реализовать механизмы отчетов и встреч. В системе есть ряд недочетов, с которым пока следует мириться: в конце концов это всего лишь бета-версия. Мы исправим все ошибки  и расширим функционал в ближайшее время.</p>
<h3>Окей, а как мне это попробовать?</h3>
<p>Попробовать EazyDays просто: напишите письмо на <a href="mailto:eazydays@1adw.com" target="_blank">eazydays@1adw.com</a> или мне <a href="http://twitter.com/true_bool" target="_blank">в твиттер</a>. Если EazyDays вам понравится, мы сделаем вам отдельный поддомен для вашей компании. Например, vasya-pupkin.eazydays.ru.</p>
<p>А еще у вас будут бонусы как только будет готова полная версия :).</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/08/02/%d0%b2%d0%bd%d0%b8%d0%bc%d0%b0%d0%bd%d0%b8%d0%b5-%d1%80%d0%be%d0%b7%d1%8b%d1%81%d0%ba-%d0%b1%d0%b5%d1%82%d0%b0%d1%82%d0%b5%d1%81%d1%82%d0%b5%d1%80%d0%be%d0%b2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>iPhone и CSS-фреймворки</title>
		<link>http://bulyonov.ru/2010/06/16/iphone-css-%d1%84%d1%80%d0%b5%d0%b9%d0%bc%d0%b2%d0%be%d1%80%d0%ba%d0%b8-%d0%b8-myshows/</link>
		<comments>http://bulyonov.ru/2010/06/16/iphone-css-%d1%84%d1%80%d0%b5%d0%b9%d0%bc%d0%b2%d0%be%d1%80%d0%ba%d0%b8-%d0%b8-myshows/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 21:51:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[фреймворки]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=241</guid>
		<description><![CDATA[Как и многие жизненные проблемы, эту можно решить сгибанием Бендер, Футурама Сначала о том, что накипело: я нашел в себе силы, справился с ленью и переверстал-таки свой блог. Верстать под WordPress оказалось весьма сомнительным удовольствием. Ни тебе XSLT, ни вообще какого-то языка шаблонов: голый PHP с весьма странными функциями вроде the_tags() и the_content() (Капитан Очевидность [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Как и многие жизненные проблемы,<br />
эту можно решить сгибанием</em><br />
Бендер, Футурама</p>
<p>Сначала о том, что накипело: я нашел в себе силы, справился с ленью и переверстал-таки свой блог. Верстать под WordPress оказалось весьма сомнительным удовольствием. Ни тебе XSLT, ни вообще какого-то языка шаблонов: голый PHP с весьма странными функциями вроде the_tags() и the_content() (Капитан Очевидность легко подскажет их назначение). Стандартные темы, которые я взял для примера, оказались перегружены лишними кусками html-кода и их пришлось серьезно перерабатывать (проще говоря, делать с нуля). В общем, одни огорчения.</p>
<p>Я бы еще поворчал на тему верстки под WordPress, но в заголовке статьи нет про него ни слова :). Что ж&#8230;<span id="more-241"></span></p>
<h2>Верстать под iPhone? Проще некуда</h2>
<p>Все более-менее активные интернет-пользователи давно обзавелись или собираются купить в ближайшее время айфоны или Android-телефоны. Увы, обычные сайты совершенно не предназначены для мобильных устройств: и на экран они не умещаются, и кнопки слишком мелкие, и картинок для дорогого EDGE/3G многовато. Приходится делать более компактные и менее функциональные версии сайтов. Естественно, верстка под умные мобильники чуть-чуть отличается.</p>
<p>Есть два пути сделать айфон версию сайта (господа фанаты Android, я вас тоже имею в виду :) ):</p>
<p>1. написать все с нуля;<br />
2. воспользоваться готовым фреймворком и сымитировать интерфейс нативного приложения.</p>
<p>Написать с нуля будет несложно. Вам понадобятся специальные мета теги (например, чтобы избавиться от дурацкого масштабирования) и капелька представлений об удобстве и юзабилити. Для погружения в верстку вполне сойдет вот <a href="http://cssing.org.ua/iphone.pdf" target="_blank">эта презентация</a> (осторожно, PDF!).</p>
<p>Дальше поможет только опыт (и, надеюсь, мои <a href="http://bulyonov.ru/tag/%D0%BE-%D0%B2%D0%B5%D1%80%D1%81%D1%82%D0%BA%D0%B5/">статьи о html-верстке</a>). Спустя короткое время вы выясните, что onclick и onmouseover, onmousemove и onmouseout работают несколько не так, как вы ожидаете (по сути в айфоне нет клика, есть только наведение мышью). Eще через короткое время вы узнаете, что, чтобы сделать полноэкранный сайт, вам понадобится не только специальный метатег, но и AJAX (иначе новая страница будет открываться в браузере с элементами управления, а не на весь экран). Вас определенно порадуют фишки современного браузера и отсуствие Internet Explorer как такового :).</p>
<p><em>К фишкам современных браузеров, конечно, стоит отнести и HTML5 и CSS3 (правда, зачастую с префиксами -webkit ) и довольно быстрый JS. Стоит, правда, оговориться, что так было не всегда и первые версии прошивок для iPhone не имели многих возможностей, хотя&#8230; кого это сейчас волнует?</em></p>
<p>Однако иногда нужно сделать сайт, который будет в точности повторять нативное приложение (например, чтобы не писать приложение на Objective C для iTunes Store). Конечно, такое решение будет не совсем верным: правильно сымитировать интерфейс вам не удастся. Почему? Сейчас расскажу.</p>
<h2>&#8220;Лучшие&#8221; фреймворки для верстки</h2>
<p>О библиотеках для верстки под айфон не написал только ленивый. Говорят, основная цель этих фреймворков &#8211; минимизировать вашу возню с дизайном и созданием контролов и эффектов, похожих на настоящие &#8220;айфоновские&#8221;: они сами принесут с собой CSS и JavaScript, которые будут эмулировать поведение элементов интерфейса на веб-странице. Они также избавят вас от возни с AJAX и прочей вебдванольностью. Поиск в Google даст целую кучу фреймворков и каждый из них будет, по мнению разработчиков, самым удобным, самым быстрым и самым гибким.</p>
<p>Когда я начинал работать над  <a href="http://i.myshows.ru" target="_blank">iPhone-версией</a> <a href="http://myshows.ru" target="_blank">нашего сериального стартапа</a>, я прошелся по всему списку фреймворков и попробовал каждый из них. Ровно неделю я потратил на то, чтобы поковыряться в начинках этих фреймворков, отправить один багрепорт и сверстать таки сайт без их использования. О причинах такого странного решения чуть позже. Сейчас давайте поговорим о каждом в отдельности.</p>
<h3>1. <a href="http://jqtouch.com/" target="_blank">jQtouch</a></h3>
<p>По первым двум буквам несложно догадаться, что он имеет какое-то отношение к jQuery. Так и есть. Это плагин для знаменитого jQuery. Как и почти все плагины для jQuery он удобен, красив и монструозен: его интерфейс заслуживает высших оценок, но&#8230; обманывать пользователя и вынуждать загрузить 60 килобайт ради пары чекбоксов, мне кажется, будет подло. Подождать 20-30 секунд тоже захочет не каждый.</p>
<p>Несмотря на всю красоту и кажущееся удобство, я отказался от него: нам не нужен был сайт, сжирающий весь трафик разом.</p>
<h3>2. <a href="http://code.google.com/p/iui/" target="_blank">IUI</a></h3>
<p>Это минималистичная библиотека, которая состоит из пары JS и CSS файлов и набора картинок. Она приносит с собой стандартные поля ввода, чекбоксы и кнопочки в стиле iPhone. Создатели не напирали на кроссбраузерную совместимость (напомню, в iPhone и в Android используется один и тот же Webkit) и поступили правильно: код достаточно хорош, компактен, им приятно пользоваться. На этой библиотеке я, наверное, и остановился, если бы не баги в работе с AJAX. Одну ошибку удалось-таки исправить (не отправлявшаяся форма), с остальными я мириться не смог и, плюнув на почти готовый сайт, взялся переделывать все с нуля.</p>
<h3>3. <a href="http://code.google.com/p/iphone-universal/" target="_blank">UiUIKit</a></h3>
<p>Справедливости ради, стоило начинать именно с этого фреймворка, однако именно этим фреймворком я и заканчивал свои &#8220;исследования&#8221;. Это набор CSS и HTML, который несет в себе вполне неплохие примеры пользовательского интерфейса в iPhone. Пожалуй, это все, что можно про него сказать: нет смысла использовать чужой CSS и HTML, добавлять ему типично айфоновское поведение и укрощать те баги, которые будут периодически лезть из всех щелей (верстка чужая, и баги будут точно).</p>
<p>Конечно же, были и другие фреймворки, эмулирующие поведение айфона. Увы, они все равно <em>эмулировали</em> его: подтормаживали, загружали непонятно что из интернета и не всегда были настолько <em>smooth and sexy</em>, насколько бывают iPhone-приложения.</p>
<p>Попробовав немало сайтов (в частности, <a href="http://iphone.facebook.com" target="_blank">айфон вариант Facebook</a>), я окончательно убедился, что двигаюсь в неверном направлении и за вечер смастерил вполне неплохой сайт для iPhone, написав весь код с нуля.</p>
<h2>И?</h2>
<p>И я твердо уяснил для себя, что пока нет ни одного нормального CSS-фреймворка под iPhone, который сгодится для эмуляции интерфейса. Следовательно, не нужно подражать нативным приложениям. Надо всего лишь делать свои iPhone-сайты удобными и понятными.</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/06/16/iphone-css-%d1%84%d1%80%d0%b5%d0%b9%d0%bc%d0%b2%d0%be%d1%80%d0%ba%d0%b8-%d0%b8-myshows/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>IE9, я тебя боюсь</title>
		<link>http://bulyonov.ru/2010/03/17/ie9-%d1%8f-%d1%82%d0%b5%d0%b1%d1%8f-%d0%b1%d0%be%d1%8e%d1%81%d1%8c/</link>
		<comments>http://bulyonov.ru/2010/03/17/ie9-%d1%8f-%d1%82%d0%b5%d0%b1%d1%8f-%d0%b1%d0%be%d1%8e%d1%81%d1%8c/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 09:46:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=231</guid>
		<description><![CDATA[Мы надеемся приблизительно, зато боимся точно Поль Валери Вот и появилась первая девелоперская версия Internet Explorer 9. Новинки вроде CSS3, HTML5, SVG  давайте оставим в стороне: мы и так все знаем, что это круто, а потому обсуждать не будем. Браузер явно быстрее, красивее, да и вообще лучше предыдущих версий и спорить на этот счет я [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">Мы надеемся приблизительно, зато боимся точно<br />
<em>Поль Валери</em></p>
<p>Вот и появилась первая девелоперская версия Internet Explorer 9. Новинки вроде CSS3, HTML5, SVG  давайте оставим в стороне: мы и так все знаем, что это круто, а потому обсуждать не будем. Браузер явно быстрее, красивее, да и вообще лучше предыдущих версий и спорить на этот счет я не собираюсь. Скажу даже так: девятую версию IE (даже несмотря свою нелюбовь к &#8220;ослику&#8221;) я ждал давно. Ждал, правда, со страхом.</p>
<p><span id="more-231"></span></p>
<p>Думаю, любой человек, который имеет отношение к верстке меня поймет: выход нового IE не означает, что интернет станет лучше. Конечно же, это достижение, гигантский скачок вперед (выберите любую хвалебную фразу из статей об IE9 и вставьте сюда). Давайте однако прикинем как изменится рынок браузеров. Сейчас Internet Explorer по разным данным занимает 35-45% рынка (15-20% &#8211; IE8, 15-20% &#8211; IE7, 10% &#8211; IE6). Существует три версии одного и того же браузера!</p>
<p>Firefox, Opera, Chrome и Safari живут в разных версиях и, в отличие от Internet Explorer, количество старых версий пренебрежимо мало. Система обновления делает свое черное дело: рано или поздно вы согласитесь с предложенным обновлением и перейдете на более новую версию (или вообще не заметите, как это обновление произошло).</p>
<p>C Internet Explorer все сложнее: пользователи часто отключают обновления, пользуются пиратскими версиями ОС или сами по какой-то причине &#8220;сидят&#8221; на старых браузерах. Из-за этого свежие версии IE появляются не у всех (по этой причине их сейчас три). Конечно, было бы лучше обновлять IE с помощью встроенной в него (а не в ОС) системы обновления, однако что-то подсказывает, что этого не произойдет.</p>
<p>Что будет дальше? Мне кажется, что через год расклад не изменится. В лучшем случае будет три версии IE: 7, 8 и 9. В худшем &#8211; шестая не умрет и продолжит жить.</p>
<p>Чем же это грозит? Мы, господа разработчики, все равно не сможем игнорировать старые Internet Explorer-ы и будем вынуждены писать разный код для разных браузеров. Мы будем продолжать ругать IE и плеваться в сторону если не шестой, то седьмой версии&#8230;</p>
<p>Черт побери! IE9, я тебя боюсь!</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/03/17/ie9-%d1%8f-%d1%82%d0%b5%d0%b1%d1%8f-%d0%b1%d0%be%d1%8e%d1%81%d1%8c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>UMI.CMS vs SVN. Приручаем монстра</title>
		<link>http://bulyonov.ru/2010/03/17/umi-cms-vs-svn-%d0%bf%d1%80%d0%b8%d1%80%d1%83%d1%87%d0%b0%d0%b5%d0%bc-%d0%bc%d0%be%d0%bd%d1%81%d1%82%d1%80%d0%b0/</link>
		<comments>http://bulyonov.ru/2010/03/17/umi-cms-vs-svn-%d0%bf%d1%80%d0%b8%d1%80%d1%83%d1%87%d0%b0%d0%b5%d0%bc-%d0%bc%d0%be%d0%bd%d1%81%d1%82%d1%80%d0%b0/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 21:56:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[UMI.CMS]]></category>
		<category><![CDATA[сайтостроительство]]></category>
		<category><![CDATA[эксперименты]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=219</guid>
		<description><![CDATA[Для любого специалиста в сфере веб-разработок CMS &#8211; внужденное зло. Хотите вы этого или нет, рано или поздно вы с столкнетесь системами управления сайтом, и не факт, что вам понравится эта встреча. UMI.CMS &#8211; возможно, меньшее из зол, с которым мне доводилось встречаться. Сомневаюсь, что стоит обсуждать ее достоинства и недостатки (о ее достоинствах немало [...]]]></description>
			<content:encoded><![CDATA[<p>Для любого специалиста в сфере веб-разработок CMS &#8211; внужденное зло. Хотите вы этого или нет, рано или поздно вы с столкнетесь системами управления сайтом, и не факт, что вам понравится эта встреча.</p>
<p>UMI.CMS &#8211; возможно, меньшее из зол, с которым мне доводилось встречаться. Сомневаюсь, что стоит обсуждать ее достоинства и недостатки (о ее достоинствах немало написано на официальном сайте, а недостатки при желании можно найти самому). Стоит, правда, отметить сложность ее переноса и хранения: базу практически не перенести вручную, а копирование файлов или поштучный коммит (не будем же мы коммитить все!) вызывает у многих нервный тик. Если с базой дело обстоит сложнее, то правильный коммит и перенос сайта можно обеспечить. С помощью shell-скрипта, например.<span id="more-219"></span></p>
<p>Правильный shell-скрипт должен выполнять две вещи</p>
<ul>
<li>добавлять в svn ignore те файлы, которые относятся к системным и коммитить которые нет смысла (могут &#8220;затереться&#8221; при обновлении);</li>
<li>выполнять svn add для тех файлов, которые будут полезны.</li>
</ul>
<p>Пошевелив мозгами, я составил список ненужных файлов (системные файлы, неизменяемые шаблоны, некоторые конфигурационные файлы, скрипты, стили и картинки) и написал вот этот скрипт :</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-collapsed"><table class="wp-synhighlighter-controls"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">add-ignores.sh</a></td><td class="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)">В новом окне</a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: none;"><pre class="bash" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'cache</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">dev</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">docs</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">dtd</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">errors</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">install</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">images_install</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">man</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">manifest</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">packages</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">pwindows</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">scriptaculous</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">smu</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">static</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">tinymce</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">updates</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">xmldb</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">autothumbs.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cacheControl.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">captcha.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">clusterCacheSync.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">compile.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">config.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cron.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">def_macroses.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">edit_old_addresses.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">errors.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">index.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">gw.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">index.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">install.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">instcli.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">instunpack.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">lib.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">mysql.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">releaseStreams.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">sbots.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">security.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">standalone.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">static_banner.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">streams.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">system.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">readme.txt</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">whatsnew.txt</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">*.ucp</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">*.log</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">debug'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>css<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'cms'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>css<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>js<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'client</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cms</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">smc</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">script.js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">multiupload.js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">lLib.js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">guest.js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">eazy.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cross-domain.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cssread.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cifi.js'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>js<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'icons</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cms'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'common'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'_picasa'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>full<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">css</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">calendar</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">images</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">main.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">empty.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common.xsl'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>full<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>mac<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">css</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">calendar</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">images</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">main.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">empty.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common.xsl'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>mac<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>simple<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'js</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">css</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">calendar</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">images</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">main.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">empty.xsl</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">common.xsl'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>styles<span style="color: #000000; font-weight: bold;">/</span>skins<span style="color: #000000; font-weight: bold;">/</span>simple<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>classes<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'RSS</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">backupModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">baseXmlConfig</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cacheEngines</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cifi</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">componentInstaller</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">cron</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">csv</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">dataModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">drivers</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">eventsModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">exceptions</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">garbageCollector</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">hierarchyModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">languageMorph</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">logger</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">manifest</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">matches</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">moduleInstaller</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">patterns</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">permissionsModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">ranges</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">searchModel</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">streams</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">systemCore</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">translit</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiBasket</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiCaptcha</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiConversion</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiDate</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiDirectory</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiDistr</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiFile</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiFilter</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiImportRelations</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiMail</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiMessages</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiModuleDataExporter</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiModuleDataImporter</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiOpenSSL</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiPagenum</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiSubscriber</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiXmlExporter</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">umiXmlImporter</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">xmlTranslator</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">xslTemplater'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>classes<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> add <span style="color: #660033;">-N</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>classes<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #c20cb9; font-weight: bold;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;">svn</span>:ignore <span style="color: #ff0000;">'autoupdate</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">backup</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">config</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">data</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">seo</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">stat</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">webo</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">system.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">iDef_module.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">iBaseModuleAdmin.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">forms.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">def_module.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">core.php</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff0000;">baseModuleAdmin.php'</span> ..<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;">/</span>classes<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span></div></li></ol></pre></div></div>
<p>Алгоритм работы с этим скриптом следующий:</p>
<p>1. Создать проект в SVN<br />
2. Счекаутить пустой проект в папку<br />
3. Положить скрипт в папку (пока не трогать, пригодится позже).<br />
4. Создать папку web в корне проекта (это будет наш DOCUMENT_ROOT) и установить туда UMI.CMS.<br />
5. Выполнить скрипт<br />
6. Закоммитить проект</p>
<p>Для выполнения shell-скриптов под Windows сгодится стандартная поставка cygwin с пакетом svn правильной версии.</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/03/17/umi-cms-vs-svn-%d0%bf%d1%80%d0%b8%d1%80%d1%83%d1%87%d0%b0%d0%b5%d0%bc-%d0%bc%d0%be%d0%bd%d1%81%d1%82%d1%80%d0%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Полезные ссылки. Сайты о верстке</title>
		<link>http://bulyonov.ru/2010/03/12/%d1%81%d0%b0%d0%b9%d1%82%d1%8b-%d0%be-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b5/</link>
		<comments>http://bulyonov.ru/2010/03/12/%d1%81%d0%b0%d0%b9%d1%82%d1%8b-%d0%be-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b5/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 21:34:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[О верстке]]></category>
		<category><![CDATA[ссылки]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=220</guid>
		<description><![CDATA[Задумал я было сделать свой топ сайтов о верстке и веб-программировании. Задумал, да остановился: сайтов слишком много, как сортировать их &#8211; непонятно (всегда найдется один-два человека, которым мой подход &#8220;ранжирования&#8221; сайтов покажется необъективным). Делать большой топ неправильно, так как он будет набит &#8220;левыми&#8221; ссылками, маленький рейтинг тоже не годится: обязательно пропущу что-то интересное. Так и [...]]]></description>
			<content:encoded><![CDATA[<p>Задумал я было сделать свой топ сайтов о верстке и веб-программировании. Задумал, да остановился: сайтов слишком много, как сортировать их &#8211; непонятно (всегда найдется один-два человека, которым мой подход &#8220;ранжирования&#8221; сайтов покажется необъективным). Делать большой топ неправильно, так как он будет набит &#8220;левыми&#8221; ссылками, маленький рейтинг тоже не годится: обязательно пропущу что-то интересное.</p>
<p><span id="more-220"></span></p>
<p>Так и не найдя золотую середину, я решил поступить проще: рассказать о паре-тройке интересных сайтов, пришедших на ум первыми, и предложить пользователям расширить мой список в комментариях. Интересные ссылки и пиар в разумных масштабах приветствуются.</p>
<p>Ах да! Вот и сам список:</p>
<p>1. <a href="http://pepelsbey.net/">http://pepelsbey.net/</a> &#8211; сайт Вадима Макеева, евангелиста компании Opera, <a href="http://twitter.com/pepelsbey" target="_blank">очень активного твиттерянина</a> да и вообще интересного человека. В твиттере и блоге он пишет, как правило, о верстке, новых стандартах, конференциях по веб-разработке. Не забывает он однако написать и про клубы, которые посещает с завидным постоянством.</p>
<p>2. <a href="http://kip.ru" target="_blank">http://kip.ru</a> &#8211; сайт Петра Диденко, бывшего евангелиста компании Microsoft (ныне безработный, я не думаю, что надолго), не менее активного твиттерянина. Тематика широка: раньше &#8211; браузерные войны, теперь &#8211; IT в общем и крупные корпорации в частности. В общем, мастхэв, мастрид и мастфоллоу.</p>
<p>3. <a href="http://chikuyonok.ru/">http://chikuyonok.ru/</a> . Верстаете и не знаете, кто такой Сергей Чикуенок? Не вините себя, просто бейте себя ржавыми цепями по лицу (с) Bender. Как показывает практика, все самые интересные методы в верстке придумывает почему-то именно этот человек. Прочитайте пару хотя бы пару сатей, например, <a href="http://chikuyonok.ru/2010/01/liquid-site-markup/" target="_blank">вот это</a>. А еще лучше &#8211; прочитайте всё разом.</p>
<p>4. <a href="http://html5doctor.com/">http://html5doctor.com/</a> . Название говорит само за себя, поэтому обойдемся без помощи К. О. ;)</p>
<p>5. <a href="http://clubs.ya.ru/yacf/" target="_blank">http://clubs.ya.ru/yacf/</a> . Клуб в Я.ру, в котором ведется активное обсуждение фреймворка от Яндекс.</p>
<p>На ум приходят еще как минимум полтора десятка разных ресурсов, однако я умолкаю: надо и читателям слово дать ;).</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/03/12/%d1%81%d0%b0%d0%b9%d1%82%d1%8b-%d0%be-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Микрообновление Thick As Brick</title>
		<link>http://bulyonov.ru/2010/01/16/%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-thick-as-brick/</link>
		<comments>http://bulyonov.ru/2010/01/16/%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-thick-as-brick/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 12:08:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[разработка]]></category>
		<category><![CDATA[семантическая верстка]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=211</guid>
		<description><![CDATA[Дней десять назад я опубликовал на Хабрахабре статью о том шаблоне, который я использую для небольших проектов. Статья вызвала живейший отклик и я просто не могу не исправить некоторые найденные в Thick As Brick недочеты. Вот короткий список, не заслуживающий даже того, чтобы убрать его под кат: 1. Исправлена явная ошибка в именах метатегов (раньше [...]]]></description>
			<content:encoded><![CDATA[<p>Дней десять назад я опубликовал на Хабрахабре <a href="http://bulyonov.ru/2010/01/06/thick-as-brick-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B5%D0%B9%D1%88%D0%B8%D0%B9-html-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD-%D0%B4%D0%BB%D1%8F-%D0%B2%D0%B5%D1%80%D1%81%D1%82%D0%BA%D0%B8/">статью о том шаблоне</a>, который я использую для небольших проектов. Статья <a href="http://habrahabr.ru/blogs/webdev/80102/" target="_blank">вызвала живейший отклик</a> и я просто не могу не исправить некоторые найденные в Thick As Brick недочеты.</p>
<p>Вот короткий список, не заслуживающий даже того, чтобы убрать его под кат:</p>
<p>1. Исправлена явная ошибка в именах метатегов (раньше вместо name было написано http-equiv, которую я исправлял при деплойменте проектов)<br />
2. Все 0px (под давлением хабраобщественности ;) ) заменены на обычный ноль.<br />
3. Число значений в margin сокращено (10px 20px 10px 20px -&gt; 10px 20px)<br />
4. Исправлен недочет в margin у заголовков и hr (пиксели преобразованы в em)</p>
<p>Проект по прежнему находится вот тут: <a href="http://code.google.com/p/thick-as-brick/" target="_blank">http://code.google.com/p/thick-as-brick/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/01/16/%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d0%be%d0%b1%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-thick-as-brick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thick As Brick &#8211; простейший html шаблон для верстки</title>
		<link>http://bulyonov.ru/2010/01/06/thick-as-brick-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%b5%d0%b9%d1%88%d0%b8%d0%b9-html-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd-%d0%b4%d0%bb%d1%8f-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b8/</link>
		<comments>http://bulyonov.ru/2010/01/06/thick-as-brick-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%b5%d0%b9%d1%88%d0%b8%d0%b9-html-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd-%d0%b4%d0%bb%d1%8f-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b8/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 10:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[семантическая верстка]]></category>
		<category><![CDATA[семантичная верстка]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=186</guid>
		<description><![CDATA[Я почему вредный был? Потому что у меня велосипеда не было! Мультфильм &#8220;Трое из Простоквашино&#8221; Когда десять раз делаешь одно и то же, на одиннадцатый раз ты волей-неволей начинаешь задумываться о том, как бы процесс оптимизировать. Так и с версткой: после десятка сверстанных страниц хочется слегка упростить свою задачу. Тут на помощь, конечно же, приходят [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Я почему вредный был?<br />
Потому что у меня велосипеда не было!</em><br />
Мультфильм &#8220;Трое из Простоквашино&#8221;</p>
<p>Когда десять раз делаешь одно и то же, на одиннадцатый раз ты волей-неволей начинаешь задумываться о том, как бы процесс оптимизировать. Так и с версткой: после десятка сверстанных страниц хочется слегка упростить свою задачу. Тут на помощь, конечно же, приходят разнообразные фреймворки (чего только стоит <a href="http://wiki.github.com/stubbornella/oocss" target="_blank">oocss</a> или наикрутейший CSS-фреймворк <a href="http://subbotnik.yandex.st/css-framework/theory.html" target="_blank">от Яндекса</a> или целая куча других не менее интересных фреймворков). Пригодятся и системы сборки (<a href="http://ant.apache.org/" target="_blank">Ant</a> стоит <a href="http://www.artlebedev.ru/tools/technogrette/soft/eclipse-ant/" target="_blank">на службе у студии Артемия Лебедева</a>, да и я потихоньку постигаю его Дао). Не стоит забывать и различные хаки и шаблоны лейаутов, коих в интернете бесчисленное множество.</p>
<p>Однако как быть с сайтом, для которого надо сверстать пару-тройку типичных страниц? Нет смысла тащить с собой кучу лишнего CSS-кода. Кроме того, многим верстальщикам гораздо проще написать качественный код с нуля, чем перегружать кучу заранее объявленных бесполезных классов. Что делать?</p>
<p>Чтобы решить эту <span style="text-decoration: line-through;">высосанную из пальца</span> нетривиальную задачу я написал простейший шаблон для верстки, который сильно облегчил мне работу над проектами. Шаблон примитивен и прост (потому так и зовется), на звание фреймворка ни в коем случае не претендует (минус в карму тому, кто обзовет его фреймворком! ;) ). Он несет в себе заранее объявленные CSS-классы для работы с меню, списками, формами, ресеты основных тегов (вроде сброса отступов у форм и правильных отступов у &lt;p&gt;) и еще кое-какие полезные для меня вкусности.</p>
<p><span id="more-186"></span>Для самых нетерпеливых я дам <a href="http://code.google.com/p/thick-as-brick/" target="_blank">ссылку на проект в Google Code</a>, а самым любопытным, я расскажу, что Thick As Brick состоит из:</p>
<ul>
<li>html-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/index.htm" target="_blank">index.htm</a><br />
Этот файл содержит в себе ссылки на стили и яваскрипты, пустые метатеги и проверку наличия/отстутствия яваскрипта (более подробно о последнем пункте можно почитать в блоге у Виталия Харисова);</li>
<li>css-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/css/common.css" target="_blank">css/common.css</a><br />
Файл содержит минимальный набор ресетов (для body,  a img, form, p и заголовков) и базовый набор классов (.no-margin, .no-float, .pseudo-link, ul.news, ul.menu, ul.tiles, table.reset, ul.reset и т. д.). Предполагается, что верстальщик не будет менять этот файл, а будет редактировать css/custom.css, речь о котором пойдет ниже</li>
<li>css-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/css/common-ie6.css" target="_blank">css/common-ie6.css</a><br />
Файл отвечает за совместимость самых общих классов с нашим любимым IE6</li>
<li>css-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/css/custom.css" target="_blank">css/custom.css</a><br />
Файл несет в себе те стили, что можно менять в процессе работы над конкретным проектом (исходный custom.css пуст и содержит только комментарии ;) ).</li>
<li>css-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/css/custom-ie6.css" target="_blank">css/custom-ie6.css</a><br />
Этот стилевой файл также обеспечивает совместимость css/custom.css с  IE6.</li>
<li>js-файла <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/js/script.js" target="_blank">js/script.js</a><br />
Пустой js-файл. Для дальнейшего &#8220;дописывания&#8221;</li>
<li>однопиксельного gif-а <a href="http://code.google.com/p/thick-as-brick/source/browse/trunk/html/images/common/x.gif" target="_blank">images/common/x.gif</a><br />
Файл пригождается в особо редких случаях</li>
</ul>
<p>Скачать шаблон можно <a href="http://code.google.com/p/thick-as-brick/downloads/list" target="_blank">отсюда</a> в архиве или <a href="http://code.google.com/p/thick-as-brick/source/checkout" target="_blank">заэсвэнить свежую версию</a> (архив и версия в SVN идентичны).</p>
<p>Я очень надеюсь, что эта статья сподвигнет других пользователей если и не воспользоваться своими наработками, то хотя бы заставит их написать что-то свое и рассказать об этом в комментариях ;).</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/01/06/thick-as-brick-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%b5%d0%b9%d1%88%d0%b8%d0%b9-html-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd-%d0%b4%d0%bb%d1%8f-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Подмена адресов в FancyBox</title>
		<link>http://bulyonov.ru/2010/01/03/%d0%bf%d0%be%d0%b4%d0%bc%d0%b5%d0%bd%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b2-fancybox/</link>
		<comments>http://bulyonov.ru/2010/01/03/%d0%bf%d0%be%d0%b4%d0%bc%d0%b5%d0%bd%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b2-fancybox/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 11:32:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О верстке]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://bulyonov.ru/?p=150</guid>
		<description><![CDATA[Исполняются самые смелые наши мечты. Теперь очередь за несмелыми. Станислав Ежи Лец В 2005-м году Тим О&#8217;Рейли сформулировал понятие Веб 2.0. Простые пользователи понимают &#8220;вебдванольность&#8221; скорее как наличие AJAX и всплывающих окошек а-ля Fancybox или Thickbox (хотя это только малая часть большого понятия). Что ж, не будем их разочаровывать. В этой статье речь пойдет о [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><em>Исполняются самые смелые наши мечты.<br />
Теперь очередь за несмелыми.</em><br />
Станислав Ежи Лец</p>
<p>В 2005-м году Тим О&#8217;Рейли <a href="http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1_2.0" target="_blank">сформулировал понятие Веб 2.0</a>. Простые пользователи понимают &#8220;вебдванольность&#8221; скорее как наличие AJAX и всплывающих окошек а-ля Fancybox или Thickbox (хотя это только малая часть большого понятия). Что ж, не будем их разочаровывать.</p>
<p>В этой статье речь пойдет о том, как правильно:<br />
1.<strong> подменять адреса ссылок</strong>, чтобы одновременно работали и javascript-обработчики и ссылки открывались в новом окне;<br />
2. как выполнять правильную <strong>подмену ссылок для Fancybox</strong>.<br />
А еще мы посмотрим живой пример, который вполне успешно работает на нашем <a href="http://myshows.ru" target="_blank">сайте с сериалами</a><span id="more-150"></span></p>
<h3>Ссылки, onclick и href</h3>
<p>Кажется, в <a href="/2009/06/20/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D0%B2%D0%B5%D1%80%D1%81%D1%82%D0%BA%D0%B8/">статье о стандартах в верстке</a> я уже рассказывал о том, как правильно должны открываться ссылки, однако я повторюсь. Предположим, что вы делаете полностью ajax-овый сайт, где фрагменты страниц подгружаются по клику на ссылку. На ссылку навешен обработчик onclick, который отвечает за ajax-овый обмен с сервером. Если у пользователя отключен JavaScript или он попытался открыть ссылку в новом окне, то откроется тот адрес, что находится в параметре href, если все работает корректно, выполнится onclick. Таким образом, чтобы обеспечить правильную работу ссылки надо указывать и href, и onclick.</p>
<p>Я не думаю, что эта техника заслуживает дальнейшего описания (его несложно найти в интернете), а потому предлагаю сразу же перейти к Fancybox.</p>
<h3>Fancybox и вебдванольность</h3>
<p><a href="http://fancybox.net/" target="_blank">Fancybox</a> — замечательное средство для просмотра изображений и документов в псевдоокнах на сайте. Fancybox представляет собой плагин для jQuery со своими стилями и изображениями (<a href="http://fancybox.net/js/fancybox/jquery.fancybox-1.2.6.css" target="_blank">его CSS</a> однако не выдерживает никакой критики ;) ). Fancybox берет на себя создание iframe для документов, AJAX-обработку для обмена с сервером и создает теги img в слое, отображающемся поверх всего контента. Аналогов Fancybox-у очень много (чего только стоят Thickbox, Lightbox, Darkbox и проч.), однако этот плагин мне нравится больше всего (а потому говорить мы будем только о нем ;) ).</p>
<p>Fancybox избавлен от багов в IE, работает стабильнее многих аналогов, хотя и несколько ограничен по своему функционалу. Достоинства перевесили недостатки и Fancybox стал нашим &#8220;корпоративным стандартом&#8221;. В недавнем проекте (<a href="http://myshows.ru" target="_blank">myshows.ru</a>) мы решили использовать именно его.</p>
<p>Итак, передо мной была поставлена цель — сделать так, чтобы ссылка открывалась как в Fancybox (подгружалась ajax-ом), так и в новом окне (правда, уже в другом дизайне). Проблема состояла в том, что Fancybox &#8220;умеет&#8221; открывать только те адреса, которые указаны в href ссылки и не может быть вызван в onclick для конкретного адреса. Таким образом, мы не можем обеспечить работу нескольких адресов</p>
<p><em>Здесь, конечно, стоит сделать паузу. В этой статье мы не собираемся &#8220;допилить&#8221; существующий jQuery-плагин, мы заставляем работать его правильно не меняя его исходный код</em></p>
<p>Решений проблемы я видел несколько:<br />
1. Использовать onclick и href (недостаки этого метода описаны выше)<br />
2. Заменить все href ссылок, которые есть на странице на ajax-овые адреса. В этом случае ссылка будет открываться в неправильном дизайне.<br />
3. При событии onclick вызывать fancybox, а после вызова удалять его. Недостаток тут только один: fancybox не предусматривает вызов его не по событию.<br />
4. Использовать события callbackOnStart и callbackOnClose, подменяя href ссылки только при открытии fancybox, а при закрытии возвращая его на место.</p>
<p>На последнем варианте я и остановился. Код, выполняющий подмену ссылок выглядит следующим образом:</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-collapsed"><table class="wp-synhighlighter-controls"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Подмена ссылок</a></td><td class="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)">В новом окне</a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: none;"><pre class="javascript" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">function</span> setFancyLinks <span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	$<span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #003366; font-weight: bold;">var</span> _this <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #003366; font-weight: bold;">var</span> oldUrl <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">href</span>.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #003366; font-weight: bold;">var</span> newUrl <span style="color: #339933;">=</span> oldUrl<span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #003366; font-weight: bold;">var</span> width <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #003366; font-weight: bold;">var</span> height <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span> fancyLinks.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>oldUrl.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">oldLink</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">!=-</span>1<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">useAfter</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">					newUrl <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">href</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">oldLink</span><span style="color: #339933;">,</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">newLink</span> <span style="color: #009900;">&#41;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">					newUrl <span style="color: #339933;">=</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">newLink</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				width <span style="color: #339933;">=</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">width</span><span style="color: #339933;">?</span>fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">width</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				height <span style="color: #339933;">=</span> fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">height</span><span style="color: #339933;">?</span>fancyLinks<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">height</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">				<span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">			<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fancybox</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>showCloseButton<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> hideOnContentClick<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> frameWidth<span style="color: #339933;">:</span> width<span style="color: #339933;">?</span>width<span style="color: #339933;">:</span><span style="color: #CC0000;">420</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> frameHeight<span style="color: #339933;">:</span> height<span style="color: #339933;">?</span>height<span style="color: #339933;">:</span><span style="color: #CC0000;">300</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> overlayColor<span style="color: #339933;">:</span> <span style="color: #3366CC;">'#000000'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> showCloseButton<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> callbackOnStart<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">			_this.<span style="color: #660066;">href</span> <span style="color: #339933;">=</span> newUrl<span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> callbackOnClose<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">			_this.<span style="color: #660066;">href</span> <span style="color: #339933;">=</span> oldUrl<span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #339933;">,</span> callbackOnShow<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">			setFancyLinks<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fancy_div a.fancylink'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #009900;">&#125;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div></li></ol></pre></div></div>
<p>Все подменяемые ссылки хранятся в массиве fancyLinks:</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-collapsed"><table class="wp-synhighlighter-controls"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Массив fancyLinks</a></td><td class="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)">В новом окне</a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: none;"><pre class="javascript" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">var</span> fancyLinks <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Array <span style="color: #009900;">&#40;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#123;</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	oldLink<span style="color: #339933;">:</span>   root <span style="color: #339933;">+</span> <span style="color: #3366CC;">'registration'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	<span style="color: #339933;">,</span> newLink<span style="color: #339933;">:</span>   root <span style="color: #339933;">+</span> <span style="color: #3366CC;">'int/controls/registration'</span></div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	<span style="color: #339933;">,</span> widht<span style="color: #339933;">:</span>  420</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">	<span style="color: #339933;">,</span> height<span style="color: #339933;">:</span>  300</div></li><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></li></ol></pre></div></div>
<p>Для большего удобства я добавил размеры в fancyLinks (разное количество контента =&gt; разные значения ширины и высоты).</p>
<p>Рабочий пример всего этого можно увидеть <a href="http://myshows.ru/" target="_blank">вот тут</a> (<a href="http://myshows.ru/registration" target="_blank">вот так</a> выглядит обычная страница регистрации, а <a href="http://myshows.ru/int/controls/registration" target="_blank">вот так</a> — фрагмент страницы, который отдается ajax-ом).</p>
<h3>Зачем?</h3>
<p>Зачем же написан этот большой пост? Ну, во-первых, для того, чтобы показать, насколько крут fancybox. Во-вторых, продемонстрировать наш замечательный сериальный сайт. И, наконец, в третьих,  чтобы показать, как эту проблему можно решить: авось кто столкнется с такой штукой ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://bulyonov.ru/2010/01/03/%d0%bf%d0%be%d0%b4%d0%bc%d0%b5%d0%bd%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b2-fancybox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

