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

<channel>
	<title>Codeline &#187; hint</title>
	<atom:link href="http://codeline.richmd.ru/tag/hint/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeline.richmd.ru</link>
	<description>Веб созидание</description>
	<lastBuildDate>Thu, 22 Apr 2010 09:01:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iperf</title>
		<link></link>
		<comments>http://codeline.richmd.ru/2009/03/iperf/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 19:17:05 +0000</pubDate>
		<dc:creator>Павел Антонов</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[how-to]]></category>

		<guid isPermaLink="false">http://codeline.richmd.ru/?p=56</guid>
		<description><![CDATA[Анализ качества соединения.
Нужно знать каждому: http://ru.wikipedia.org/wiki/Iperf
Замечательно применяется для измерения качества wi-fi: http://takeworld.blogspot.com/2009/03/wi-fi.html
]]></description>
			<content:encoded><![CDATA[<p>Анализ качества соединения.<br />
Нужно знать каждому: <a href="http://ru.wikipedia.org/wiki/Iperf">http://ru.wikipedia.org/wiki/Iperf</a></p>
<p>Замечательно применяется для измерения качества wi-fi: <a href="http://takeworld.blogspot.com/2009/03/wi-fi.html">http://takeworld.blogspot.com/2009/03/wi-fi.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeline.richmd.ru/2009/03/iperf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Генерация PNG с Alpha-каналом в TYPO3</title>
		<link></link>
		<comments>http://codeline.richmd.ru/2008/09/%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-png-%d1%81-alpha-%d0%ba%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%bc-%d0%b2-typo3/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 08:40:41 +0000</pubDate>
		<dc:creator>Павел Антонов</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://codeline.richmd.ru/?p=47</guid>
		<description><![CDATA[Одно из самых замечательных возможностей PNG-изображений конечно же Alpha-канал. Несмотря на то, что ImageMagick поддерживает PNG со всеми возможными функциями, TYPO3 при сохранении изображений не позволяет задать маску alpha-канала. При наложении изображений, комбинировании и т.д. PNG alpha-канал работает без проблем (при соответствующей настройке), но вот заставить результирующий файл содержать alpha-канал не так просто.

Хотя TYPO3 и [...]]]></description>
			<content:encoded><![CDATA[<p>Одно из самых замечательных возможностей PNG-изображений конечно же <a href="http://en.wikipedia.org/wiki/Alpha-channel">Alpha-канал</a>. Несмотря на то, что ImageMagick поддерживает PNG со всеми возможными функциями, TYPO3 при сохранении изображений не позволяет задать маску alpha-канала. При наложении изображений, комбинировании и т.д. PNG alpha-канал работает без проблем (<a href="http://codeline.richmd.ru/?p=11">при соответствующей настройке</a>), но вот заставить результирующий файл содержать alpha-канал не так просто.<br />
<span id="more-47"></span><br />
Хотя TYPO3 и не дает напрямую задать alpha-канал для генерируемого изображения, есть возможность передавать параметры в <a href="http://en.wikipedia.org/wiki/Imagemagick">ImageMagick</a>, используемый TYPO3 для генерации графики в системе (на ряду с GD). Задав нужные параметры и можно достичь необходимого результата.</p>
<p>Для генерации PNG мы будем использовать параметры ImageMagick: <strong>-background white -channel A -combine</strong>. Данная комбинация параметров означает слудующее:</p>
<ol>
<li>Создать изображение с белым фоном</li>
<li>Назначит для последующих операций работу с альфа-каналом</li>
<li>Комбинировать созданное изображение с исходным изображением. С учетом ограничения работы только над альфа-каналом &#8211; исходное изображение копируется в альфа-канал созданного изображения</li>
</ol>
<p>Прежде всего необходимо подготовить маску для alpha-канала. Маска должна быть черно белая. Черный цвет обозначает 100% прозрачность итогового изображения. Серый цвет &#8211; частичную<br />
прозрачность:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="txt" style="font-family:monospace;">  10 =  = IMG_RESOURCE
  10 {              
    file = GIFBUILDER
    file {
      XY = [20.w]+5,[20.h]+5
      format = png
      quality = 100
      backColor = #ffffff
&nbsp;
      20 = TEXT
      20 {
        text.field = title
        text.case = upper
        fontSize = 11
        fontColor = #000000
        fontFile = fileadmin/fonts/tahomabd.ttf
        offset = 1,9            
        niceText = 1
        niceText.scaleFactor = 5
      }
    }
  }</pre></td></tr></table></div>

<p>Теперь созданную маску можно применять для создания PNG. Для того что бы получить имя файла соданного изображения-маски, нужно обратиться в внутренней переменной <strong>TSFE: lastImgResourceInfo</strong>. Переменная представляет собой массив с информацией о последнем сгенерированном изображении функцией IMG_RESOURCE. Если для генерации использовалась функция IMAGE, то аналогичная информация будет размещаться в переменной <strong>TSFE:lastImageInfo</strong>. Поскольку я использую PNG для задания фона, то меня интересуют в этом массиве так же и размеры маски, что бы задать правильные размеры блоку для которого будет определяться фон.</p>
<p>Налоджение маски альфа-канала (продолжение предыдущего листинга):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="txt" style="font-family:monospace;">        stdWrap.override.cObject = COA
        stdWrap.override.cObject {
&nbsp;
          10 = TEXT
          10.data = TSFE:lastImgResourceInfo|0
          10.noTrimWrap= |style=&quot;width:|px;|
&nbsp;
          20 = IMG_RESOURCE
          20 {          
            file.import.data = TSFE:lastImgResourceInfo|3
            file.params = -background white -channel A -combine    
            stdWrap.noTrimWrap = |background-image:url(|);&quot;|
          }
        }</pre></td></tr></table></div>

<p>И финальный рабочий код меню с PNG:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
</pre></td><td class="code"><pre class="txt" style="font-family:monospace;">    10 = HMENU
    10 {
      wrap = &lt;ul id=&quot;menu-main&quot;&gt;|&lt;/ul&gt;
      1 = TMENU
&nbsp;
      1.NO.allWrap = &lt;li class=&quot;first&quot;&gt;| |*|&lt;li&gt;|
      1.NO.wrapItemAndSub = |&lt;/li&gt;
&nbsp;
&nbsp;
      1.NO.ATagParams.cObject = IMG_RESOURCE
      1.NO.ATagParams.cObject {              
        # Generate mask with text
        file = GIFBUILDER
        file {
          XY = [20.w]+5,[20.h]+5
          format = png
          quality = 100
          backColor = #ffffff
&nbsp;
          20 = TEXT
          20 {
            text.field = title
            text.case = upper
            fontSize = 11
            fontColor = #000000
            fontFile = fileadmin/fonts/tahomabd.ttf
            offset = 1,9            
            niceText = 1 
            niceText.scaleFactor = 5
          }
        }
&nbsp;
        # Generate image with appliyed Mask to alpha chanel
        stdWrap.override.cObject = COA
        stdWrap.override.cObject {
&nbsp;
          10 = TEXT
          10.data = TSFE:lastImgResourceInfo|0
          10.noTrimWrap= |style=&quot;width:|px;|
&nbsp;
          15 = TEXT
          15.data = TSFE:lastImgResourceInfo|1
          15.noTrimWrap = | height:|px;|
&nbsp;
          20 = IMG_RESOURCE
          20 {          
            file.import.data = TSFE:lastImgResourceInfo|3
            file.params = -background white -channel A -combine    
            stdWrap.noTrimWrap = |background-image:url(|);&quot;|
          }
        }
      }           
    }</pre></td></tr></table></div>

<p>Несмотря на то что меню графическое, оно полностью &#8220;SEO-безопастное&#8221;, так как содержит в HTML текст пункта. Что бы текст не отображался в поверх картинки используем известный css-tric: #menu-main li a { display:block; text-indent:-9999px; }. Результат работы данного кода следующий:<br />
<a href='http://codeline.richmd.ru/wp-content/uploads/2008/09/png-alpha.png' rel='shadowbox[post-47];player=img;'><img src="http://codeline.richmd.ru/wp-content/uploads/2008/09/png-alpha-300x65.png" alt="png-alpha" title="png-alpha" width="300" height="65" class="size-medium wp-image-49" /></a></p>
<p>Конечно в данном случае рассматривается только генерация одноцветных изображений с маской (надписей). К сожалению я не очень силен в работе с ImageMagick и не знаю как можно правильно скомбинировать готовое изображение с альфа-каналом. Если кто то поможет и покажет какие параметры задаются для ImageMagick, то я смогу продемонстрировать TypoScript для генерация произвольного изображения с использованием PNG-alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeline.richmd.ru/2008/09/%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d1%8f-png-%d1%81-alpha-%d0%ba%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%bc-%d0%b2-typo3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Комфортное он-лайн редактирование TYPO3 в Firefox</title>
		<link></link>
		<comments>http://codeline.richmd.ru/2008/07/%d0%ba%d0%be%d0%bc%d1%84%d0%be%d1%80%d1%82%d0%bd%d0%be%d0%b5-%d0%be%d0%bd-%d0%bb%d0%b0%d0%b9%d0%bd-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-typo3-%d0%b2-fir/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 15:42:57 +0000</pubDate>
		<dc:creator>Павел Антонов</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://codeline.richmd.ru/?p=43</guid>
		<description><![CDATA[
Версия TYPO3 4.2 предлагает для использования новую версию TypoScript Editor.
Несомненно, такой редактор очень удобен, но к сожалению он все еще не доделан до
конца. У меня периодически перестает работать перевод строки, сбивается
подсветка&#8230; раздражает автоматическое закрытие фигурных скобок.
Поскольку для себя я принял концепцию &#8220;весь TypoScript должен лежать в
базе данных&#8221;, и возвращаться к файлам как то не хочется, [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://codeline.richmd.ru/wp-content/uploads/2008/07/ait.png' rel='shadowbox[post-43];player=img;'><img src="http://codeline.richmd.ru/wp-content/uploads/2008/07/ait-300x136.png" alt="It\&#039;s All Text!" title="It\&#039;s All Text!" width="300" height="136" class="alignright size-medium wp-image-44" /></a><br />
Версия TYPO3 4.2 предлагает для использования новую версию TypoScript Editor.<br />
Несомненно, такой редактор очень удобен, но к сожалению он все еще не доделан до<br />
конца. У меня периодически перестает работать перевод строки, сбивается<br />
подсветка&#8230; раздражает автоматическое закрытие фигурных скобок.</p>
<p>Поскольку для себя я принял концепцию &#8220;весь TypoScript должен лежать в<br />
базе данных&#8221;, и возвращаться к файлам как то не хочется, то нужно было решение<br />
для он-лайн редактирования.</p>
<p>На помощь пришло расширение для Firefox под названием &#8220;<strong>It&#8217;s All Text!</strong>&#8220;,<br />
которое позволяет открывать содержимое любой textarea в браузере в вашем<br />
любимом редакторе. </p>
<p>Скачать плагин: <a href="https://addons.mozilla.org/ru/firefox/addon/4125">https://addons.mozilla.org/ru/firefox/addon/4125</a></p>
<p>В моем случае редактором выступает VIM, который имеет и подсветку синтаксиса<br />
и autocomplete. Для того чтобы редактируемый из Firefox текст распознавался как<br />
TypoScript в конфигурацию VIM добавил строчку:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="" style="font-family:monospace;">au BufNewFile,BufRead */itsalltext/*.txt setlocal filetype=typoscript</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://codeline.richmd.ru/2008/07/%d0%ba%d0%be%d0%bc%d1%84%d0%be%d1%80%d1%82%d0%bd%d0%be%d0%b5-%d0%be%d0%bd-%d0%bb%d0%b0%d0%b9%d0%bd-%d1%80%d0%b5%d0%b4%d0%b0%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-typo3-%d0%b2-fir/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HMENU, тип special=directory и раскрывющиеся подпункты</title>
		<link></link>
		<comments>http://codeline.richmd.ru/2008/05/hmenu-%d1%82%d0%b8%d0%bf-specialdirectory-%d0%b8-%d1%80%d0%b0%d1%81%d0%ba%d1%80%d1%8b%d0%b2%d1%8e%d1%89%d0%b8%d0%b5%d1%81%d1%8f-%d0%bf%d0%be%d0%b4%d0%bf%d1%83%d0%bd%d0%ba%d1%82%d1%8b/#comments</comments>
		<pubDate>Wed, 28 May 2008 11:17:11 +0000</pubDate>
		<dc:creator>Павел Антонов</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[must know]]></category>

		<guid isPermaLink="false">http://codeline.richmd.ru/?p=26</guid>
		<description><![CDATA[Несмотря на то что в документации TYPO3 (TSref) написано:
NOTE: Don&#8217;t set .entryLevel for a HMENU when using this option! Also be aware that this selects pages for the first level in
the menu. Submenus by menuPbjects 2+ will be created as usual.

это совсем не так&#8230; даже больше чем не так&#8230; не установив правильный entryLevel, вы получите [...]]]></description>
			<content:encoded><![CDATA[<p>Несмотря на то что в документации TYPO3 (TSref) написано:</p>
<blockquote><p><strong>NOTE:</strong> Don&#8217;t set .entryLevel for a HMENU when using this option! Also be aware that this selects pages for the first level in<br />
the menu. Submenus by menuPbjects 2+ will be created as usual.
</p></blockquote>
<p>это совсем не так&#8230; даже больше чем не так&#8230; не установив правильный entryLevel, вы получите не рабочее меню.</p>
<p>Насколько я понял, entryLevel должен соответствовать <strong>корректному уровню основного дерева страниц</strong> для то, что бы меню раскрывалось&#8230; в противном случае будет только первый уровень. </p>
<p>Если установить слишком большой entryLevel, то меню вообще видно не будет.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeline.richmd.ru/2008/05/hmenu-%d1%82%d0%b8%d0%bf-specialdirectory-%d0%b8-%d1%80%d0%b0%d1%81%d0%ba%d1%80%d1%8b%d0%b2%d1%8e%d1%89%d0%b8%d0%b5%d1%81%d1%8f-%d0%bf%d0%be%d0%b4%d0%bf%d1%83%d0%bd%d0%ba%d1%82%d1%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
