<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
<channel>
<title>Seditio.by</title>
<link>http://www.seditio.by</link>
<description>Разработка сайтов Cotonti, разработка сайтов в Минске, продвижение сайтов</description>
<generator>Cotonti</generator>
<pubDate>Wed, 08 Sep 2010 17:00:23 +0300</pubDate>
<item>
<title>Бесплатный набор иконок Reflection Icons от WDD</title>
<description><![CDATA[<p>Очень неплохой набор Reflection Icons из двухсот бесплатных иконок от Webdesigner Depot. Эти монохромные иконки неплохо подойдут для использования в блоке навигации или в основном меню вебсайта. Кстати, в набор включены как растровые (PNG), так и векторные (AI) версии. Иконки распространяются под лицензией "linkware". Это означает что при их использовании необходимо разместить ссылку на сайт разработчиков... или заплатить 20$ за право использования этого замечательного набора иконок без атрибутов создателя.</p><!--more-->
<p><a href="http://www.webdesignerdepot.com/2010/07/200-exclusive-free-icons-reflection/">Скачать набор иконок Reflection Iconset</a></p>]]></description>
<pubDate>Wed, 04 Aug 2010 17:04:48 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=198]]></link>
</item>
<item>
<title>Пакет обновлений безопасности Cotonti 0.6.9</title>
<description><![CDATA[<p>Такое случается нечасто: в Cotonti была выявлена уязвимость, которая может затронуть некоторые сайты с magic_quotes_gpc=Off. Cotonti Genoa 0.6.9 исправляет эту ошибку, а также улучшает возможности авторизации пользователей. Если говорить конкретно, то улучшения произошли следующие:</p>
<ul class="bullets">
<li>исправлена уязвимость и улучшена работа компрессора статических ресурсов rc.php</li>
<li>улучшена безопасность при авторизации (бэкпорт из Сиены)</li>
<li>улучшена защита Anti-XSS (бэкпорт из Сиены)</li>
<li>добавлена поддержка авторизации на мультидоменных сайтах (с опцией "запомнить меня")</li>
</ul><!--more-->
<h3>Последовательность обновления Cotonti Genoa 0.6.9</h3>
<ol>
<li>Заменить файлы: <pre class="code">system/lang/en/admin.lang.php
system/lang/ru/admin.lang.php
system/functions.admin.php
system/core/users/users.auth.inc.php
system/core/users/users.logout.inc.php
system/core/users/users.profile.inc.php
system/common.php
system/functions.php
system/header.php
rc.php</pre></li>
<li>Выполнить sql-патч patch-0.6.3-0.6.9.sql</li>
</ol>]]></description>
<pubDate>Thu, 15 Jul 2010 18:46:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=193]]></link>
</item>
<item>
<title>Включаем комментарии и рейтинги для отдельных страниц в Cotonti</title>
<description><![CDATA[<p>Часто при <em>создании сайтов Cotonti</em> необходимо обеспечить включение комментариев для отдельных страниц "в стиле LDU". Вроде несложная операция, но сходу решить ее непросто: комментарии в Cotonti включаются и отключаются для всей категории страниц. Однако система экстраполей Cotonti обеспечивает изящное и удобное решение.</p><!--more-->
<h3>1. Создаем экстраполе для включения комментариев</h3>
<p>Делается это просто:</p>
<p><a href="http://www.seditio.by/./datas/users/enable-comments_1.png" title="Включаем комментарии для отдельных страниц в Cotonti"><img src="http://www.seditio.by/./datas/thumbs/enable-comments_1.png" alt="Включаем комментарии для страниц в Cotonti" class="folio" /></a></p>
<h3>2. Вставляем поля формы в шаблоны добавления и редактирования страниц</h3>
<p>Код для page.add.tpl выглядит так:</p>
<pre class="code">	&lt;tr>
		&lt;td>{PAGEADD_FORM_ENABLECOMMENTS_TITLE}&lt;/td>
		&lt;td>{PAGEADD_FORM_ENABLECOMMENTS}&lt;/td>
	&lt;/tr></pre>
<p>Для page.edit.tpl соответственно:</p>
<pre class="code">	&lt;tr>
		&lt;td>{PAGEEDIT_FORM_ENABLECOMMENTS_TITLE}&lt;/td>
		&lt;td>{PAGEEDIT_FORM_ENABLECOMMENTS}&lt;/td>
	&lt;/tr></pre>
<h3>3. Редактируем шаблон страницы</h3>
<p>Осталось добавить обработку условия в шаблон вывода страницы:</p>
<pre class="code">	&lt;!-- IF {PAGE_ENABLECOMMENTS} -->
		{PAGE_COMMENTS_DISPLAY}
	&lt;!-- ENDIF --></pre>
<p>Вывод блока комментариев теперь контролируется чекбоксом из форм добавления и редактирования страниц.</p>]]></description>
<pubDate>Tue, 29 Jun 2010 11:27:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=171]]></link>
</item>
<item>
<title>Серьезные изменения в механизме индексирования и поиска Google</title>
<description><![CDATA[<p>Инженер программных разработок Google Кэрри Граймс в официальном блоге Google заявил о внедрении новой системы индексирования, получившей кодовое название Caffeine. По сравнению с прежним алгоритмом поиска, Caffeine, по мнению его разработчиков, обеспечит увеличение эффективности поисковых запросов примерно на 50%.</p><!--more-->
<p>Такой результат стал возможным за счет усовершенствования алгоритма обновления релевантных ссылок. Благодаря ему Google теперь сможет в реальном времени анализировать и индексировать одновременно сотни тысяч веб-страниц. Все это будет происходить по мере добавления и публикации материалов, а не периодически, как это было ранее. Объем всей базы данных Caffeine будет равняться порядка ста миллионам гигабайт. При этом каждые сутки база будет пополняться на сотни тысяч гигабайт.
Обновление поискового движка Google определило динамичное развитие социальных сетей и доступность увеличивающегося объема онлайновой информации в Сети.</p>]]></description>
<pubDate>Wed, 23 Jun 2010 21:41:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=170]]></link>
</item>
<item>
<title>Украшаем Cotonti: Tooltips</title>
<description><![CDATA[<p>Сегодня мы начинаем серию статей "Украшаем Cotonti", посвященную вопросам установки jQuery-плагинов в шаблоны <em>CMF Cotonti</em>. Несмотря на то, что обычно авторы <em>плагинов jQuery</em> вкладывают в архивы рабочие образцы со стилями и изображениями, часто приходится проделать немалую работу для того, чтобы скрипт делал именно то, что от него требуется. В этой серии статей мы дадим вам стопроцентно рабочие фрагменты, которые просто и быстро могут быть интегрированы в сайт, <em>разработанный на Cotonti</em>.</p><!--more-->
<h3>Внедряем jQuery tinyTips Plugin в CMF Cotonti</h3>
<p>tinyTips &mdash; это компактный jQuery плагин, позволяющий создавать подсказки для ссылок, используемых в HTML-коде. Установка tinyTips предельна проста. Прежде всего нам необходимо <a href="http://www.mikemerritt.me/plugins/tinyTips/tiny.tips.1.0.min.zip" title="Стабильная версия tinyTips">скачать стабильную версию плагина tinyTips</a> с сайта разработчика. Распакуем архив и скопируем файл jquery.tinyTips.js в удобное для вас место, например в каталог js вашего <em>скина Cotonti</em>.</p>
<p>Подключение плагина &mdash; дело нескольких строк в header.tpl:</p>
<pre class="code">&lt;script type="text/javascript" src="http://www.seditio.by/skins/{PHP.skin}/js/jquery.tinyTips.js">&lt;/script> 
&lt;script type="text/javascript">
	$(document).ready(function() {
		$('a.tooltip').tinyTips('title');
	});
&lt;/script></pre>
<p>Все понятно: в качестве подсказок будут использоваться свойства title анкеров с классом tooltip.</p>
<h3>Оформляем jQuery в шаблонах Cotonti</h3>
<p>Для корректного отображения подсказок нам понадобится подключить стили и графику с фонами. Начнем с CSS-стилей. Включим их в общий CSS-файл директивой @import:</p>
<pre class="code">@import url("tinytips.css");</pre>
<p>В файле tinytips.css определим следующие стили:</p>
<pre class="code">.tinyTip		{ width:200px; padding:12px 0 0; display:block; background:url(img/tooltips/top.png) no-repeat 0 0; }
.tinyTip .content	{ padding:0 20px; color:#111; background:url(img/tooltips/content.png) repeat-y 0 0; word-wrap:wrap; }
.tinyTip .bottom	{ height:22px; background:url(img/tooltips/bottom.png) no-repeat 0 0; font:0/0 sans-serif; }</pre>
<p>Осталось только распаковать в каталог img/tooltips/ <a href="http://www.seditio.by/./datas/users/tooltips-images_0.zip" title="Архив с фонами для подсказок">архив с фонами для подсказок</a>.]]></description>
<pubDate>Tue, 01 Jun 2010 23:32:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=166]]></link>
</item>
<item>
<title>Добавляем тематические картинки в блог Cotonti</title>
<description><![CDATA[<p>Блоги под управлением Cotonti уже давно не редкость. Система постоянно развивается в этом направлении, и многие пользователи уже давно пересели с &laquo;тяжелых&raquo; <em>блоговых платформ</em> на быструю и безопасную Cotonti.</p>
<p>Ведение блога часто требует выполнения одинаковых и рутинных мероприятий, одним из которых является добавление тематической картинки к сообщению в блоге. Обычно такая картинка выводится в начале страницы и оформляется с учетом требований <em>поискового продвижения сайтов</em>.</p>
<p>Самый простой способ добавить картинку &mdash; это использование модуля &laquo;Мои файлы&raquo;. Однако он требует выполнения нескольких действий:</p>
<ol>
<li>Создания виртуального каталога</li>
<li>Загрузки файла в выбранный каталог</li>
<li>Выбора ссылки</li>
<li>Оформления тега</li>
</ol>
<p>Поскольку набор операции всегда одинаков, его можно автоматизировать.</p><!--more-->
<p>Поступим следующим способом:</p>
<ol>
<li>Создадим каталог для типовых изображений в любом удобном месте, например blog-images в каталоге скина</li>
<li>Загрузим в него заранее подготовленные картинки, названные в соответствии с тематикой, например cotonti.png, mysql.png и т. д.</li>
<li>В шаблон page.tpl перед тегом <pre class="code">{PAGE_TEXT}</pre> добавим следующий код:<pre class="code">&lt;!-- IF {PAGE_KEY} -->&lt;img src="http://www.seditio.by/skins/{PHP.skin}/blog-images/{PAGE_KEY}.png" alt="{PAGE_SHORTTITLE}" height="" width="" />&lt;!-- ENDIF --></pre>(естественно, разметку и размер файлов настроим самостоятельно)</li>
</ol>
<p>Теперь при создании или редактировании страницы необходимо просто указать имя файла в поле &laquo;Дополнительный ключ&raquo;. Если это поле уже используется, создайте экстраполе. При регулярном обновлении блога у вас очень скоро появится типовой набор тематических изображений и простой способ их добавления к страницам.</p>]]></description>
<pubDate>Fri, 28 May 2010 02:12:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=165]]></link>
</item>
<item>
<title>Добавляем ключевые слова для страниц в Cotonti</title>
<description><![CDATA[<p>Сегодня мы попробуем выполнить несложную задачу добавления ключевых слов для конкретных страниц веб сайта под управлением Cotonti. Эта несложная процедура, выполняемая разработчиками сайта, может стать весьма полезной при продвижении и <em>оптимизации сайта</em>.</p>
<p>Для выполнения задания нам потребуется поработать с экстраполями для страниц и с шаблонами header.tpl, page.add.tpl и page.edit.tpl</p><!--more-->
<h3>Добавляем экстраполе</h3>
<p>Для начала зайдем в <em>панель администрирования</em> и добавим экстраполе для страниц:</p>
<a href="http://www.seditio.by/./datas/users/163-extrakey_1.png"><img src="http://www.seditio.by/./datas/thumbs/163-extrakey_1.png" alt="Добавляем экстраполе для страниц" class="folio" /></a>
<p>Теперь в шаблонах page.add.tpl и page.edit.tpl пропишем следующие блоки для добавления и редактирования дополнительных ключевых слов:</p>
<h3>Правка page.add.tpl</h3>
<pre class="code">
&lt;tr>
	&lt;td>{PAGEADD_FORM_EXTRAKEYWORDS_TITLE}:&lt;/td>
	&lt;td>
		{PAGEADD_FORM_EXTRAKEYWORDS}
		&lt;p class="small">(Ввести через запятую)&lt;/p>
	&lt;/td>
&lt;/tr>
</pre>
<h3>Правка page.edit.tpl</h3>
<pre class="code">
&lt;tr>
	&lt;td>{PAGEEDIT_FORM_EXTRAKEYWORDS_TITLE}:&lt;/td>
	&lt;td>
		{PAGEEDIT_FORM_EXTRAKEYWORDS}
		&lt;p class="small">(Ввести через запятую)&lt;/p>
	&lt;/td>
&lt;/tr>
</pre>
<p>Осталось создать логический блок в header.tpl</p>
<h3>Правка header.tpl</h3>
<p>Заменим строку</p>
<pre class="code">
&lt;meta name="keywords" content="{HEADER_META_KEYWORDS}" />
</pre>
... на
<pre class="code">
&lt;meta name="keywords" content="{HEADER_META_KEYWORDS}&lt;!-- IF {PHP.pag.page_extrakeywords} -->, {PHP.pag.page_extrakeywords}&lt;!-- ENDIF -->" />
</pre>
<p>Теперь все: у нас есть средства добавления, редактирования и вывода дополнительных ключевых слов для страниц.</p>]]></description>
<pubDate>Wed, 26 May 2010 10:34:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=163]]></link>
</item>
<item>
<title>Уроки MySQL: получаем информацию о таблице</title>
<description><![CDATA[<p>Во время <strong>создания плагина</strong> перед нами встала задачи &mdash; нужно было получить список всех столбцов таблицы с описанием. На практике такое встречается довольно редко, но цель состояла в том, чтобы сделать универсальный инструмент, который бы не зависел от таблицы и ее полей. Довольно редко применяемая задача.</p> 
<p>Решение оказалось более чем простым. Встречаем: DESCRIBE.</p><!--more-->
<p>На самом деле аналогичных запросов существует три. Ниже приведены примеры их использования:</p>
<pre class="code">
DESCRIBE sed_pages;
EXPLAIN sed_pages;
SHOW FIELDS FROM sed_pages;
</pre>
<p>Данные операторы аналогичны в использовании оператору SELECT: они возвращают результирующий набор. Если необходимо получить об одном столбце то после указания таблицы следует указать имя столбца, например:</p>
<pre class="code">DESCRIBE sed_pages page_date;</pre>
<p>Теперь, зная структуру таблицы, мы можем спокойно экспериментировать при написании своих запросов-фильтров.</p>]]></description>
<pubDate>Tue, 25 May 2010 02:16:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=164]]></link>
</item>
<item>
<title>Повторная генерация миниатюр в Cotonti</title>
<description><![CDATA[<p>Ситуаций, при которых требуется перегенерировать миниатюры в Cotonti предостаточно: рестайлинг или разработка сайта, или просто технологические работы. Какова бы ни была причина, повторное создание миниатюр &mdash; процесс достаточно трудоемкий, особенно при достаточном количестве каталогов персонального файлового пространства. Но есть и простой, но недокументированный способ.</p><!--more-->
<p>Кстати, напомним, что Cotonti позволяет задавать для генерируемых миниатюр следующие параметры:</p>
<ul class="bullets">
<li>метод создания (GD1/GD2)</li>
<li>ширину рамки</li>
<li>цвет рамки</li>
<li>цвет шрифта текста миниатюры</li>
<li>размер шрифта текста миниатюры</li>
<li>приоритет ширины или высоты</li>
<li>коэффициент JPEG-сжатия</li>
<li>созранение пропорций</li>
<li>ширину и высоту миниатюры</li>
</ul>
<p>Итак для повторного создания миниатю необходимо:</p>
<ol>
<li>Используя FTP-клиент, очистить содержимое каталога /datas/thumbs/</li>
<li>Перейти по ссылке<pre class="code">http://ВАШ_URL/pfs.php?f=0&o=thumbs</pre></li>
</ol>]]></description>
<pubDate>Mon, 24 May 2010 03:45:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=162]]></link>
</item>
<item>
<title>Работаем с селекторами</title>
<description><![CDATA[<p>Библиотека jQuery стала неотъемлемым атрибутом создания сайтов. И, хотя количество документации растет, в большинстве своем постоянно актуальным остается вопрос селекторов, благодаря которым мы находим тот или иной элемент на странице. Рассмотрим некоторые из них.</p><!--more-->
<p>Для более простого понимания используем следующий HTML-код в качестве основы для примеров:</p>
<pre class="code">
&lt;div id='formelements'>

&lt;p>Имя:&lt;/p>
&lt;p>&lt;input type='text' name='name' id='name' value='Покажи меня'>&lt;/p>

&lt;p class='about graytext'>О себе:&lt;/p>
&lt;p>&lt;textarea name='n' class='textareaclass'>Покажи меня в тексте&lt;/textarea>&lt;/p>

&lt;p>Пол&lt;/p>
&lt;p>&lt;select id='select_id' id='select_id'>
&lt;option value='1'>Тут значение ОДИН&lt;/option>
&lt;option value='2'>Тут значение ДВА&lt;/option>
&lt;/select>
&lt;/p>

&lt;p>Имя:&lt;/p>
&lt;p>&lt;input type='text' name='phone' value='02'>&lt;/p>

&lt;p>&lt;/p>
&lt;p>&lt;/p>

&lt;/div>
</pre>
<h3>Поиск по HTML классу</h3>
<p>Пример:</p>
<pre class="code">alert($
("textarea").val());</pre>
<h3># - поиск по идентификатору (уникальное имя. id),</h3> <p>является аналогом document.getElementById</p>
<p>Пример:</p>
<pre class="code">alert($("#name").val());</pre>
<p>Это самый быстрый из всех доступных селекторов.</p>
<h3>. (точка) – поиск по CSS-классу</h3>
<p>Чтобы искать по классу достаточно к селектору класса дописать ".название_css_класса_без_пробела":</p>
<pre class="code">$(".about")</pre>
<p>Если у нужного объекта указано несколько классов то они все перечисляются через точку:</p>
<pre class="code">$("p.about.graytext");</pre>
<h3>Поиск вложенного (дочернего) элемента</h3>
<p>Чтобы совмещать селекторы класса элементов надо их просто написать через пробел в порядке увеличения глубины внутри страницы:</p>
<pre class="code">$("'#formelements p.about").html("НОВЫЙ ТЕКСТ");</pre>
<p>При таком поиске будут найдены все дочерние элементы, даже те которые находятся на более глубоком уровне вложенности.</p>
<h3>[attr=value] Поиск по атрибутам</h3>
<p>Еще фишка: селектор элемента, с фильтрации по аттрибуту. Методов фильтрации много:</p>
<ul>
<li>[attr] - поиск объекта, имеющего аттрибут attr</li>
<li>[attr='value'] - поиск объекта, attr которого равен value</li>
<li>[attr!='value'] - поиск объекта, attr которого не равен value</li>
<li>[attr^='value'] - поиск объекта, attr которого начинается с value</li>
<li>[attr$='value'] - поиск объекта, attr которого заканчивается на value</li>
<li>[attr*='value'] - поиск объекта, аттрибут attr которого содержит value в любом его месте</li>
<li>[attr='val'][attr2!='val2'] - поиск объекта где attr равен val а attr2 не равен val2</li>
</ul>
<h4>Примеры:</h4>
<p>Выборка всех input у которых type указан как text. Т.е. checkbox, submit, reset под это не попадут.</p>
<pre class="code">$("input[type='text']")</pre>
<p>Выборка всех input у которых type указан отличный от text. Т.е. checkbox, submit, reset попадает - очень аккуратно нужно использовать такой селектор:</p>
<pre class="code">$("input[type!='text']")</pre>
<p>Показывает все элементы у которых name начинается с 'phone':</p>
<pre class="code">$("input[name^='phone']")</pre>
<p>Полный аналог предыдущего. Разница лишь в том что искомая строка должна быть в конце аттрибута name:</p>
<pre class="code">$("input[name$='phone']")</pre>
<p>Тоже частый механизм поиска. Ищет все элементы где в value есть слово звезда:</p>
<pre class="code">$("input[value*='звезда']")</pre>
<p>Вывод элемента input ааттрибут name которого равен phone значение value любое кроме '02':</p>
<pre class="code">$("input[type=text][name='phone'][value!='02']")</pre>
<p>Обратите внимание при поиске по HTML-типу надо использовать нижний регистр, а при поиске по указываемым значениям - надо точно указывать регистр.</p>
<p>Т.е. эти структуры содержат ошибки:</p>
<pre class="code">
$("input[type='TEXT']") 
$("input[TYPE='TEXT']")
</pre>
<h3>Поиск по аттрибутам элементов формы. </h3><p>Работа с формами один из важных моментов работы сайта. Jquery позволяет нам облегчить эту работу
Работа с формами &mdash; это то, где чаще всего Вам нужен jQuery</p>
<pre class="code">
:disabled - поиск заблокированного видимого элемента формы input,textarea
:enabled - поиска доступного для редактирования
:checked - Поиск checkbox (radio) который отмечен (checked)
:selected - Поиск option которое выбрано (selected)
$("#select_id option:selected").text();
</pre>
<h3>first, last, qe, lt, gt &mdash; поиск по соседей</h3>
<p>Пример:</p>
<pre class="code">
:first - первый дочерний элемент
$("div:first");
:last - последний дочерний элемент
$("div:last");
:eq(номер) - поиск то точному номеру. Обратите внимание, нумерация начинается с нуля.
$("table td:eq(2)") - третий <td> начала таблицы
$("table tr:eq(3) td:eq(4)") - пятый <td> в четвертом ряду

:gt(номер) - поиск всех элементов чей номер не ниже указанного (gt - сокращение от greater than(больше чем))
$("table td:gt(5)") - все <td> от 6
:lt(номер) - аналогично предыдущему, только не больше указанного (less than - менее чем)
$("table td:lt(3)");
</pre>
<p>Итак, мы разобрали основные виды селекторов. Надеемся, это поможет вам успешно преодолевать HTML-разметку.</p>]]></description>
<pubDate>Sun, 23 May 2010 02:36:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=161]]></link>
</item>
<item>
<title>Глобальные теги Cotonti</title>
<description><![CDATA[<p>В нашей практике <em>создания плагинов</em> довольно часто возникают задачи, когда необходимо использовать один и тот же фрагмент в разных частях сайта, или применять его в различных страницах. Но при <em>написании плагина</em> совсем не хочется использовать все доступные хуки, и чтобы в них везде был одинаковый код. Такие вопросы возникают регулярно, оставаясь часто без ответа. А способ обойти это есть, и базируется он на <a href="http://www.seditio.by/page.php?al=cotonti_xtemplate_part01" title="Работаем с шаблонизатором Cotonti, Часть 1">этом уроке</a>.</p><!--more-->
<p>Разберем поэтапно <em>написание плагина</em>:</p>
<h3>1. Создание плагина Cotonti</h3>
<p>Пишем плагин и размещаем его в максимально высоком хуке &mdash; лучше всего для этих целей подходят global, header.first или header.tags (если не планируется использовать в Ajax-частях).</p>
<h3>2. Предварительный вывод результата</h3>
<p>Результат предварительно выводим в переменную, например:</p>
<pre class="code">$MY_GLOBAL_TAG = "blah-blah-blah";</pre>
<p>Лучше использовать переменные, названные большими буквами: они легко находятся в коде. При этом сохраняется некоторая привычность вида тегов для конечного пользователя.</p>
<h3>3. Тег готов</h3>
<p>Используем в сайте в ваших шаблонах тег {PHP.MY_GLOBAL_TAG}. Удачных вам разработок!</p>]]></description>
<pubDate>Fri, 21 May 2010 02:42:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=159]]></link>
</item>
<item>
<title>Релиз 0.6.8 среды управления сайтом Cotonti и новости о Cotonti Siena</title>
<description><![CDATA[<p>Итак, чуда снова не произошло: выход <em>Cotonti Siena</em> отложен на 1 августа. Впрочем, чуда мало кто и ожидал. Команда разработчиков занимается коммерческими проектами, и времени на работу с прототипом <em>Сиены</em> практически нет. Тем не менее, приняты решения, которые будут определять развитие системы управления сайтом вплоть до выхода Cotonti Renaissance.</p><!--more-->
<h3>Cotonti Siena: мощный инструмент для создания сайта</h3>
<p>Речь идет прежде всего о том, что &laquo;Сиена&raquo; станет своего рода контрольным релизом, который подготовит радикальные изменения в ядре и API, которые запланированы для Cotonti Renaissance. В этой связи номер версии <em>Cotonti Siena</em> будет изменен с 0.7.0 на 0.9.0.</p>
<p>Переход на 0.9.0 будет серьезным испытанием для владельцев сайтов, поскольку он, как минимум, потребует модернизации всех <strong>плагинов Cotonti</strong>. О других изменениях говорить что-то конкретное пока рано, но &laquo;модуляризация&raquo; коснется большинства аспектов не только <a href="http://www.seditio.by/page.php?al=webdesign" title="Создание сайтов Cotonti">создания веб-сайтов</a>, но и их поддержки и продвижения. Так или иначе, модернизацию проще спланировать по схеме &laquo;все и сразу&raquo;, нежели растягивать ее на несколько этапов, сдерживая общее развитие системы. Поэтому будем следить за развитием ситуации и готовиться к переходу.</p>
<p>Кстати, начиная с версии 0.6.7 <a href="http://www.seditio.by/page.php?al=migration_from_seditio_to_cotonti" title="Перевод сайта с Seditio на Cotonti">переход с Seditio на Cotonti</a> стал заметно проще и доступнее. Полагаем, что переход с Genoa на Siena тоже окажется не таким болезненным.</p>
<h3>Переход на HTML в качестве основного языка разметки Cotonti</h3>
<p>Еще один важный момент: решено включить в поставку Cotonti HTML purifier и WYSIWYG-редактор. Это, безусловно, еще один шаг вперед, который позволит конечным пользователям системы создавать и оформлять привлекательные с точки зрения типографики и дизайна страницы. Поддержка BBCodes и других парсеров будет осуществляться в режиме низкого приоритета.</p>]]></description>
<pubDate>Mon, 17 May 2010 06:58:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=156]]></link>
</item>
<item>
<title>Ускоряем Google Analytics при помощи асинхронного кода отслеживания</title>
<description><![CDATA[<p>Google Analytics вне всяких сомнений является одним из лучших аналитических <em>веб-сервисов</em>. Тем не менее, иногда его использование действительно может негативно сказываться на производительности <em>разработанного сайта</em>. Хорошая новость для веб-разработчиков: Google анонсировал новый код отслеживания с асинхронной загрузкой. Говоря простыми словами, это означает оптимизацию JS-файла ga.js и возможность вставки кода отслеживания выше в HTML-коде страницы без каких-либо последствий.</p><!--more-->
<p>Вот что представляет из себя новый код:</p>
<pre class="code">&lt;script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

&lt;/script></pre>
<p>От вас потребуется только замена UA-XXXXX-X проприетарным кодом сайта. И еще: если вы уже пользуетесь сервисом Google Analytics, не забудьте вначале удалить старый код. Использование старого и нового кода совместно не рекомендуется.</p>]]></description>
<pubDate>Wed, 12 May 2010 05:01:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=154]]></link>
</item>
<item>
<title>50 векторных Twitter-иконок от IconShock</title>
<description><![CDATA[<p>IconShock снова порадовал своими творениями. На этот раз совершенно бесплатно нам предлагается 50 векторных твиттер-иконок, которые можно свободно использовать в <em>разработке сайтов</em>.</p><!--more-->
<p><a rel="external" href="http://www.iconshock.com/icon_sets/twitter-vector-icons-massive-icon-set/">Скачать!</a></p>]]></description>
<pubDate>Tue, 11 May 2010 19:17:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=153]]></link>
</item>
<item>
<title>Руководство Твиттера подтверждает auto-follow bug</title>
<description><![CDATA[<p>Сегодня, 10 мая сервис микроблогов Твиттер официально подтвердил существование бага, благодаря которому можно заставить пользователей этой сети фолловить вас без получения на то согласия.</p>
<p>Открыли "чудесное" свойство Твиттера неутомимые турецкие блоггеры. А "живое" тестирование провел блог Webrazzi: их тестовый аккаунт зафолловили основатель Facebook Mark Zuckerberg and гендиректор Твиттера Evan Williams. Для этого шокирующего достижения еще несколько дней назад достаточно было напечатать "accept", затем "@" и далее ник жертвы.</p><!--more-->
<p>Твиттер официально подтвердил наличие "досадного" бага. Непонятно только насколько серьезными являются его последствия, особенно в отношении закрытых учетных записей, в которых все без исключения твиты являются приватными.</p>
<p>Утром 10-го некоторым счасливчикам все еще удавалось заставить звезд Твиттера зафолловить их аккаунты. Однако уже в 10:00 по Тихоокеанскому дневному времени Твиттер начал активное противодействие злоумышленникам, принудительно обнулив их фолловеров и фолловинги. Кроме того, в заявлении говорится о том, что приватные твиттер-аккаунты не пострадали.</p>]]></description>
<pubDate>Tue, 11 May 2010 06:24:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=152]]></link>
</item>
<item>
<title>10 лучших дизайнов для портфолио</title>
<description><![CDATA[<p>Многие из нас часто бывали в ситуации, когда необходимо срочно и быстро создать и разместить сайт-портфолио. Выполнить эту непростую задачу можно несколькими способами, самый простой из которых &mdash; воспользоваться готовым решением. Бесплатных шаблонов для сайта-портфолио не то, чтобы много, но вполне достаточно чтобы сэкономить время и в кратчайшие сроки <em>разработать сайт</em> со своими работами.</p>
<div class="floatleft width30">
<h3>Cumulus</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-cumulus_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-cumulus_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://empirethemes.com/preview/cumulus/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>FolioGrid</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-foliogrid_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-foliogrid_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.frogsthemes.com/demo/foliogrid/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>FotoFolio</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-fotofolio_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-fotofolio_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://demo.wordspop.com/fotofolio-landscape">Демо-сайт</a></p>
</div><!--more-->
<hr class="scissors" />
<div class="floatleft width30">
<h3>Infinity</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-infinity_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-infinity_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.smashingmagazine.com/2008/08/08/infinity-a-free-wordpress-theme/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Irresistible</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-irresistible_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-irresistible_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.woothemes.com/demo/irresistible/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Sharpfolio<sup>2</sup></h3>
<a href="http://www.seditio.by/./datas/users/portfolio-sharpfolio2_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-sharpfolio2_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://webrevolutionary.com/sharpfolio-demo/">Демо-сайт</a></p>
</div>
<hr class="scissors" />
<div class="floatleft width30">
<h3>WaterColored</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-watercolored_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-watercolored_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.pvmgarage.com/downloads/watercolored_portfolio/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Woody</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-woody_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-woody_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://chocotemplates.com/preview/portfolio/woody/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>YIW Minimal</h3>
<a href="http://www.seditio.by/./datas/users/portfolio-yiw-minimal_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/portfolio-yiw-minimal_1.jpg" alt="10 лучших дизайнов для портфолио" class="folio" /></a>
<p class="small"><a rel="external" href="http://yim.yourinspirationweb.com/">Демо-сайт</a></p>
</div>
<hr class="scissors" />]]></description>
<pubDate>Thu, 06 May 2010 08:28:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=150]]></link>
</item>
<item>
<title>Бесплатный набор иконок для разработки сайтов Addictive Flavour</title>
<description><![CDATA[<p>Специально для своих читателей Smashing Magazine представил уникальный <em>набор иконок</em> Addictive Flavour от Оливера Твардовски. В набор вошли 750 иконок (а также все PSD-исходники) размером 48x48, которые создавались в течение полутора лет &laquo;специально для Smashing Magazine и его читателей&raquo;. Iconset действительно получился: в него вошли иконки для веб-приложений, пользовательских интерфейсов, блогов и веб-сайтов. Кроме того, в наборе вы найдете иконки флагов и популярных онлайновых служб.</p><!--more-->
<p>Скачать все это удовольствие можно и нужно здесь:</p>
<p><a href="http://media1.smashingmagazine.com/cdn_smash/wp-content/uploads/images/addictive-flavour-v3/iconset-addictive-flavour-set.zip">Addictive Flavour Iconset</a> / <a href="http://media1.smashingmagazine.com/cdn_smash/wp-content/uploads/images/addictive-flavour-v3/iconset-addictive-flavour-psd-set.zip">PSD-исходники</a></p>]]></description>
<pubDate>Tue, 04 May 2010 09:42:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=139]]></link>
</item>
<item>
<title>Онлайновые веб сервисы для разработки сайтов</title>
<description><![CDATA[<p>Мы, как разработчики сайтов, часто используем в своей работе онлайновые сервисы. Они помогают создавать современные веб сайты, экономя не только деньги, но и время, что является немаловажным фактором при выполнении заказа. В этой статье мы поделимся с вами наиболее интересными ресурсами, которые мы считаем наиболее полезными для веб дизайнеров.</p><!--more-->
<hr class="scissors" />
<h3>IconFnder</h3>
<p><a href="http://www.iconfinder.com/"><img src="http://www.seditio.by/./datas/users/online-tools-iconfinder_1.jpg" alt="Онлайновые веб сервисы для разработки сайтов" class="folio" /></a></p>
<p>Мы уже писали об этом интересном сервисе, предлагающем на выбор тысячи иконок, сгруппированных по наборам и тегам. Работа с IconFinder действительно удобна, поскольку вы можете отфильтровать найденное по размеру иконки или цвету фона, и в один клик скачать ICO- или PNG-версию. Для работы с IconFinder не требуется даже регистрации.</p>
<hr class="scissors" />
<h3>DaFont</h3>
<p><a href="http://www.dafont.com/"><img src="http://www.seditio.by/./datas/users/online-tools-dafont_1.jpg" alt="Онлайновые веб сервисы для разработки сайтов" class="folio" /></a></p>
<p>&laquo;Старый знакомый&raquo;, DaFont представляет собой весьма удобный и легкий в использовании каталог шрифтов. Искать и найти необходимый шрифт можно при помощи алфавитного листинга, по стилю, автору или популярности. Большинство размещенных на сайте шрифтов бесплатны.</p>
<hr class="scissors" />
<h3>Color Scheme Designer</h3>
<p><a href="http://www.colorschemedesigner.com/"><img src="http://www.seditio.by/./datas/users/online-tools-colorschemedesigner_1.jpg" alt="Онлайновые веб сервисы для разработки сайтов" class="folio" /></a></p>
<p>Очень по-современному выполненный, Color Scheme Designer представляет собой сервис подбора цветовой схемы вебсайта. Интерфейс кажется сложным только на первый взгляд, и после краткого ознакомления этот сайт может стать вашим помощником надолго. Кстати, полученную цветовую палитру можно экспортировать в несколько форматов. И все это по-прежнему бесплатно!</p>
<hr class="scissors" />
<h3>Brusheezy</h3>
<p><a href="http://www.brusheezy.com/"><img src="http://www.seditio.by/./datas/users/online-tools-brusheezy_1.jpg" alt="Онлайновые веб сервисы для разработки сайтов" class="folio" /></a></p>
<p>Один из лучших бесплатных источников для подбора и скачивания кистей, фонов и текстур для реализации ваших задумок. Удобный каталог с предпросмотром и разбивкой на страницы позволит вам не ошибиться при выборе пресетов для работы с Adobe Photoshop.</p>
<hr class="scissors" />
<h3>SuperScreenshot</h3>
<p><a href="http://www.superscreenshot.com/"><img src="http://www.seditio.by/./datas/users/online-tools-superscreenshot_1.jpg" alt="Онлайновые веб сервисы для разработки сайтов" class="folio" /></a></p>
<p>Когда веб сайт готов, самое время проверить то, как он выглядит в браузере. SuperScreenshot позволяет сделать это мгновенно: вводите URL и выбирайте интересующие вас параметры.</p>
<hr class="scissors" />
<p>Безусловно, в нашем списке присутствуют не все и, возможно, не самые интересные ресурсы. Если мы что-то упустили, напомните нам об этом в комментариях.</p>]]></description>
<pubDate>Mon, 26 Apr 2010 20:30:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=146]]></link>
</item>
<item>
<title>10 расширений Google Chrome для веб разработчиков</title>
<description><![CDATA[<p>В "войне браузеров" Google Chrome демонстрирует потрясающие результаты, завоевывая популярность среди все большего числа пользователей интернет. Поддержка расширений (extensions) стала еще одним серьезным шагом к тому, чтобы сравняться с лидерами. Кроме таких привлекательных направлений, как, например, интеграция с социальными сетями или улучшенная поддержка Gmail, создатели расширений предлагают свои разработки и для веб-дизайнеров. Лучшим из таких расширений посвящена данная статья.</p><!--more-->
<h3>Eye Dropper</h3>
<p><a href="https://chrome.google.com/extensions/detail/hmdcmlfkchdmnmnmheododdhjedfccka"><img src="http://www.seditio.by/./datas/users/chrome-ext-eye-dropper_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Расширение Eye Dropper (пипетка) позволяет определять цвет любого элемента просматриваемого веб сайта и подбирать цвет при помощи расширенной цветовой палитры.</p>
<hr class="scissors" />
<h3>Firebug Lite</h3>
<p><a href="https://chrome.google.com/extensions/detail/bnbbfjbeaefgipfjpdabmpadaacmafkj"><img src="http://www.seditio.by/./datas/users/chrome-ext-firebug-lite_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Инструмент мониторинга, правки и отладки HTML, CSS и JavaScript кода.</p>
<hr class="scissors" />
<h3>IE Tab Classic</h3>
<p><a href="https://chrome.google.com/extensions/detail/miedgcmlgpmdagojnnbemlkgidepfjfi"><img src="http://www.seditio.by/./datas/users/chrome-ext-ie-tab-classic_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Простое средство для запуска Internet Explorer из-под Google Chrome.</p>
<hr class="scissors" />
<h3>Image Cropper</h3>
<p><a href="https://chrome.google.com/extensions/detail/akeeaafmkigeapaejnlbknplbbpfbcfp"><img src="http://www.seditio.by/./datas/users/chrome-ext-image-cropper_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Image Cropper позволяет кадрировать и вырезать из веб страницы любые изображения, в том числе HTML-элементы IMG, и определяемые через CSS фоны блоков, и сохранять их в формате PNG.</p>
<hr class="scissors" />
<h3>Lorem Ipsum Generator</h3>
<p><a href="https://chrome.google.com/extensions/detail/dmpfoncmmihgkooacnplecaopcefceam"><img src="http://www.seditio.by/./datas/users/chrome-ext-lorem-ipsum_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Как понятно из названия, расширение позволяет на лету создавать текстовую "рыбу" &mdash; Lorem Ipsum.</p>
<hr class="scissors" />
<h3>Measureit</h3>
<p><a href="https://chrome.google.com/extensions/detail/aonjhmdcgbgikgjapjckfkefpphjpgma"><img src="http://www.seditio.by/./datas/users/chrome-ext-measureit_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Удобная экранная линейка, позволяющая легко измерять размеры любого объекта в окне.</p>
<hr class="scissors" />
<h3>Pendule</h3>
<p><a href="https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi"><img src="http://www.seditio.by/./datas/users/chrome-ext-pendule_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Архиполезный и один из лучших инструментариев веб-разработчика, облегчающий работу с JavaScript, HTML, CSS и изображениями. Для работы с графикой имеется экранная линейка, "пипетка", возможность отключения изображений, проверка alt-текста.</p>
<hr class="scissors" />
<h3>Plain Clothes</h3>
<p><a href="https://chrome.google.com/extensions/detail/kleiknekfnnaaibjhlamidabhmckbddc"><img src="http://www.seditio.by/./datas/users/chrome-ext-plain-clothes_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Это расширение позволяет стилем и цветом шрифтов, цветом фона и цветом ссылок сайта. Довольно удобный инструмент для отладки цветовой гаммы и подборе шрифта при <a href="http://www.seditio.by/page.php?al=webdesign">разработке сайта</a>.</p>
<hr class="scissors" />
<h3>Web Developer Toolbar</h3>
<p><a href="https://chrome.google.com/extensions/detail/bfbameneiokkgbdmiekhjnmfkcnldhhm"><img src="http://www.seditio.by/./datas/users/chrome-ext-webdeveloper-toolbar_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Еще один пакет "все-в-одном" &mdash; на этот раз портированное расширение Mozilla Firefox. Возможности аналогичны пакету Pendule.</p>
<hr class="scissors" />
<h3>Window Resizer</h3>
<p><a href="https://chrome.google.com/extensions/detail/kkelicaakdanhinjdeammmilcgefonfh"><img src="http://www.seditio.by/./datas/users/chrome-ext-window-resizer_1.jpg" alt="10 расширений Google Chrome для веб разработчиков" class="folio" /></a></p>
<p>Весьма простое решение для тестирования веб сайтов в различных экранных расширениях настольных и переносных компьютеров, а также мобильных устройств.</p>
<hr class="scissors" />]]></description>
<pubDate>Sun, 25 Apr 2010 03:43:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=144]]></link>
</item>
<item>
<title>Подешевели белорусские домены .BY</title>
<description><![CDATA[<p>Компания &laquo;Открытый контакт&raquo;, являющаяся главным техническим администратором доменной зоны BY, сообщила о том, с 5 апреля 2010 г. стоимость первичной регистрации и продления доменов .BY снижается до 79000 белорусских рублей, что составляет приблизительно 26-27 долларов США. Для юридических лиц домен .BY обойдется немногим более 32 долларов.</p>
<p>Для сравнения: еще 4 года назад, в 2006 г., стоимость BY-домена составляла почти USD90. C 2007 г. оплата была снижена до 60 долларов США.</p>
<p><em>&laquo;Снижение цен на домены &mdash; это ещё один стимул для развития национального сегмента Сети, ведь теперь стоимость домена .BY немногим выше, чем международных доменов (.com, .net, .org и т.д).&raquo;</em>, &mdash; рассказал директор одного из крупнейших регистраторов доменов .BY &mdash; компании HOSTER. BY &mdash; Сергей Повалишев.</p>]]></description>
<pubDate>Sun, 18 Apr 2010 03:46:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=142]]></link>
</item>
<item>
<title>15 свежих шаблонов для Wordpress</title>
<description><![CDATA[<p>Новые <strong>темы оформления</strong> для популярной блоговой платформы Wordpress выходят каждый день. Однако далеко не все из них отличаются свежими и "неизбитыми" дизайнерскими решениями. Многие грешат плагиатом на известные и <em>популярные шаблоны</em>, немало попадается и технически несовершенных тем.</p>
<p>И все-таки среди всего этого многообразия часто находятся блестяще выполненные <strong>качественные шаблоны,</strong> которые мгновенно находят своих многочисленных пользователей и поклонников. Именно таким шаблонам и посвящена эта статья.</p>
<div class="floatleft width30">
<h3>96 Degree</h3>
<a href="http://www.seditio.by/./datas/users/96degree_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/96degree_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://blog.insicdesigns.com/2010/03/freebie-96degree-wordpress-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://insicdesigns.com/96degree/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Cumulus</h3>
<a href="http://www.seditio.by/./datas/users/cumulus_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/cumulus_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://empirethemes.com/cumulus-a-portfolio-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://empirethemes.com/preview/cumulus/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Inuitypes Starter Edition</h3>
<a href="http://www.seditio.by/./datas/users/inuitypes_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/inuitypes_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://bizzthemes.com/2010/03/inuitypes/">Информация о шаблоне</a><br /><a rel="external" href="http://bizzthemes.com/demo/inuitypes/">Демо-сайт</a></p>
</div><!--more-->
<hr class="scissors" />
<div class="floatleft width30">
<h3>iZen</h3>
<a href="http://www.seditio.by/./datas/users/izen_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/izen_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.skinpress.com/izen-wordpress-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://www.skinpress.com/demo/index.php?wptheme=iZen">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Kodzilla</h3>
<a href="http://www.seditio.by/./datas/users/kodzilla_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/kodzilla_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.web2feel.com/kodzilla/">Информация о шаблоне</a><br /><a rel="external" href="http://www.jinsonathemes.com/demo/?themedemo=Kodzilla">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Maparaan</h3>
<a href="http://www.seditio.by/./datas/users/maparaan_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/maparaan_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.paddsolutions.com/wordpress-theme-maparaan/">Информация о шаблоне</a><br /><a rel="external" href="http://www.paddsolutions.com/wpmag/maparaan/">Демо-сайт</a></p>
</div>
<hr class="scissors" />
<div class="floatleft width30">
<h3>Notepad</h3>
<a href="http://www.seditio.by/./datas/users/notepad_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/notepad_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.ndesign-studio.com/blog/just-released-the-notepad-theme">Информация о шаблоне</a><br /><a rel="external" href="http://www.ndesign-studio.com/demo/wordpress/index.php?wptheme=Notepad">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Perfect</h3>
<a href="http://www.seditio.by/./datas/users/perfect_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/perfect_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://wpcount.com/2010/03/perfect-wordpress-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://themes.wpcount.com/?theme=Perfect">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Rockie</h3>
<a href="http://www.seditio.by/./datas/users/rockie_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/rockie_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.skinpress.com/rockie-wordpress-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://www.skinpress.com/demo/index.php?wptheme=Rockie">Демо-сайт</a></p>
</div>
<hr class="scissors" />
<div class="floatleft width30">
<h3>Sketchace</h3>
<a href="http://www.seditio.by/./datas/users/sketchace_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/sketchace_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://camelgraph.com/sketch-ace-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://demo.camelgraph.com/sketch-ace/">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Smooth</h3>
<a href="http://www.seditio.by/./datas/users/smooth_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/smooth_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.my-tapestry.com/smooth/">Информация о шаблоне</a><br /><a rel="external" href="http://demo.my-tapestry.com/?wptheme=Smooth">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Thrilling Theme</h3>
<a href="http://www.seditio.by/./datas/users/thrillingtheme_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/thrillingtheme_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.thrillingheroics.com/steal-my-blog-design-announcing-the-free-thrillingtheme-for-wordpress">Информация о шаблоне</a><br /><a rel="external" href="http://www.thrillingheroics.com/theme/">Демо-сайт</a></p>
</div>
<hr class="scissors" />
<div class="floatleft width30">
<h3>Vermillion</h3>
<a href="http://www.seditio.by/./datas/users/vermillion_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/vermillion_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://www.my-tapestry.com/vermillon/">Информация о шаблоне</a><br /><a rel="external" href="http://demo.my-tapestry.com/?wptheme=Vermillon">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>WPCount</h3>
<a href="http://www.seditio.by/./datas/users/wpcount_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/wpcount_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://wpcount.com/2010/02/wpcount-wordpress-template/">Информация о шаблоне</a><br /><a rel="external" href="http://themes.wpcount.com/?theme=count">Демо-сайт</a></p>
</div>
<div class="floatleft width30">
<h3>Zexee</h3>
<a href="http://www.seditio.by/./datas/users/zexee_1.jpg"><img src="http://www.seditio.by/./datas/thumbs/zexee_1.jpg" alt="15 свежих апрельских Wordpress-шаблонов" class="folio" /></a>
<p class="small"><a rel="external" href="http://thedesignsuperhero.com/2010/01/zexee-a-free-sexy-WordPress-theme/">Информация о шаблоне</a><br /><a rel="external" href="http://themes.thedesignsuperhero.com/zexee/">Демо-сайт</a></p>
</div>
<hr class="scissors" />]]></description>
<pubDate>Fri, 16 Apr 2010 06:40:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=141]]></link>
</item>
<item>
<title>Бесплатный набор иконок для веб-разработчиков от DesignKode</title>
<description><![CDATA[<p>Набор из 40 <em>бесплатных иконок высокого качества</em> представил сайт DesignKode. Иконки, как водится, предназначены для использования в <strong>разработке веб сайта</strong> или графических интерфейсов. Использование данного айконсета разрешено без каких-либо ограничений.</p><!--more-->
<p><a rel="external" href="http://www.designkode.com/blog/free-developer-icons">Скачать набор бесплатных иконок от DesignKode</a></p>]]></description>
<pubDate>Thu, 15 Apr 2010 17:43:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=138]]></link>
</item>
<item>
<title>Весь архив Твиттера отправляется в библиотеку Конгресса</title>
<description><![CDATA[<p>Сегодня о официального Твиттер-эккаунта библиотеки Конгресса США было сделано заявление о покупке всего архива твитов, начиная с марта 2006 г. Являясь крупнейшей мировой библиотекой, Библиотека Конгресса обладает самой внушительной коллекцией не только печатных, но и цифровых изданий.</p><!--more-->
<p>Библиотекой проводятся исследования стандартов форматов данных и интернет-семантики, поэтому пополнение ее архивов твитами, накопленными за целых четыре года, несомненно поспособствует огромному количеству академических исследований в области социального общения и взаимодействия.</p>]]></description>
<pubDate>Thu, 15 Apr 2010 05:10:49 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=137]]></link>
</item>
<item>
<title>Офисный пакет Google Docs получает новые возможности</title>
<description><![CDATA[<p>12 апреля разработчики Google Docs в своем блоге объявили о <a rel="external" href="http://googledocs.blogspot.com/2010/04/new-google-docs.html">новых изменениях в офисном пакете Google Docs</a>. Изменения произошли серьезные: редакторы документов и таблиц практически переписаны заново на базе новых механизмов <strong>HTML5</strong> и JavaScript. Другими словами, онлайновый офисный пакет от известного интернет-гиганта становится все более похожим на гораздо более привычные пользователям "оффлайновые" Microsoft Office и IBM Lotus.</p><!--more-->
<p>Наиболее заметным отличием от предыдущих версий стали присутствие привычной многим линейки в поле редактирования документа и редактор форм вверху таблицы. Вошедший в состав Google Docs редактор рисунков, напоминающий Microsoft Visio и Open Office Draw, позволяет создавать рисунки и схемы, а также импортировать внешние графические файлы.</p>
<p>Немаловажным достоинством является окно чата, доступное в правой панели каждого документа.</p>
<p>Несмотря на то, что серьезные офисные задачи все еще проще решать с использованием "оффлайновых" пакетов, Google Docs с каждым разом все серьезнее заявляет о себе не только как о потенциальном конкуренте, но и как о серьезной платформе, предназначенной для совместной обработки документов.</p>]]></description>
<pubDate>Wed, 14 Apr 2010 17:59:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=136]]></link>
</item>
<item>
<title>Минимализм в дизайне веб-сайтов</title>
<description><![CDATA[<p class="italic small">Все должно быть простым настолько,<br /> насколько это возможно, но не проще.<br /> ~ Альберт Эйнштейн</p>
<p>Сегодня мы продолжим знакомство с минимализмом в <b>дизайне сайтов</b> и на примерах из очередной подборки попытаемся разобраться в основных признаках, которыми характеризуются минималистические веб-сайты. Признаков, поскольку речь идет о минимализме, должно быть немного, и ограниченность, в рамках которой работает веб-дизайнер, также имеет свое немаловажное значение. В веб дизайне минимализмом принято называть использование наименьшего количества изображений, цветов, форм и текста. Из компоновки страницы удаляется все лишнее до тех пор, пока на ней не останутся только несущие смысловую нагрузку, значимые и простые элементы.</p><!--more-->
<h3>Особенности дизайна минималистических сайтов</h3>
<p>Минимализм в веб дизайне основывается на типографике и простых геометрических фигурах и формах. Сайт, выполненный в стиле минимализм, и его главное сообщение видны издалека: вы сразу понимаете, что это, где это и зачем это:</p>
<p><a href="http://www.seditio.by/datas/users/nosotros_1.jpg"><img src="http://www.seditio.by/datas/thumbs/nosotros_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Nosotros" /></a><a href="http://www.seditio.by/datas/users/jeroenhoman_1.jpg"><img src="http://www.seditio.by/datas/thumbs/jeroenhoman_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Jeroen Homan" /></a><a href="http://www.seditio.by/datas/users/geryit_1.jpg"><img src="http://www.seditio.by/datas/thumbs/geryit_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Geryit" /></a></p>
<p>Все элементы сайта значимы и находятся только там, где вы ожидаете их увидеть. Навигация проста и лаконична, информация представлена в доступной и максимально читаемой форме:</p>
<p><a href="http://www.seditio.by/datas/users/nakedandangry_1.jpg"><img src="http://www.seditio.by/datas/thumbs/nakedandangry_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Naked And Angry" /></a><a href="http://www.seditio.by/datas/users/druckdiplomarbeit_1.jpg"><img src="http://www.seditio.by/datas/thumbs/druckdiplomarbeit_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Druck Diplomarbeit" /></a><a href="http://www.seditio.by/datas/users/symphony_1.jpg"><img src="http://www.seditio.by/datas/thumbs/symphony_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Symphony CMS" /></a></p>
<p>Минимализм &mdash; это не обязательно полное отсутствие графики или использование только приглушенных элементов. Скорее мы говорим о максимально рациональном использовании практически любых графических элементов, фонов и текстур:</p>
<p><a href="http://www.seditio.by/datas/users/corvidcreative_1.jpg"><img src="http://www.seditio.by/datas/thumbs/corvidcreative_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Corvid Creative" /></a><a href="http://www.seditio.by/datas/users/colly_1.jpg"><img src="http://www.seditio.by/datas/thumbs/colly_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Simson Collision" /></a><a href="http://www.seditio.by/datas/users/fatmancollective_1.jpg"><img src="http://www.seditio.by/datas/thumbs/fatmancollective_1.jpg" class="folio" alt="Пример дизайна в стиле минимализм: Fatman Collective" /></a></p>
<p><em>Создание веб сайта</em> в стиле минимализм &mdash; работа не из простых, особенно когда речь идет о том, чтобы избавиться от лишних деталей и использовать контрасты и примитивные формы. Тем не менее, это вполне разрешимая задача, и мы надеемся, что эта статья поможет вам в ее реализации.</p>]]></description>
<pubDate>Sun, 11 Apr 2010 18:04:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=135]]></link>
</item>
<item>
<title>Приемы работы с шаблонизатором Cotonti. Часть 5. Где и как искать теги?</title>
<description><![CDATA[<p>Очень часто, приступая к <strong>созданию скина Cotonti</strong>, скинмейкер не имеет информации о всех тегах, которые можно использовать в конкретном TPL-шаблоне. Суть данной статьи состоит в том, чтобы предоставить ответы на самые первые и простые вопросы, которые возникают при написании и <em>верстке скина</em>.</p><!--more-->
<h3>Этап 1: Ищем теги</h3>
<p>Большинство тегов можно найти в <a rel="external" href="http://www.cotonti.com/plug.php?e=tpltags">справочнике по tpl-тегам</a>. Однако данный справочник имеет проблемы с обновлениями, и новые, востребованные теги не сразу становятся достоянием сообщества. Кроме того, не для всех тегов имеются подробные описания: порой можно встретить лишь название и не более того. Это, конечно, создает определенные трудности в понимании того, какую функцию выполняет тот или иной тег. Поэтому мы поступим «опытным» путем.</p>
<p>Для начала найдем в каталогах Cotonti файл, одноименный нашему темплейту, но с суффиксом <em>.php, .main.php</em> или  <em>inc.php</em> и откроем его. Например, для файла "users.tpl" нам надо найти и открыть файл</p>
<pre class="code">system\core\users\users.inc.php"</pre>
<h3>Этап 2: Проверяем тот ли это файл</h3>
<p>Ищем строку, в которой есть текст</p>
<pre class="code">new XTemplate(ИМЯ_ПОДКЛЮЧАЕМОГО_ТЕМПЛЕЙТА)</pre>
<p>... и сверяем значение в скобках с нашим темплейтом.</p>
<h3>Этап 3: Находим все блоки нашего шаблона</h3>
<p>Ищем строки с текстом</p>
<pre class="code">->parse(ПОЛНОЕ_ИМЯ_НАШЕГО_БЛОКА)</pre>
<p>Что значит полное имя? Это нечто вроде пути к блоку (как путь к файлу, но вместо слэшей используются точки), например:</p>
<pre class="code">$t -> parse("MAIN.USERS_ROW");</pre>
<p>То есть, в блоке MAIN есть блок USERS_ROW. А все теги указанные выше относятся к текущему блоку.</p>
<h3>Этап 4: Теги</h3>
<p>Выше parse находим строку</p>
<pre class="code">->assign</pre>
<p>... и в скобках видим весь список тегов с присваиваемыми значениями!</p>
<p>Итак, мы рассмотрели основные приемы поиска тегов. Надеемся это поможет вам в создании <strong>оригинальных и красивых скинов</strong>!</p>]]></description>
<pubDate>Wed, 07 Apr 2010 07:36:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=133]]></link>
</item>
<item>
<title>Объявлен релиз WordPress 3.0 Beta 1</title>
<description><![CDATA[<p>Большие новости для блоггеров: в апреле тестируем и работаем с долгожданным WordPress 3.0! Официально <a rel="external" href="http://wordpress.org/development/2010/04/wordpress-3-0-beta-1/">релиз WordPress 3.0 Beta 1</a> был объявлен 3 апреля. Одновременно с этим всем желающим была предоставлена возиожность <a href="http://wordpress.org/wordpress-3.0-beta1.zip">скачать WordPress 3.0 Beta 1</a>.</p>
<p>Насколько можно судить по официальному пресс-релизу, финальная версия <em>популярной блоговой платформы </em>не за горами. Вероятнее всего дата выхода будет определяться тем, насколько быстро и оперативно закончится фаза открытого тестирования.</p><!--more-->
<p>Что касается новшеств, то основными из них являются:</p>
<ul class="bullets">
<li>многопользовательские блоги с разделением прав</li>
<li>поддержка пользовательских типов сообщений при помощи авторских шаблонов</li>
<li>удобный генератор главного меню</li>
<li>новая тема оформления 2010</li>
</ul>
<p>Тем не менее, третья версия Вордпресс не решает своих основных проблем &mdash; безопасность, WPDB баг, разростание базы вследствие автосохранения.</p>
<p>И все-таки, нельзя не отметить что выход знаковой третьей версии Wordpress безусловно является событием в блогосфере, которое должно подтолкнуть конкурирующие <em>системы управления сайтами</em> к ответным действиям.</p>]]></description>
<pubDate>Wed, 07 Apr 2010 00:32:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=132]]></link>
</item>
<item>
<title>jQuery по-русски</title>
<description><![CDATA[<p>jQuery в последнее время набирает популярность и становится наиболее распространенной JS-библиотекой. Ее можно встретить практически на каждом третьем сайте. Сегодня вообще тяжело встретить сайт без Ajax, JS-галерей, анимации. И, конечно, хочется использовать нечно подобное и при <em>создании собственного сайта</em>.</p><!--more-->

<p>Раньше хорошему и быстрому старту обучения программирования мешало незнание английского языка. Но сегодня уже довольно просто сделать первый шаг в освоении jQuery и внедрении его на свой сайт. Но как пользоваться этой библиотекой? С чего начать?</p>

<p><a rel="external" href="http://www.linkexchanger.su/">linkexchanger.su</a> &mdash; это один из первопроходцев. Благодаря примерам на этом сайте многие разработчики выбрали для себя именно jQuery. В случае возникновения сложностей можно связаться с автором проекта, который всегда доброжелательно отвечает на любые вопросы. Кстати, именно благодаря этому ресурсу вышла книга &laquo;jQuery. Сборник рецептов&raquo;</p>

<p><a rel="external" href="http://jquery-docs.ru/">jquery-docs.ru</a> &mdash; первая попытка создать русскую справку по jQuery. Однако в качестве движка сайта автор использовал Wordpress, и это в значительной мере снизило удобство использования сайта.</p>

<p><a rel="external" href="http://slyweb.ru/jquerymain/">slyweb.ru</a> &mdash; это просто рай, в котором представлен довольно качественный перевод всей документации по jQuery. Здесь вы легко найдете ответы на интересующие вас вопросы.</p>

<p>Как видим, сегодня документация по jQuery представлена далеко не одиночными сообщениями блоггеров. Уже есть весьма высококачественные сильные русскоязычные ресурсы, которые помогут вам в освоении этой JS-библиотеки.</p>]]></description>
<pubDate>Tue, 06 Apr 2010 06:34:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=131]]></link>
</item>
<item>
<title>20+ лучших веб-сайтов в стиле «минимализм», часть 3</title>
<description><![CDATA[<p>Мартовская публикация интересных сайтов, разработанных в стиле "минимализм". <em>Доступное размещение информации</em>, приятное общее впечатление от дизайна, читабельность &mdash; вот, что характеризует выбранные нами в марте минималистические ресурсы.</p><!--more-->
<p><a href="http://www.seditio.by/./datas/users/simplebits2010_1.png"><img src="http://www.seditio.by/./datas/thumbs/simplebits2010_1.png" class="folio" alt="SimpleBits" /></a> <a href="http://www.seditio.by/./datas/users/site_inspire_1.png"><img src="http://www.seditio.by/./datas/thumbs/site_inspire_1.png" class="folio" alt="SiteInspire" /></a> <a href="http://www.seditio.by/./datas/users/stefan_persson_1.png"><img src="http://www.seditio.by/./datas/thumbs/stefan_persson_1.png" class="folio" alt="Stefan Persson" /></a> <a href="http://www.seditio.by/./datas/users/subtraction_1.png"><img src="http://www.seditio.by/./datas/thumbs/subtraction_1.png" class="folio" alt="Subtraction" /></a> <a href="http://www.seditio.by/./datas/users/tdr_1.png"><img src="http://www.seditio.by/./datas/thumbs/tdr_1.png" class="folio" alt="TDR" /></a> <a href="http://www.seditio.by/./datas/users/the_may_blog_1.png"><img src="http://www.seditio.by/./datas/thumbs/the_may_blog_1.png" class="folio" alt="The May Blog" /></a> <a href="http://www.seditio.by/./datas/users/tim_parkin_1.png"><img src="http://www.seditio.by/./datas/thumbs/tim_parkin_1.png" class="folio" alt="Tim Parkin" /></a> <a href="http://www.seditio.by/./datas/users/vesess_1.png"><img src="http://www.seditio.by/./datas/thumbs/vesess_1.png" class="folio" alt="Vesess" /></a> <a href="http://www.seditio.by/./datas/users/we_are_sofa_1.png"><img src="http://www.seditio.by/./datas/thumbs/we_are_sofa_1.png" class="folio" alt="We Are Sofa" /></a></p>]]></description>
<pubDate>Wed, 31 Mar 2010 22:58:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=129]]></link>
</item>
<item>
<title>10 источников качественных бесплатных изображений</title>
<description><![CDATA[<p>При <em>разработке веб сайтов</em> подборка клипарта является одним из наиболее важных моментов. Для этих существуют коммерческие фотобанки, где можно приобрести недорогой профессиональный клипарт. Однако часто <em>качественные изображения</em> требуются либо очень оперативно, либо на бесплатной основе. В таких случаях можно воспользоваться и <em>бесплатными источниками изображений</em>, некоторые из которых мы опубликуем в данной статье.</p><!--more-->
<hr class="scissors" />

<h3>123RF</h3>
<img src="http://www.seditio.by/datas/users/123rf_1.jpg" alt="123RF" class="mainpic" />
<p>Профессиональный фотобанк с качественными фото. В <em>бесплатных изображений</em> клипарт помещается всего на 30 дней и в достаточно скромном разрешении. И все-таки это лучше чем ничего. Впрочем, купить понравившееся фото можно по вполне преемлемой цене.</p>
<a rel="external" href="http://www.123rf.com/browsefreeimages.php">http://www.123rf.com/browsefreeimages.php</a>
<hr class="scissors" />

<h3>500px</h3>
<img src="http://www.seditio.by/datas/users/500px_1.jpg" alt="500px" class="mainpic" />
<p>Неплохой выбор фотографий, преимущественно русскоговорящих авторов. Отличное качество, размеры изображений вполне подойдут для оформления веб-сайтов.</p>
<a rel="external" href="http://www.500px.com/photos">http://www.500px.com/photos</a>
<hr class="scissors" />

<h3>Dreamstime</h3>
<img src="http://www.seditio.by/datas/users/dreamstime_1.jpg" alt="Dreamstime" class="mainpic" />
<p>Для скачивания бесплатных изображений необходимо зарегистрироваться и ввести полную информацию о себе. Изображения неплохого качества и большого разрешения.</p>
<a rel="external" href="http://www.dreamstime.com/free-photos">http://www.dreamstime.com/free-photos</a>
<hr class="scissors" />

<h3>Freephotosbank</h3>
<img src="http://www.seditio.by/datas/users/freephotosbank_1.jpg" alt="Freephotosbank" class="mainpic" />
<p>Пожалуй, самый удобный из представленных в списке сайтов: отсутствие обязательной регистрации, <em>простая и дружественная навигация</em>, возможность скачивания изображений из списка миниатюр, в том числе zip-архивами.</p>
<a rel="external" href="http://www.freephotosbank.com/">http://www.freephotosbank.com/</a>
<hr class="scissors" />

<h3>Freepixels</h3>
<img src="http://www.seditio.by/datas/users/freepixels_1.jpg" alt="Freepixels" class="mainpic" />
<p>Количество категорий и изображений в них ограничено, навигация несколько примитивна, однако сами изображения вполне приличного качества.</p>
<a rel="external" href="http://www.freepixels.com/">http://www.freepixels.com/</a>
<hr class="scissors" />

<h3>Freerangestock</h3>
<img src="http://www.seditio.by/datas/users/freerangestock_1.jpg" alt="Freerangestock" class="mainpic" />
<p>Обязательная (но несложная) регистрация, немало любительских фото.</p>
<a rel="external" href="http://www.freerangestock.com/new_photos.php">http://www.freerangestock.com/new_photos.php</a>
<hr class="scissors" />

<h3>Imagebase</h3>
<img src="http://www.seditio.by/datas/users/imagebase_1.jpg" alt="Imagebase" class="mainpic" />
<p>Все права на скаченные изображения (public domain), отсутствие регистрации, разрешения до 3072*2048, полнофункциональный поиск: однозначный musthave!</p>
<a rel="external" href="http://www.imagebase.davidniblack.com/">http://www.imagebase.davidniblack.com/</a>
<hr class="scissors" />

<h3>Stockvault</h3>
<img src="http://www.seditio.by/datas/users/imagebase_1.jpg" alt="Stockvault" class="mainpic" />
<p>Неплохой выбор изображений, удобный поиск, быстрое скачивание без обязательной регистрации.</p>
<a rel="external" href="http://www.stockvault.net/">http://www.stockvault.net/</a>
<hr class="scissors" />

<h3>Stock.XCHNG</h3>
<img src="http://www.seditio.by/datas/users/stockxchng_1.jpg" alt="Stock.XCHNG" class="mainpic" />
<p>Для скачивания полноразмерных фото необходима регистрация, достойное качество изображений.</p>
<a rel="external" href="http://www.sxc.hu/">http://www.sxc.hu/</a>
<hr class="scissors" />

<h3>Turbophoto</h3>
<img src="http://www.seditio.by/datas/users/turbophoto_1.jpg" alt="Turbophoto" class="mainpic" />
<p>Самое сложное скачивание из всех представленных фотобанков. Вполне профессиональный клипарт с преемлимым ограничением в 800px по ширине для бесплатного скачивания.</p>
<a rel="external" href="http://www.turbophoto.com/FreePhotos.html">http://www.turbophoto.com/FreePhotos.html</a>
<hr class="scissors" />]]></description>
<pubDate>Sun, 28 Mar 2010 17:32:00 +0300</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=128]]></link>
</item>
<item>
<title>Symbolize — бесплатный набор иконок от DryIcons</title>
<description><![CDATA[<p>Dryicons порадовали своим очередным бесплатным творением: <a href="http://dryicons.com/free-icons/preview/symbolize-icons-set/"><em>набором иконок</em> Symbolize</a>. В него вошли 100 <strong>высококачественных черно-белых иконок</strong>, которые могут быть использованы как для создания сайтов, так и для оформления приложений, тулбаров и проч. </p>
<p>Бесплатность Symbolize, как собственно и остальных творений DryIcons, относительна: бесплатная лицензия предполагает присутствие обратной ссылки на сайт производителя. Не во всех случаях это возможно, однако для таких целей существуют commercial и extended лицензии. Насколько это стоит того, решать вам!</p>]]></description>
<pubDate>Tue, 16 Mar 2010 07:01:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=127]]></link>
</item>
<item>
<title>Если бы программисты строили самолеты</title>
<description><![CDATA[<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UZq4sZz56qM&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/UZq4sZz56qM&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>
<p>Ролик сделан добротно, с тонким юмором и вкусом!</p>]]></description>
<pubDate>Mon, 08 Mar 2010 19:54:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=126]]></link>
</item>
<item>
<title>Следующий шаг на пути к 0.7</title>
<description><![CDATA[<p>Разработка Cotonti не стоит на месте, ежедневно появляется 2 - 5 новых ревизий, в которых исправляются ошибки и добавляются новые возможности. Давайте посмотрим, что нового появилось уже сегодня:</p>
<ol>
<li><strong>Обновленный кэш.</strong> Прикладываются все усилия для создания <em>обновленного кэша</em> и ускорения работы системы. Создан постраничный кеш для гостей и блоковый кеш для пользователей.</li>
<li><strong>Отпимизованы опросы.</strong> Из функций опросов вынесен HTML И JS. В данные функции <a href="http://www.seditio.by/page.php?al=hacks_or_hooks" title="Хаки или хуки">добавлены хуки</a>. Ко всем функциям опросов добавлен PHP Doc.</li>
<li>Из шаблонов вынесены (и дополнительно оптимизованы) файлы JavaScript.</li>
<li>Начат вынос комметариев и рейтингов в модули/плагины.</li>
<li>Добавлена функция sed_generate_usertags для быстрого добавления в файлы всех тегов пользователя.</li>
<li>В list, news, recentitems добавлен вывод полной информации о пользователе, добавившем статью. Это может понадобиться при создании блогов.</li>
<li><strong>Исправлен кеш RSS.</strong></li>
<li>Добавлена возможность логина не только по нику но и по email (как это сделано в большинстве социальных сетей).</li>
<li><strong>Jquery 1.4.2</strong></li>
<li><strong>Улучшены возможности ЧПУ.</strong></li>
<li>Другие улучшения и изменения.</li>]]></description>
<pubDate>Sun, 07 Mar 2010 06:14:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=123]]></link>
</item>
<item>
<title>Релиз 0.6.7 среды управления сайтом Cotonti</title>
<description><![CDATA[<p>Первый день весны команда разработчиков среды управления сайтом Cotonti порадовала своих пользователей релизом 0.6.7. Релиз снова багфиксовый: обновление сводится к замене всего 11 файлов, из которых только один (page.add.tpl &mdash; режим правки страницы) относится к шаблону сайта:</p>
<pre class="code">plugins/markitup/js/jquery.markitup.js
system/core/users/users.register.inc.php
system/core/forums/forums.posts.inc.php
system/core/forums/forums.inc.php
system/core/forums/forums.topics.inc.php
system/core/list/list.inc.php
system/core/page/page.add.inc.php
system/common.php
system/functions.php
skins/sed-light/page.add.tpl
rss.php</pre><!--more-->
<p>Если конкретно, то:</p>
<ul class="bullets">
<li>обновлен редактор MarkItUp! с версии 1.1.6 до 1.1.6.1</li>
<li>исправлен генератор RSS-потоков (относительные ссылки заменены на абсолютные, иконки соответствуют стандартам XHTML, страницы доступны через алиасы)</li>
<li>исправлен вывод амперсанда (&) в заголовках</li>
<li>объявлена поддержка пользовательской валидации и $_SESSION['cot_user_id'] для использования в пользовательских скриптах</li>
<li>обновление теперь возможно с Seditio версий 126 и 130</li>
</ul>
<p>Более подробно со списком обновлений можно ознакомиться в <a rel="external" href="http://trac.cotonti.com/query?group=status&milestone=Genoa+0.6.7">репозитории</a>.</p>]]></description>
<pubDate>Tue, 02 Mar 2010 05:41:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=125]]></link>
</item>
<item>
<title>Эффективная работа с CSS: используем единый файл стилей для различных медиа-типов</title>
<description><![CDATA[<p>Использование стилей для различных медиа-типов (screen, print или handheld) предполагает подключение нескольких <em>css-файлов</em>. Подключаются они при помощи элементов <strong>link</strong> с атрибутом <strong>media</strong> или через операторы <strong>@import</strong> с указанием одного или нескольких медиа-типов.</p>
<p>Нет ничего предрассудительного в разделении каскадных таблиц стилей на несколько файлов и их подключении указанными выше способами (я и сам это делаю для своего сайта). Однако у данного способа существует два серьезных недостатка: он ведет к дополнительным HTTP-запросам к серверу и требует работы с несколькими CSS-файлами.</p>
<p>Некоторым [html-кодерам] нравится делить стили между несколькими файлами, и это могут быть наборы стилей как для различных медиа-типов, таки для различных разделов сайта. Я пробовал работать таким образом и понял, что, как бы хорошо этот способ не подходил для других, он определенно не для меня. Каждому свое, но чем меньше количество CSS-файлов, тем быстрее я работаю.</p>
<p>К счастью для меня и моих единомышленников, существует способ разместить все CSS-стили в одном файле.</p><!--more-->
<h3>At-правило @media</h3>
<p>Правило @media позволяет вам группировать различные media-типы в одном файле. Все правила вне правил @media применяются ко всем медиа-типам, к которым применима сама таблица стилей.</p>
<p>Вот пример таблицы стилей, использующей правила @media:</p>
<pre class="code small">body {
color:#444;
background-color:#fff;
}
@media screen, projection {
body { background-image:url(background.png); }
}
@media print {
body { color:#000; }
}
@media handheld {
body { color:#0f6517; }
}</pre>
<p>Учитывая то, что данные правила находятся в CSS-файле, применимом ко всем медиа-типам, получим следующее:</p>
<ul class="bullets">
<li>Для <em>медиа-типов screen и projection</em> текст будет темно-серым, а фон будет состоять из повторяющегося изображения</li>
<li>Для <em>медиа-типаа print</em> текст будет черным на белом фоне</li>
<li>Клиентские приложения, к которым применяется <em>медиа-тип handheld</em>, выведут темно-зеленый текст на белом фоне</li>
</ul>
<p>Данный способ, возможно, подойдет не каждому, но лично я считаю что он позволяет избежать избыточности, а также снижает риск проявления ситуаций, при которых можно "просмотреть" один или несколько медиа-типов при внесении изменений в файл стилей.</p>
<p><a rel="external" href="http://www.456bereastreet.com/archive/201002/css_efficiency_tip_use_a_single_stylesheet_file_for_multiple_media/">Оригинал статьи Роджера Йоханссона CSS efficiency tip: use a single stylesheet file for multiple media</a></p>]]></description>
<pubDate>Fri, 26 Feb 2010 07:56:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=122]]></link>
</item>
<item>
<title>Рациональное использование jQuery</title>
<description><![CDATA[<p>Сегодня наш разговор пойдет о том, как рационально использовать <em>библиотеку jQuery</em>. Для начала первое правило: всегда используйте последнюю версию этой библиотеки – скорость выше, возможностей больше, ошибок меньше. Всегда читайте документацию. Где ее найти, <a href="http://www.seditio.by/page.php?al=jquery_api">мы уже упоминали</a>. Если у вас большие JS библиотеки, то не забудьте их сжать (например, при помощи YUICompressor, Dojo ShrinkSafe или Google Closure Compiler).</p><!--more-->

<p>А теперь о том, что неявно. Возьмем небольшой участок разметки на которой и будем приводить примеры.</p>

<pre class="code">&lt;div id="content">
	&lt;form method="post" action="" id=”entryform” />
		&lt;h2>Ваш пол&lt;/h2>
		&lt;ul id="Gender">
			&lt;li>&lt;input type="radio" class="on" name="genderR" value="M" /> Мужской&lt;/li>
			&lt;li>&lt;input type="radio" class="off" name=" genderR " value="W" /> Женский&lt;/li>
			&lt;li>&lt;input type="radio" class="off" name=" genderR " value="Na" /> Не указан<&lt;li>
		</ul>
		&lt;input class="button" id="submit_button" type="submit" value="Далее" />
	&lt;/form>
&lt;/div> </pre>


<p><em>1. Элемент лучше и быстрее всего искать по его аттрибуту <strong>id</strong></em>, потому что используется метод DOM getElementById. Если у элемента нет id, то нужно указывать ближайший к нему элемент с id:</p>

<pre class="code">var gender = $('#Gender.on');</pre>

<p><em>2. Использовать имя тега перед названием класса:</em></p>

<pre class="code">var gender = $('#Gender input.on');</pre>

<p>В этом случае используется метод DOM getElementsByTagName и среди выбранных элементов ищется тот, у которого есть класс 'on'.</p>


<p>Сама популярная выборка элементов по названию класса — одна из самых медленных в jQuery.</p>



<p><em>3. Никогда не ставьте имя тега перед id:</em></p>

<pre class="code"> var gender = $('div#Gender);</pre>

<p>В этом случае сначала будут выбраны все элементы с тэгом 'div', а уже потом среди них будет найден элемент с нужным id.
</p>

<p><em>4. «Кешируйте» объекты jQuery.</em> Например, вы используете объект больше чем один раз, вместо того, чтобы несколько раз искать по элементу:</p>

<pre class="code"> $('#Gender input.on).bind('click', function(){...});
 $('#Gender input.on).css('background-color', '888');
 $('#Gender input.on).fadeIn('slow');</pre>

<p>
 сохраните его в локальную переменную:</p>

<pre class="code"> var $gender = $('#Gender input.on');
 $gender.bind('click', function(){...});
 $gender.css('background-color', '888');
 $gender.fadeIn('slow');</pre>


<p> Примечание: чаще всего '$' перед именем переменной ставят, чтобы показать что в ней храниться объект jQuery.
</p>


<p> <em>5. Выстраивайте цепочки.</em> Большинство методов jQuery возвращают после выполнения объект jQuery, это позволит сократить размер кода:</p>


<pre class="code"> $('#Gender input.on').bind('click', 
 function(){return false;})
 	.css('background-color', '888')
 	.fadeIn('slow');</pre>


<p><em> 6. Используйте подзапросы. </em>Это сократит время поиска объекта, так как последующие выборки будут происходить из сохраненного объекта</p>


<pre class="code"> var $gender = $('#Gender'),
 	$onGender = $gender.find('input.on'),
 	$offGenders = $gender.find('input.off');</pre>

<p>
 <em>7. Минимизируйте работу с DOM-деревом. </em>Любые манипуляции (удаление, перемещение и вставка новых элементов) с DOM довольно медленные, поэтому вместо того, чтобы вставлять каждый элемент в DOM:</p>


<pre class="code"> var toplist = [...], 
 $mylist = $('#mylist'); 

 for (var i=0, l=toplist.length; i&lt;l; i++ )
 {
 	$mylist.append('&lt;li>' + toplist[i] + '&lt;/li>');
 }</pre>

<p>
Лучше работу с DOM свести к одному шагу.</p>


<pre class="code"> var toplist = [...], 
 $mylist = $('#mylist'), 
 topli = ""; 

 for (var i=0, l=toplist.length; i&lt;l; i++)
 {
 	topli += '&lt;li>' + toplist[i] + '&lt;/li>';
 }

 $mylist.html(topli);</pre>


<p> <em>8. $(window).load.</em> Чаще всего выполнение скрипта привязывают к событию $(document).ready(). Событие происходит в то время, когда объекты все еще загружаются. Иногда можно наблюдать, что страница подвисает во время загрузки. Причиной этого могут быть именно функции, которые привязаны к $(document).ready().  Чтобы избежать этого, можно часть функций привязать к событию $(window).load(), которое происходит уже после того, как все содержимое страницы (включая содержимое iframe) уже загружено.</p>


<pre class="code"> $(window).load(function(){
 	// функции jQuery, инициализируемые после загрузки страницы
 });</pre>


<p><em>9. Привязывайте к странице только относящиеся к ней скрипты.</em> Обычно все складывается в один большой скрипт, который вставляется на все страницы сайта и выполняется на событие $(document).ready(). Но даже если функция не работает на данной конкретной странице, то все равно тратится время на поиск элементов, к которым привязана эта функция. Скрипт можно разделить на несколько частей или сделать  его следующим образом:</p>


<pre class="code"> var mylib =
 {
 	article:
 	{
 		init : function()
 		{
 			...
 		}
 	},
 	forum_posts :
 	{
 		init : function()
 		{
 			...
 		}
 	}
 }</pre>

<p>
а на странице, где мы хотим использовать функции, относящиеся, например, к article вставить:</p>

<pre class="code">
&lt;script type="text/javascript">
 mylib.article.init();
&lt;/script></pre>]]></description>
<pubDate>Tue, 23 Feb 2010 07:08:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=121]]></link>
</item>
<item>
<title>Быстрее… еще быстрее или jQuery 1.4.2</title>
<description><![CDATA[<p>Одним из важных аспектов работы любого <strong>JS фрейморка</strong> является скорость. Она во многом определяется тремя параметрами: качеством оптимизации кода фреймворка, браузером и мощностью вашего компьютера. В <em>jQuery 1.4.2</em> разработчики заявляют значительное увеличение скорости работы.</p><!--more-->

<p><img src="http://farm5.static.flickr.com/4015/4366089781_509c29aff8.jpg" class="folio" alt="Скорость Jquery" /></p>

<p>На графиках наглядно продемонстрировано, что скорость выросла в сравнении с версией 1.3.2 более чем в 2.5 раза!</p>

<p>Кроме того, в <em>jQuery 1.4.2</em> реализовано 2 новых метода: .delegate() и .undelegate(), которые призваны дополнить методы .live() and .die(). Эти методы упрощают работу с некоторыми определенными событиями.</p>

<p>Например, следующий код:</p>

<pre class="code">$("table").each(function(){
  $("td", this).live("hover", function(){
    $(this).toggleClass("hover");
  });
});</pre>

<p>Теперь можно упростить до</p>

<pre class="code">
$("table").delegate("td", "hover", function(){
  $(this).toggleClass("hover");
});</pre>

<p>И, конечно же, в версии 1.4.2 проведена большая работа над ошибками предыдущих версий. </p>

<p>Для тех, кто до сих пор не определился с тем, какой фреймворк использовать, есть возможность протестировать скорости: <a rel="external" href="http://lusever.ru/css-selectors/">$('CSS').framework</a> или <a rel="external" href="http://ejohn.org/files/142/#">Task Speed</a> . В результате наших тестирований Jquery 1.4.2 в браузерах Mozilla Firefox 3.6 и Opera 10.50 оставался бесспорным лидером.</p>]]></description>
<pubDate>Sun, 21 Feb 2010 05:46:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=120]]></link>
</item>
<item>
<title>Разбираемся с rel external</title>
<description><![CDATA[<p>Часто при просмотре блогов мы видим ссылки вида:</p>
<pre class="code">&lt;a rel="external nofollow" href="http://seditio.by/page.php?al=cotonti"&gt;CMF Cotonti&lt;/a&gt;</pre>
<p>Если <a href="http://www.seditio.by/page.php?al=comments_and_search_engine_optimisation">с атрибутом nofollow все понятно</a>, то <strong>external</strong> часто вызывает недоумение и вопросы.</p>
<p>Все дело в том, что спецификация <strong>XHTML</strong> не поддерживает атрибут ссылки <strong>target</strong>. Поскольку открытие нового окна в браузере &mdash; это задача сценария, а не языка гипертекстовой разметки, конструкции вида</p>
<pre class="code">target="_blank"</pre>
<p>более не являются <em>валидными</em>.</p><!--more-->
<p>Итак, "искусственный" <em>атрибут</em></p>
<pre class="code">rel="external"</pre>
<p>служит только и исключительно для того, чтобы, обрабатывая его скриптом, назначать таким ссылкам класс и открывать их в новом окне браузера. Интересно, что в огромном количестве блогов этот атрибут заботливо проставлен во всех внешних линках, но скрипты их не обрабатывают. Очевидно потому, что <em>удачные решения</em> отсутствуют. Посему, публикуем свое:</p>
<pre class="code">function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i&lt;anchors.length; i++) {
		var anchor = anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
				anchor.target = "_blank";
				anchor.className = "external";
				anchor.title = "Opens in new window"
			}
	
	}
}
window.onload = externalLinks;</pre>]]></description>
<pubDate>Sat, 20 Feb 2010 04:02:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=119]]></link>
</item>
<item>
<title>Деакцентируем элементы управления пользовательского интерфейса</title>
<description><![CDATA[<p><em>Создавая пользовательский интерфейс вашего приложения в виде едва заметного каркаса для информации, интересуюущей пользователей, вы помогаете им сфокусироваться на содержании. Снижайте количество и акцентированность элементов управления. Создавайте пользовательские элементы управления, которые тонко интегрируются в графический стиль вашего приложения: управление останется заметным, но не слишком бросающимся в глаза.</em></p>
<p><em>~ Руководство по разработке пользователького интерфейса iPad</em></p>
<p>Каждый градиент, который вы добавляете к интерфейсу, делает его все более сложным в использовании. То же самое относится к каждой тени, закругленному углу, фоновому цвету и стилю кнопки. Не добавляйте их только лишь потому, что они выглядят красиво.</p><!--more-->
<p>Это правило должно действовать применительно к каждому интерфейсу, над которым вы работаете. Его дизайн должен быть невидимым, насколько это возможно. Вашим пользователям безразличен неповторимый стиль кнопки: им необходимо действие, которое она выполняет. Действие, скрытое за кнопкой, гораздо важнее того, как эта кнопка выглядит. И посетители заходят на ваш сайт не за тенями или красивой подложкой, а за контентом.</p>
<p>Тени, скругленные углы и градиенты имеют право на существование только если они незаметно и тонко повышают привлекательность вашего интерфейса, что делает его легким в использовании. Почти незаметная тень под кнопкой может подсознательно привлечь внимание пользователя к выделенной "трехмерности". Но использовать такие приемы необходимо осторожно: кнопки на странице веб-сайта не должны соревноваться друг с другом за внимание пользователя. Выделяя все, вы не выделяете ничего.</p>
<p>Выберите наиболее важное действие или содержание и проакцентируйте внимание только на нем и при помощи едва уловимых эффектов.</p>
<p><a rel="external" href="http://minimali.st/2010/02/de-emphasize-user-interface-controls/">Оригинал статьи "De-emphasize User Interface Controls"</a></p>]]></description>
<pubDate>Fri, 19 Feb 2010 07:51:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=115]]></link>
</item>
<item>
<title>Хаки или хуки?</title>
<description><![CDATA[<p>Многих начинающих пользователей, впервые сталкивающихся с Cotonti, привлекает простота кода этого фреймворка. Действительно, <em>в плане юзабилити и простоты кода с Cotonti могут посоревноваться немногие фреймворки</em>. Однако на определенном этапе у каждого пользователя возникает проблема нехватки функционала или его несоответствия требованиям веб-сайта. На самом деле в этом нет ничего негативного: Cotonti предлагает своим пользователям только самый необходимый функционал. Все дополнительные и часто "немассовые" возможности пользователь Cotonti наращивает самостоятельно. Для этого существует два способа: хак и плагин. Остановимся на каждом из них подробно.</p><!--more-->
<p>Итак, по тем или иным причинам возможности движка вас не устраивают. Решения очевидны: исправить или дополнить. способов этому, как говорилось ранее, два: использование хака или установка плагина.</p>
<h3>Что такое хак и в чем его преимущества и недостатки?</h3>
<p>Хак &mdash; это непосредственное изменение программного кода, в нашем случае PHP-кода ядра фреймворка. Простой пример хака файла page.inc.php:</p>
<pre class="code">"PAGE_DATE" => $pag['page_date'],</pre>
<p>добавляем</p>
<pre class="code">"PAGE_YEAR" => @date("Y", strtotime($pag['page_date']) + $usr['timezone'] * 3600),</pre>
<p>, и получаем тег вывода года создания страницы.</p>
<p>Кстати, большинство разработчиков начинали свой путь в LDU/Seditio/Cotonti именно с хаков. Причин этому две:</p>
<ul class="bullets">
<li>Хак создается буквально за пару минут</li>
<li>Хак не требует знаний работы движка</li>
</ul>
<p>Однако как у всех хороших вещей, у хаков есть серъезные недостатки:</p>
<ul class="bullets">
<li>Хаки создают ощутимые неудобства при переходе на новую версию движка</li>
<li>Очень часто хаки открывают бреши в системе защиты</li>
</ul>
<h3>Чем плагины лучше хаков?</h3>
<p>Плагины лишены недостатков хаков, хотя и требуют понимания структуры движка и базового знания PHP. Что касается сроков, то при знании особенностей системы и небольшом опыте написания, плагины создаются достаточно оперативно.</p>
<p>В качестве примера попробуем реализовать предыдущую задачу при помощи плагина:</p>
<pre class="code">&lt;?php
/* ====================
[BEGIN_SED_EXTPLUGIN]
Code=plugincode
Part=page
File=filename
Hooks=page.tags
Order=10
[END_SED_EXTPLUGIN]
==================== */
$t->assign(array(
    "PAGE_YEAR" => @date("Y", strtotime($pag['page_date']) + $usr['timezone'] * 3600)
));
?></pre>
<p>Как видим, в нашем случае плагин фактически представляет собой хак, оформленный в соответствии с требованиями <em>системы управления сайтом</em>. Однако плагин, в отличие от хака, продолжит выполнять свою функцию при обновлении системы и избавит вас от утомительного переноса ваших "ручных" правок из версии в версию.</p>]]></description>
<pubDate>Thu, 18 Feb 2010 07:52:00 +0200</pubDate>
<link><![CDATA[http://www.seditio.by/page.php?id=113]]></link>
</item>
</channel>
</rss>