<?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/"
xmlns:series="http://unfoldingneurons.com/"
> <channel><title>jlcarneiro.com &#187; webdesign</title> <atom:link href="http://www.jlcarneiro.com/tag/webdesign/feed/" rel="self" type="application/rss+xml" /><link>http://www.jlcarneiro.com</link> <description>Porque agora todo mundo é &#34;pontocom&#34;</description> <lastBuildDate>Wed, 08 Feb 2012 13:11:48 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Parada para manutenção preventiva (2)</title><link>http://www.jlcarneiro.com/parada-para-manutencao-preventiva-2/</link> <comments>http://www.jlcarneiro.com/parada-para-manutencao-preventiva-2/#comments</comments> <pubDate>Thu, 16 Jun 2011 20:20:53 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Diversos]]></category> <category><![CDATA[avisos]]></category> <category><![CDATA[cronometro]]></category> <category><![CDATA[webdesign]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=1199</guid> <description><![CDATA[Nos últimos dias trabalhei bastante no site. O trabalho não resultou em posts porque foi &#8220;debaixo do capô&#8221;: aumento de velocidade, maior número de opções de compartilhamento, exibição do tamanho dos arquivos antes de baixá-los, exibição de miniaturas nos posts relacionados&#8230; Foram mudanças suficientes no site para atualizar sua versão de 3.1 para 3.9! A [...]]]></description> <content:encoded><![CDATA[<p>Nos últimos dias trabalhei bastante no site. O trabalho não resultou em posts porque foi &#8220;debaixo do capô&#8221;: aumento de velocidade, maior número de opções de compartilhamento, exibição do tamanho dos arquivos antes de baixá-los, exibição de miniaturas nos <a
href="#related-posts" class="liinternal">posts relacionados</a>&#8230;</p><p>Foram mudanças suficientes no site para atualizar sua versão de 3.1 para 3.9! A versão 4.0 virá quando eu limpar o código e fizer as alterações necessárias (para ver as versões anteriores, conheça um pouco mais <a
href="http://www.jlcarneiro.com/about/" class="liinternal">sobre este site</a>).</p><p>Agora, vou fazer uma nova parada para descanso e deixarei o site no &#8220;piloto automático&#8221;. Portanto, a aprovação dos novos comentários dependerá da facilidade com que eu terei acesso a um computador.</p><p>Antes, porém, proponho uma reflexão sobre o texto de Jair Cunha, no meu último post: <a
href="http://www.jlcarneiro.com/arde-porque-limpa/" title="Arde porque limpa!" class="liinternal">Arde porque limpa!</a>.<br
/><div
id="attachment_998" class="wp-caption aligncenter" style="width: 410px"><img
src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/smpte_color_bars.gif" alt="smpte_color_bars.gif" title="Estamos fazendo manutenção em nosso redator..." width="400" height="300" class="size-full wp-image-998" /><br
/> <small>Agora, de volta à programação normal</small><p
class="wp-caption-text"></p></div></p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/parada-para-manutencao-preventiva-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Proteja seu endereço de e-mail</title><link>http://www.jlcarneiro.com/proteja-seu-endereco-de-e-mail/</link> <comments>http://www.jlcarneiro.com/proteja-seu-endereco-de-e-mail/#comments</comments> <pubDate>Mon, 16 Aug 2010 00:18:01 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[código]]></category> <category><![CDATA[e-mails]]></category> <category><![CDATA[internet]]></category> <category><![CDATA[segurança]]></category> <category><![CDATA[spam]]></category> <category><![CDATA[webdesign]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=1087</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/jokes/antispam-thumbnail.jpg" class="attachment-thumbnail wp-post-image" alt="antispam.jpg" title="O spam! O spam!" /></p>Não é impressão sua a sensação de que a maior parte dos e-mails é lixo. Segundo o último relatório da Symantec, 91,89% de todos os e-mails no mundo são spam. Não, você não leu errado! Quase todos os e-mails que circulam na internet são spam (pelo menos por enquanto)! E, segundo as estatísticas, o Brasil [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/jokes/antispam-thumbnail.jpg" class="attachment-thumbnail wp-post-image" alt="antispam.jpg" title="O spam! O spam!" /></p><p>Não é impressão sua a sensação de que a maior parte dos e-mails é lixo. Segundo o <a
href="http://go.symantec.com/spam_report" class="liexternal">último relatório da Symantec</a>, 91,89% de todos os e-mails no mundo são <a
href="http://www.antispam.br/conceito/" class="liexternal">spam</a>.</p><p>Não, você não leu errado! Quase todos os e-mails que circulam na internet são spam (<a
href="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/jokes/geek_poke_spam100.gif" rel="thumbnail" class="liinternal">pelo menos por enquanto</a>)! E, segundo as estatísticas, o Brasil é um dos campeões na área.</p><p>O relatório não explica porque, mas <em>creio</em> que uma das razões seja a falta de cuidado dos brasileiros. No Brasil, abundam apresentações em powerpoint, na maioria das vezes, mensagens de auto-ajuda ou boatos infundados, invariavelmente terminadas com um apelo para encaminhar a todos os contatos da lista.</p><p>Ao receber uma dessas mensagens, o spammer passa a contar com uma lista <em>novinha</em> de vítimas porque a maioria dos internautas brasileiros não costuma <a
href="http://www.jlcarneiro.com/os-dez-mandamentos-do-e-mail/" class="liinternal">zelar pela privacidade do próximo</a>:</p><ul><li>usando o campo de cópia oculta; e</li><li>removendo os endereços de destinatários anteriores do corpo da mensagem ao enviá-la.</li></ul><p><span
id="more-1087"></span>Duas das principais <a
href="http://www.antispam.br/prevencao/preservar-email/" class="liexternal">medidas preventivas</a> são:</p><ul><li>não divulgar seus e-mails a qualquer um ou a qualquer site; e</li><li>evitar o formato comumente utilizado (<code>fulano@dominio.com.br</code>), ao escrever o endereço de e-mail em páginas pessoais ou no corpo de comentários.</li></ul><p>Mesmo assim, aqui no jlcarneiro.com, em <a
href="http://www.jlcarneiro.com/search/?cx=partner-pub-9659890723873039%3A2n2lmj-5140&amp;cof=FORID%3A9&amp;ie=UTF-8&amp;q=" class="liinternal">diversas ocasiões</a>, precisei editar comentários para proteger <a
href="http://www.jlcarneiro.com/a-teoria-do-fundo-preto/#comment-817" class="liinternal">comentaristas incautos</a> que informaram seus e-mails para receber ajuda. Protegi a privacidade deles mas, infelizmente, posso ter atrapalhado seus apelos&#8230;</p><p>Para evitar isso, acabo de instalar uma rotina em javascript que transforma endereços de e-mail no formato textual (<code>fulano arroba dominio ponto com ponto br</code>) no formato tradicional (<code>fulano@dominio.com.br</code>). Caso os navegadores estejam com o javascript desabilitado, o e-mail ainda será exibido no formato textual, permitindo sua exibição mas sem facilitar a vida dos spammers.</p><p>A rotina baseia-se em um <a
href="http://www.html-advisor.com/javascript/hide-email-with-javascript-jquery/">post do HTML-Advisor</a> e, para aqueles interessados em implementá-la em seus sites, segue o código comentado:</p><div
class="wp_syntax"><div
class="code"><pre class="javascript" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #006600; font-style: italic;">// expressoes regulares para busca por TODAS as ocorrencias de 'arroba' e 'ponto'</span>
<span style="color: #003366; font-weight: bold;">var</span> at <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/ arroba /g</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> dot <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/ ponto /g</span><span style="color: #339933;">;</span>
<span style="color: #006600; font-style: italic;">// percorre todas as tags SPAN</span>
<span style="color: #003366; font-weight: bold;">var</span> spans <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;span&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> hm <span style="color: #339933;">=</span> spans.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>c <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> c <span style="color: #339933;">&lt;</span> hm<span style="color: #339933;">;</span> c<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #006600; font-style: italic;">// altera apenas aquelas da classe 'email'</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>spans<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">className</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'email'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		newcnt <span style="color: #339933;">=</span> spans<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">innerHTML</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>at<span style="color: #339933;">,</span> <span style="color: #3366CC;">'@'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		newcnt <span style="color: #339933;">=</span> newcnt.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span>dot<span style="color: #339933;">,</span> <span style="color: #3366CC;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		spans<span style="color: #009900;">&#91;</span>c<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;a href=&quot;mailto:'</span> <span style="color: #339933;">+</span> newcnt <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&quot;&gt;'</span> <span style="color: #339933;">+</span> newcnt <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&lt;/a&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Assim como o <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/" class="liinternal">post anterior</a>, este também foi um pouco mais técnico. Entretanto, penso que as reflexões sobre spam e divulgação de endereços de e-email são interessantes para todos.</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/proteja-seu-endereco-de-e-mail/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Blogroll por ordem de atualização (3)</title><link>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/</link> <comments>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/#comments</comments> <pubDate>Mon, 09 Aug 2010 16:20:58 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[bookmarks]]></category> <category><![CDATA[código]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=1084</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Outro dia, um amigo meu perguntou por que alguns posts tinham um caráter tão técnico. Peço desculpas, é porque um dos objetivos iniciais deste site é armazenar macetes e dicas para mim mesmo: distribuir material de apoio para meus alunos; ajudar aqueles que não têm muita prática com informática com dicas; manter, num local de [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Outro dia, um amigo meu perguntou por que alguns posts tinham um caráter tão técnico. Peço desculpas, é porque um dos <a
href="http://www.jlcarneiro.com/about/" class="liinternal">objetivos iniciais deste site</a> é armazenar macetes e dicas para mim mesmo:</p><blockquote><ul><li>distribuir material de apoio para meus alunos;</li><li>ajudar aqueles que não têm muita prática com informática com dicas;</li><li>manter, num local de fácil acesso, pequenos macetes, dicas e endereços;</li><li>guardar textos, mensagens, reportagens e notícias interessantes; e</li><li>expressar minha opinião sobre algum assunto interessante.</li></ul></blockquote><p>Portanto, aviso que este post interessa mais àqueles que gostam de programação. Aqueles que o lerem e não compreenderem, não se preocupem: <em>é apenas um registro pessoal para futuras consultas e não contém nenhuma informação de uso geral</em>. <img
src='http://www.jlcarneiro.com/wp-includes/images/smilies/Winking.png' alt=':wink:' class='wp-smiley' /></p><p><span
id="more-1084"></span>Em 2008, escrevi um <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/" class="liinternal">script que atualiza o campo de data dos links</a>, para contornar o já conhecido problema com a exibição do blogroll por ordem de atualização no WordPress.</p><p>Recentemente, verifiquei que os script havia parado de funcionar. Como parece que as versões recentes do WordPress não têm mais a variável <code>use_linksupdate</code>, aproveitei para adaptar o código às diferentes versões e formatos de feed, que armazenam a data em campos distintos:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span>ABSPATH<span style="color: #339933;">.</span><span style="color: #0000ff;">'wp-config.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span>ABSPATH<span style="color: #339933;">.</span><span style="color: #0000ff;">'wp-includes/class-snoopy.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span>ABSPATH<span style="color: #339933;">.</span><span style="color: #0000ff;">'wp-includes/rss.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$link_rsses</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>get_col<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT link_rss FROM <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;links WHERE link_rss &amp;lt;&amp;gt; ''&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$link_rsses</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$link_rsses</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$rssurl</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$feed</span> <span style="color: #339933;">=</span> fetch_rss<span style="color: #009900;">&#40;</span><span style="color: #000088;">$rssurl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$pubdate</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$feed</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>channel<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Netscape RSS 0.91</span>
			<span style="color: #000088;">$lastbuilddate</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$feed</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>channel<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'lastbuilddate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Netscape RSS 0.91</span>
			<span style="color: #000088;">$updated</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$feed</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>channel<span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'updated'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Atom 1.0</span>
			<span style="color: #000088;">$items</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_slice</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$feed</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>items<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$items</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$item_pubdate</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pubdate'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// RSS 2.0</span>
				<span style="color: #000088;">$item_dcdate</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'date'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// RSS 2.0 Dublin Core</span>
				<span style="color: #000088;">$item_updated</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$item</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'updated'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Atom 1.0</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$last_update</span> <span style="color: #339933;">=</span> <span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pubdate</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lastbuilddate</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$updated</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item_pubdate</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item_dcdate</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">strtotime</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$item_updated</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>query<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE <span style="color: #006699; font-weight: bold;">$wpdb</span>-&amp;gt;links SET link_updated = FROM_UNIXTIME(<span style="color: #006699; font-weight: bold;">$last_update</span>) WHERE link_rss = '<span style="color: #006699; font-weight: bold;">$rssurl</span>'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> <item><title>Atualizado para WordPress 3.0</title><link>http://www.jlcarneiro.com/atualizado-para-wordpress-3-0/</link> <comments>http://www.jlcarneiro.com/atualizado-para-wordpress-3-0/#comments</comments> <pubDate>Sat, 03 Jul 2010 04:54:35 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[dicas]]></category> <category><![CDATA[internet]]></category> <category><![CDATA[monetização]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=1059</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Pronto! Agora que a Copa do Mundo 2010 acabou (pelo menos para a Seleção Brasileira), voltemos à programação normal&#8230; No último dia 17, foi lançado o WordPress 3.0 (Thelonious Monk), com várias novidades. Foi muito festejada a possibilidade de manter vários blogs em uma única instalação WordPress, e é realmente um grande avanço. Mas, como [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Pronto! Agora que a Copa do Mundo 2010 acabou (pelo menos para a Seleção Brasileira), voltemos à programação normal&#8230;</p><p>No último dia 17, foi lançado o <a
href="http://wordpress.org/development/2010/06/thelonious/" class="liexternal">WordPress 3.0</a> (Thelonious Monk), com várias novidades. Foi muito festejada a possibilidade de manter vários blogs em uma única instalação WordPress, e é realmente um grande avanço. Mas, como já tenho pouco tempo para manter <em>este</em> site, interessei-me mais pelas outras mudanças.</p><p><span
id="more-1059"></span>A maior delas, é o novo sistema de taxonomia, que permite múltiplos critérios de classificação de posts. É uma mudança profunda, implicando não apenas adaptações no código, mas na <em>organização</em> dos posts.</p><p>Encontrei um <a
href="http://net.tutsplus.com/tutorials/wordpress/introducing-wordpress-3-custom-taxonomies/" class="liexternal">ótimo tutorial</a> (em inglês) sobre o assunto no <a
href="http://net.tutsplus.com/" class="liexternal">Nettuts+</a>. Para ter uma idéia da tentadora  flexibilidade, vamos imaginar um blog com análises de notebooks:</p><ul><li>até o <a
href="http://codex.wordpress.org/Version_2.2" class="liexternal">WordPress 2.2,</a> uma análise teria que ser classificada simultaneamente em várias categorias: uma para o sistema operacional, outra para a capacidade de memória, outra para o processador, e assim por diante;</li><li>no <a
href="http://codex.wordpress.org/Version_2.3" class="liexternal">WordPress 2.3</a>, surgiram os marcadores, permitindo um menor número de categorias amplas, como &#8220;Netbooks&#8221; e &#8220;Notebooks&#8221;, com uma classificação mais específica por meio de palavras-chave, como &#8220;webcam&#8221;, &#8220;jogos&#8221;, &#8220;3G&#8221; ou &#8220;teclado ABNT2&#8243;; já</li><li>a nova taxonomia, introduzida no <a
href="http://codex.wordpress.org/Version_2.8" class="liexternal">WordPress 2.8</a>, e agora consolidada no <a
href="http://codex.wordpress.org/Version_3.0" class="liexternal">WordPress 3.0</a>, permite eliminar o conceito de categorias, adotando um esquema de critérios simultâneos, muito comum nos sites de comércio eletrônico. Nesse sistema, um equipamento poderia, do ponto de vista da memória, ter &#8220;Mais de 4GiB&#8221;, considerando o disco rígido, ter &#8220;Entre 160GiB e 250GiB&#8221; e usar o sistema operacional &#8220;Ubuntu Linux&#8221;. Isso tudo sem esquecer os marcadores específicos como &#8220;webcam&#8221;, &#8220;jogos&#8221;, &#8220;3G&#8221; e &#8220;teclado ABNT2&#8243;, já citados.</li></ul><p>Associando à nova taxonomia os também novos tipos personalizados de posts que, no exemplo acima, incluiriam, por exemplo, &#8220;Análises&#8221;, &#8220;Comparativos&#8221; e &#8220;Lançamentos&#8221;, o WordPress transforma-se em um Sistema de Gerenciamento de Conteúdo (<em>Content Management System</em> &#8211; CMS) quase completo.</p><p>Minha costumeira falta de tempo me impede de implantar isso no <a
href="../" class="liinternal">jlcarneiro.com</a> (pelo menos por enquanto). Mas, para não ficar para trás, implantei algumas novas funcionalidades (listadas com os links para referências futuras):</p><ol><li>barra de navegação sensível ao contexto (variando de acordo com o  conteúdo  exibido no momento);</li><li>uso de anexos nas mensagens enviadas meio do <a
href="http://www.jlcarneiro.com/contact/" class="liinternal">Formulário de Contato</a>;</li><li>associação da URL do blog ao sistema <a
href="http://www.ferramentasblog.com/2009/08/o-que-e-openid-e-como-usar.html" class="liexternal">OpenID</a> (segui o <a
href="http://blogpond.com.au/2007/12/04/how-to-get-an-openid-and-link-it-to-your-blog-url/" class="liexternal">tutorial do Dipping into the Blogpond</a>);</li><li>tradução (via Google Translate™) na <a
href="#text-9" class="liinternal">barra de navegação</a>, à esquerda;</li><li>integrei a busca do Google ao site (na <a
href="#text-2" class="liinternal">barra de navegação</a>, ou <a
href="javascript: installSearchEngine();">diretamente no navegador</a>, graças a uma <a
href="http://blog.unto.net/opensearch/add-opensearch-to-your-site-in-five-minutes/" class="liexternal">dica de DeWitt Clinton</a>);</li><li>alguns ajustes na indexação do site e na colocação de anúncios (para voltar a ter o <a
href="http://www.mestreseo.com.br/pagerank/o-que-e-pagerank" class="liexternal">PageRank</a> 3);</li><li>por meio de um <a
href="http://millionclues.com/problogging/wordpress-tips/make-your-theme-wordpress-3-0-compatible/" class="liexternal">tutorial do Million Clues</a>, menus de navegação em dois níveis e alteração da imagem de cabeçalho e da decoração de fundo (cores ou imagens), usando apenas o mouse; e</li><li>um pequeno aumento na velocidade de carregamento das  páginas (ver <a
href="#comment-1878" class="liinternal">meu comentário</a>, abaixo).</li></ol><p>Algumas mudanças (como o menu em dois níveis e a busca direto do navegador) estão disponíveis apenas nos navegadores mais modernos. Inclusive, usuários do Internet Explorer 6 <a
href="http://www.jlcarneiro.com/aurora-ou-crepusculo-do-ie6/" class="liinternal">há algum tempo</a> vêm sendo aconselhados a <a
href="http://www.updateyourbrowser.net/pt/" class="liexternal">atualizar o seu navegador</a>.</p><p>A iniciativa parece estar surtindo efeito: hoje, o IE6 é usado por apenas 17% dos meus leitores/visitantes. Antes, era usado por 97%!</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/atualizado-para-wordpress-3-0/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Parada para manutenção preventiva</title><link>http://www.jlcarneiro.com/parada-para-manutencao-preventiva/</link> <comments>http://www.jlcarneiro.com/parada-para-manutencao-preventiva/#comments</comments> <pubDate>Sat, 08 May 2010 02:55:51 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Diversos]]></category> <category><![CDATA[avisos]]></category> <category><![CDATA[cronometro]]></category> <category><![CDATA[mestrado]]></category> <category><![CDATA[TCC]]></category> <category><![CDATA[webdesign]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=1005</guid> <description><![CDATA[Vários compromissos inadiáveis, como uma reforma em casa e a conclusão do meu mestrado, têm interferido na manutenção do site. Como esse volume de compromissos, além de prejudicar o site, também tem afetado minha vida pessoal e profissional, farei uma parada para descanso, deixando o site no &#8220;piloto automático&#8221;. O que isto significa? Com relação [...]]]></description> <content:encoded><![CDATA[<p>Vários compromissos inadiáveis, como uma <a
href="http://www.jlcarneiro.com/casa-nova-2/" class="liinternal">reforma em casa</a> e a <a
href="http://www.jlcarneiro.com/quase-la-quase-la/" class="liinternal">conclusão do meu mestrado</a>, têm interferido na manutenção do site. Como esse volume de compromissos, além de prejudicar o site, também tem afetado minha vida pessoal e profissional, farei uma parada para descanso, deixando o site no &#8220;piloto automático&#8221;.</p><p>O que isto significa?</p><p>Com relação ao conteúdo, nenhuma mudança. Apenas a aprovação dos novos comentários dependerá da facilidade com que eu terei acesso a um computador (o que significa que terei <em>uma pilha</em> de mensagens e comentários para responder quando voltar)&#8230;</p><div
id="attachment_998" class="wp-caption aligncenter" style="width: 410px"><strong>Sistema em manutenção preventiva</strong><img
src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/smpte_color_bars.gif" alt="smpte_color_bars.gif" width="400" height="300" class="size-full wp-image-998" /><br
/> <small>Agora, de volta à programação normal</small><p
class="wp-caption-text"></p></div> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/parada-para-manutencao-preventiva/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Como contar os marcadores dos posts</title><link>http://www.jlcarneiro.com/como-contar-os-marcadores-dos-posts/</link> <comments>http://www.jlcarneiro.com/como-contar-os-marcadores-dos-posts/#comments</comments> <pubDate>Tue, 09 Mar 2010 04:45:53 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[código]]></category> <category><![CDATA[dicas]]></category> <category><![CDATA[SQL]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=963</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Encontrei dois textos interessantes sobre marcadores de blogs (no Blog for Profit e no Jasor Better). Segundo eles, os marcadores funcionam como palavras-chave, ligando até mesmo posts de diferentes categorias de forma intuitiva. Por outro lado, em excesso, os marcadores podem confundir o leitor, tornando-se prejudiciais. Sendo assim, decidi verificar quantos marcadores meus posts têm. [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Encontrei dois textos interessantes sobre marcadores de blogs (no <a
href="http://blogforprofit.com/tags/using-blog-tags-to-benefit-your-readers-and-your-seo/" class="liexternal">Blog for Profit</a> e no <a
href="http://www.jasonbetter.com/nerve-center/how-to-use-wordpress-tags-properly/" class="liexternal">Jasor Better</a>). Segundo eles, os marcadores funcionam como palavras-chave, ligando até mesmo posts de diferentes categorias de forma intuitiva.</p><p>Por outro lado, em excesso, os marcadores podem confundir o leitor, tornando-se prejudiciais. Sendo assim, decidi verificar quantos marcadores meus posts têm.</p><p>Pesquisei na internet, mas não encontrei nenhuma solução para esse problema. Então, usando a <a
href="http://codex.wordpress.org/Database_Description" class="liexternal">documentação do WordPress</a> e contando com a ajuda de uma colega de trabalho <em>(obrigado, Luciana!)</em>, cheguei ao comando abaixo:</p><div
class="wp_syntax"><div
class="code"><pre class="sql" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> post_title<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span>db_term_relationships<span style="color: #66cc66;">.</span>object_id<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> num_tags <span style="color: #993333; font-weight: bold;">FROM</span> db_term_relationships
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> db_posts <span style="color: #993333; font-weight: bold;">ON</span> id <span style="color: #66cc66;">=</span> object_id
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> db_term_taxonomy <span style="color: #993333; font-weight: bold;">ON</span> db_term_relationships<span style="color: #66cc66;">.</span>term_taxonomy_id <span style="color: #66cc66;">=</span> db_term_taxonomy<span style="color: #66cc66;">.</span>term_taxonomy_id
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> db_terms <span style="color: #993333; font-weight: bold;">ON</span> db_terms<span style="color: #66cc66;">.</span>term_id <span style="color: #66cc66;">=</span> db_term_taxonomy<span style="color: #66cc66;">.</span>term_id
<span style="color: #993333; font-weight: bold;">WHERE</span> db_term_taxonomy<span style="color: #66cc66;">.</span>taxonomy <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;post_tag&quot;</span>
<span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> db_term_relationships<span style="color: #66cc66;">.</span>object_id
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> num_tags <span style="color: #993333; font-weight: bold;">DESC</span></pre></div></div><p>Por outro lado, se o interesse for apenas uma lista com os marcadores mais usados, pode-se usar o comando abaixo:</p><div
class="wp_syntax"><div
class="code"><pre class="sql" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> db_terms<span style="color: #66cc66;">.</span>name<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span>db_term_relationships<span style="color: #66cc66;">.</span>object_id<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> qtd <span style="color: #993333; font-weight: bold;">FROM</span> db_term_relationships
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> db_term_taxonomy <span style="color: #993333; font-weight: bold;">ON</span> db_term_relationships<span style="color: #66cc66;">.</span>term_taxonomy_id <span style="color: #66cc66;">=</span> db_term_taxonomy<span style="color: #66cc66;">.</span>term_taxonomy_id
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> db_terms <span style="color: #993333; font-weight: bold;">ON</span> db_terms<span style="color: #66cc66;">.</span>term_id <span style="color: #66cc66;">=</span> db_term_taxonomy<span style="color: #66cc66;">.</span>term_id
<span style="color: #993333; font-weight: bold;">WHERE</span> db_term_taxonomy<span style="color: #66cc66;">.</span>taxonomy <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;post_tag&quot;</span>
<span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> db_terms<span style="color: #66cc66;">.</span>term_id
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> qtd <span style="color: #993333; font-weight: bold;">ASC</span></pre></div></div><p>Fica como lembrete para mim e sugestão para outros que tenham a mesma dúvida&#8230;</p><p><small><strong>Atualização:</strong> Acrescentado o comando SQL para exibir a lista dos marcadores mais usados.</small></p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/como-contar-os-marcadores-dos-posts/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> <item><title>Sufixo de imagens no WordPress</title><link>http://www.jlcarneiro.com/sufixo-de-imagens-no-wordpress/</link> <comments>http://www.jlcarneiro.com/sufixo-de-imagens-no-wordpress/#comments</comments> <pubDate>Sat, 20 Feb 2010 04:06:42 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[código]]></category> <category><![CDATA[dicas]]></category> <category><![CDATA[internet]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=954</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Gostei muito das últimas atualizações do WordPress porque adicionaram funcionalidades que eu obtinha apenas por meio de plugins. O gerenciamento de imagens, por exemplo, faço agora pela Biblioteca de Mídia. O sistema oferece ferramentas básicas de edição de figuras, galerias automáticas e a geração automática de miniaturas de figuras com grandes dimensões. As miniaturas são [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Gostei muito das últimas atualizações do WordPress porque adicionaram funcionalidades que eu obtinha apenas por meio de plugins. O gerenciamento de imagens, por exemplo, faço agora pela Biblioteca de Mídia. O sistema oferece ferramentas básicas de edição de figuras, galerias automáticas e a geração automática de miniaturas de figuras com grandes dimensões.</p><p>As miniaturas são sinalizadas por meio de sufixos acrescentados aos seus nomes. Contudo, os sufixos são criados a partir das dimensões (largura x altura) das miniaturas, dificultando uma identificação rápida e eventuais alterações futuras.</p><p><span
id="more-954"></span>As miniaturas deveriam ser nomeadas, de acordo com seu tamanho, com sufixos padronizados como &#8220;large&#8221;, &#8220;medium&#8221; e &#8220;thumbnail&#8221;. Ou, idealmente, com sufixos definidos pelo usuário. Infelizmente, devido à forma como essa rotina foi implementada, até o momento não há plugins para este fim.</p><p>Encontrei <del>uma gambiarra</del> um paliativo, <a
href="http://jstnryan.com/custom-image-suffixes-in-wordpress/" class="liexternal">proposto por Jstn Ryan</a>, que estou usando no momento:</p><ol><li>procurar, no arquivo <code>/wp-includes/media.php</code>, pela definição da variável <code>$suffix</code>:<div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$suffix</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #000088;">$suffix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$dst_w}</span>x<span style="color: #006699; font-weight: bold;">{$dst_h}</span>&quot;</span><span style="color: #339933;">;</span></pre></div></div></li><li>substituí-la pelo código abaixo:<div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$suffix</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$max_w</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span>get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'large_size_w'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
			<span style="color: #000088;">$suffix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'large'</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span>get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'medium_size_w'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
			<span style="color: #000088;">$suffix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'medium'</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span>get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'thumbnail_size_w'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span>
			<span style="color: #000088;">$suffix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'thumbnail'</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
			<span style="color: #000088;">$suffix</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'other'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div></li></ol><p>Está funcionando muito bem. Mas como envolve a edição de um arquivo do WordPress, precisa ser refeito a cada atualização de versão. Nem tudo é perfeito&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/sufixo-de-imagens-no-wordpress/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> <item><title>Então, a barra lateral ficará à esquerda</title><link>http://www.jlcarneiro.com/entao-a-barra-lateral-ficara-a-esquerda/</link> <comments>http://www.jlcarneiro.com/entao-a-barra-lateral-ficara-a-esquerda/#comments</comments> <pubDate>Sat, 05 Sep 2009 16:04:08 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Enquetes]]></category> <category><![CDATA[estatísticas]]></category> <category><![CDATA[layout]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[usabilidade]]></category> <category><![CDATA[webdesign]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=362</guid> <description><![CDATA[Há cerca de dois meses, li sobre o posicionamento da barra lateral de um blog. Alguns posts defendiam que a barra lateral deveria ficar à esquerda para ter maior destaque, outros argumentavam que o texto era o mais importante. Fiz algumas mudanças para testar, mas não consegui decidir qual tendência seguiria. Resolvi perguntar, aos leitores, [...]]]></description> <content:encoded><![CDATA[<p>Há cerca de dois meses, li sobre o posicionamento da barra lateral de um blog. Alguns posts defendiam que a barra lateral deveria ficar à esquerda para ter maior destaque, outros argumentavam que o texto era o mais importante.</p><p>Fiz algumas mudanças para testar, mas não consegui decidir qual tendência seguiria. Resolvi perguntar, aos leitores, <a
href="http://www.jlcarneiro.com/barras-laterais-devem-ficar-a-direita-ou-a-esquerda/" class="liinternal">qual o melhor local para a barra lateral</a>. A enquete durou 30 dias, de 24 de julho a 24 de agosto, oferecendo duas respostas:</p><ul><li>Lado esquerdo; e</li><li>Lado direito.</li></ul><p><span
id="more-362"></span>Das 33 respostas recebidas, 19 (57,58%) apontavam o lado esquerdo como o mais indicado.<br
/><center><img
src="http://chart.apis.google.com/chart?cht=p3&#038;chs=500x200&#038;chd=t:58,42&#038;chco=0066cc&#038;chm=N*f0*,000000,0,-1,11&#038;chl=58%|42%&#038;chtt=Qual+a+melhor+posi%C3%A7%C3%A3o+para+as+barras+laterais?&#038;chts=000000,18&#038;chdl=Esquerda|Direita" width="500" height="200" alt="gráfico_de_resultado_da_enquete" /></center></p><p>Sendo assim, a barra lateral fica à esquerda. Se quiser ter uma idéia da aparência e das vantagens de cada opção, veja o <a
href="http://www.jlcarneiro.com/barras-laterais-devem-ficar-a-direita-ou-a-esquerda/" class="liinternal">post da enquete</a>.</p><p>Uma curiosidade: o gráfico acima é resultado de meus primeiros testes com a <a
href="http://code.google.com/intl/pt-BR/apis/chart/" class="liexternal">API do Google Chart</a>. Ela é poderosa, versátil, não ocupa espaço de armazenamento e é atualizada automaticamente, tornando-se a escolha ideal para gerar os gráficos das <a
href="http://www.jlcarneiro.com/about/statistics/" class="liinternal">estatísticas</a> do site. Assim que eu tiver algum tempo, faço isso.</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/entao-a-barra-lateral-ficara-a-esquerda/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Barras laterais devem ficar à direita ou à esquerda?</title><link>http://www.jlcarneiro.com/barras-laterais-devem-ficar-a-direita-ou-a-esquerda/</link> <comments>http://www.jlcarneiro.com/barras-laterais-devem-ficar-a-direita-ou-a-esquerda/#comments</comments> <pubDate>Fri, 24 Jul 2009 03:29:11 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Enquetes]]></category> <category><![CDATA[layout]]></category> <category><![CDATA[usabilidade]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=355</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Há mais de dois anos atrás, encontrei um texto sobre como, na web, as pessoas tendem a ler em formato de &#8220;F&#8221;. Fiz alguns testes e terminei mudando a barra lateral para a esquerda. Confesso que gostei do resultado, acho mais lógica a navegação pela direita, mas algo me aconselhava a por o conteúdo no [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Há mais de dois anos atrás, encontrei um texto sobre como, na web, as <a
href="http://www.jlcarneiro.com/internautas-leem-em-forma-de-f/" class="liinternal">pessoas tendem a ler em formato de &#8220;F&#8221;</a>. Fiz alguns testes e terminei mudando a barra lateral para a esquerda. Confesso que gostei do resultado, acho mais lógica a navegação pela direita, mas algo me aconselhava a por o <em>conteúdo</em> no local de destaque.</p><p>Recentemente, encontrei dois textos questionando a localização da barra lateral no <a
href="http://www.problogdesign.com/blog-layout/should-a-sidebar-go-on-the-left-or-right/" class="liexternal">Pro Blog Design</a> e no <a
href="http://www.webmaster-source.com/2008/02/04/right-vs-left-sidebar/" class="liexternal">Webmaster-Source</a>. Apesar de um pouco datados, esses texto aconselham que barras voltadas para navegação fiquem localizadas à esquerda.</p><p>Por outro lado, o <a
href="http://blog.alexandremagno.net/" class="liexternal">Webpoint</a>, traz um texto sobre a <a
href="http://www.alexandremagno.net/blog/2009/04/14/navegacao-em-um-site-topo-esquerda-ou-direita/" class="liexternal">navegação em um site</a>. Há inclusive os resultados de testes de usabilidade realizados no site da Audi, segundo os quais, não há grande diferença em usar um lado ou outro.</p><p>E agora?</p><p><span
id="more-355"></span>Ainda não sei se farei essa alteração, mas seguem fotos representando cada uma das situações e uma enquete para colher algumas opiniões. Quem quiser explicar sua opção, fique à vontade para postar um comentário.</p><p><strong>Alguns argumentos para cada lado:</strong></p><table
border="1" cellspacing="0" cellpadding="5" align="center"><tbody><tr
align="center"><th
width="50%">Esquerda</th><th
width="50%">Direita</th></tr><tr
align="center"><td><a
href="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/site_v4.gif" title="Barra lateral à esquerda" rel="thumbnail" class="liimagelink"><img
title="Clique para ampliar" src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/site_v4-medium.gif" alt="site_v4a_screenshot" /></a></td><td><a
href="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/site_v4_alt.gif" title="Barra lateral à direita" rel="thumbnail" class="liimagelink"><img
title="Clique para ampliar" src="http://www.jlcarneiro.com/wp-content/uploads/Image/blog/screenshots/site_v4_alt-medium.gif" alt="site_v4b_screenshot" /></a></td></tr><tr
align="center"><td>Tradicional como menu de navegação</td><td>Maior enfoque no conteúdo</td></tr><tr
align="center"><td>Menos comum em blogs, &#8220;diferenciado&#8221;</td><td>Mais comum em blogs</td></tr><tr
align="center"><td>—</td><td>Maior proximidade da barra de rolagem</td></tr></tbody></table> Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/barras-laterais-devem-ficar-a-direita-ou-a-esquerda/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Atualizado para WordPress 2.8</title><link>http://www.jlcarneiro.com/atualizado-para-wordpress-2-8/</link> <comments>http://www.jlcarneiro.com/atualizado-para-wordpress-2-8/#comments</comments> <pubDate>Mon, 22 Jun 2009 00:55:38 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[código]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[monetização]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[SQL]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=347</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-upgrade-thumbnail.jpg" class="attachment-thumbnail wp-post-image" alt="wordpress-upgrade.jpg" title="Atualizando o WordPress" /></p>Fiz algumas mudanças no site nos últimos dias. Como tenho andado muito atarefado, infelizmente elas foram levadas no meu tempo vago (que tem se tornado cada vez mais raro): começaram há alguns dias e acabaram (espero!) hoje à tarde. Não sem antes me deixarem com mais alguns cabelos brancos: quem acessou o site entre as [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-upgrade-thumbnail.jpg" class="attachment-thumbnail wp-post-image" alt="wordpress-upgrade.jpg" title="Atualizando o WordPress" /></p><p>Fiz algumas mudanças no site nos últimos dias. Como tenho andado muito atarefado, infelizmente elas foram levadas no meu tempo vago (que tem se tornado cada vez mais raro): começaram há alguns dias e acabaram (espero!) hoje à tarde. Não sem antes me deixarem com <em>mais</em> alguns cabelos brancos: quem acessou o site entre as 15 e as 18 horas encontrou-o sem nenhum post, fruto de problemas para importar a cópia de segurança dos registros.</p><p>Há quase um ano, desabilitei duas funcionalidades do WordPress 2.6: o controle de revisões e o auto-salvamento de posts. Apesar de serem ótimas idéias, resultam num aumento desnecessário do banco de dados, tornando-o lento. Essa semana descobri que essas funcionalidades foram reativadas (na instalação da versão 2.7 ou 2.8, não sei ao certo) e fui corrigir o problema.</p><p><span
id="more-347"></span>Depois de instalar um <a
href="http://exper.3drecursions.com/2008/07/25/disable-revisions-and-autosave-plugin/" class="liexternal">plugin</a> que desativa essas funções de maneira mais rápida do que a edição direta de arquivos, excluí as entradas indevidas. Só depois dei-me conta que o comando que usei (<code>DELETE FROM wp_posts WHERE post_type = "revision"</code>) apagava apenas as entradas na tabela de posts e páginas, mas não as referências a elas (marcadores, categorias e séries, por exemplo). O correto seria usar <a
href="http://blog.andreineculau.com/2008/07/delete-wordpress-26-revisions/" class="liexternal">um comando mais complexo</a>, mas que fizesse o trabalho simultaneamente em todas as tabelas:</p><div
class="wp_syntax"><div
class="code"><pre class="sql" style="font-family:monospace;font-family: 'DejaVu Sans Mono', 'Courier New', monospace;"><span style="color: #993333; font-weight: bold;">DELETE</span> a<span style="color: #66cc66;">,</span>b<span style="color: #66cc66;">,</span>c
<span style="color: #993333; font-weight: bold;">FROM</span> wp_posts a
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> wp_term_relationships b <span style="color: #993333; font-weight: bold;">ON</span> <span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">.</span>ID <span style="color: #66cc66;">=</span> b<span style="color: #66cc66;">.</span>object_id<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">JOIN</span> wp_postmeta c <span style="color: #993333; font-weight: bold;">ON</span> <span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">.</span>ID <span style="color: #66cc66;">=</span> c<span style="color: #66cc66;">.</span>post_id<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">WHERE</span> a<span style="color: #66cc66;">.</span>post_type <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'revision'</span></pre></div></div><p>Ao restaurar a cópia de segurança de ontem, recebi mensagens de erro por quase duas horas enquanto via meu trabalho dos últimos anos desaparecer. Acreditem, não é uma sensação agradável&#8230;</p><p>Resolvido problema (e anotado o comando correto, para não esquecê-lo mais), aproveito para comunicar que integrei a busca do Google ao meu tema, como <a
href="http://www.pblog.com.br/2009/06/08/como-integrar-a-busca-do-google-a-um-tema-wordpress/" class="liexternal">sugerido no pBlog</a>. Perdi alguns relatórios, inclusive um com as buscas mal-sucedidas para apontar os desejos dos leitores, mas o banco de dados diminuiu consideravelmente e o site ficou mais rápido.</p><p>Aumentei também a largura dos posts: antes dispunha de cerca de 550 pixels, atrapalhando a exibição de <a
href="http://www.jlcarneiro.com/tag/charges/" class="liinternal">charges</a>, por exemplo. Reduzi também o número de <a
href="http://www.jlcarneiro.com/#widgetize-anything-6" class="liinternal">imagens na barra lateral</a> e fiz algumas alterações nos gráficos das <a
href="http://www.jlcarneiro.com/about/statistics/" class="liinternal">estatísticas</a>.</p><p>Ainda tenho alguns comentários para responder, algumas alterações para fazer na seção de <a
href="http://www.jlcarneiro.com/faq/" class="liinternal">Perguntas e Respostas</a> e reorganizar a seção de <a
href="http://www.jlcarneiro.com/bookmarks/" class="liinternal">Sites recomendados</a>. Fora uma revisão nos códigos do site para torná-lo mais leve.</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/atualizado-para-wordpress-2-8/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> <item><title>Blogroll por ordem de atualização (2)</title><link>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-2/</link> <comments>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-2/#comments</comments> <pubDate>Wed, 24 Dec 2008 04:56:31 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[bookmarks]]></category> <category><![CDATA[código]]></category> <category><![CDATA[dicas]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.jlcarneiro.com/?p=320</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Há cerca de uma semana, sugeri um script que atualizava o campo de data dos links do WordPress, tornando possível a exibição do blogroll por ordem de atualização. Porém, o Planeta Ubuntu Brasil ficava sempre em último lugar na lista, apesar de ser atualizado frequentemente. Observei então, que o feed traz as datas em português, [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Há cerca de uma semana, <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/" class="liinternal">sugeri um script</a> que atualizava o campo de data dos links do WordPress, tornando possível a exibição do blogroll por ordem de atualização.</p><p>Porém, o <a
href="http://planeta.ubuntu-br.org/" class="liexternal">Planeta Ubuntu Brasil</a> ficava sempre em último lugar na lista, apesar de ser atualizado frequentemente. Observei então, que o <a
href="http://www.jlcarneiro.com/faq/#feeds" class="liinternal">feed</a> traz as datas em português, impedindo na conversão por meio da função <code>strtotime()</code> (que espera datas em inglês).</p><p>Assim, alterei o script que sugeri aqui <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/" class="liinternal">há uma semana</a>: ele agora tenta identificar datas válidas no cabeçalho do feed e no primeiro item exibido. E, para atender casos como o do Planeta Ubuntu Brasil, procura datas tanto no formato <a
href="http://feedvalidator.org/docs/rss2.html" class="liexternal">RSS 2.0</a> quanto no formato <a
href="http://feedvalidator.org/docs/rss1.html" class="liexternal">RSS 1.0</a>.</p><p><span
id="more-320"></span><small><strong>Atualização:</strong> Veja o código atualizado em <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/" class="liinternal">Blogroll por ordem de atualização (3)</a>.</small></p><p>Para tornar o script mais independente, decidi colar o código diretamente no WP-Crontrol, ao invés de incluí-lo como uma função no arquivo <code>functions.php</code> do meu tema.</p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-2/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> <item><title>Blogroll por ordem de atualização</title><link>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/</link> <comments>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/#comments</comments> <pubDate>Thu, 18 Dec 2008 05:10:36 +0000</pubDate> <dc:creator>José Luís</dc:creator> <category><![CDATA[Tecnologia]]></category> <category><![CDATA[bookmarks]]></category> <category><![CDATA[código]]></category> <category><![CDATA[dicas]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[usabilidade]]></category> <category><![CDATA[webdesign]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://69.89.31.73/~jlcarnei/?p=200</guid> <description><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p>Atualizei o WordPress para a versão 2.7 (codinome Coltrane), que trouxe várias vantagens, como a possibilidade de reduzir o número de plugins ativos, já que comentários aninhados, personalização do painel administrativo e atualização de plugins (e do próprio WordPress) agora são nativos. Recomendo! A implementação de comentários aninhados exigiu alterações na aparência do site. Então, [...]]]></description> <content:encoded><![CDATA[<p><img
width="100" height="100" src="http://www.jlcarneiro.com/wp-content/uploads/Image/galleries/wordpress-thumbnail.png" class="attachment-thumbnail wp-post-image" alt="wordpress.png" title="WordPress - plataforma de publicação pessoal semântica" /></p><p>Atualizei o <span
id="high_1" class="searchterm1">WordPress</span> para a versão 2.7 (<a
href="http://br.wordpress.org/2008/12/11/traducao-do-post-de-lancamento-do-27/" class="liexternal">codinome Coltrane</a>), que trouxe <em>várias</em> vantagens, como a possibilidade de reduzir o número de plugins ativos, já que comentários aninhados, personalização do painel administrativo e atualização de plugins (e do próprio WordPress) agora são nativos. Recomendo!</p><p>A implementação de comentários aninhados exigiu alterações na aparência do site. Então, aproveitei para fazer algumas pequenas mudanças:</p><ol><li>implementei o envio de anexos no formulário de contatos (ainda em testes);</li><li>o campo atual nos formulários agora recebe cores diferentes para maior destaque (exceto no internet Explorer&#8230;); e</li><li>a <a
href="http://www.jlcarneiro.com/macas-ideias-e-conhecimento/#comment-1290" class="liinternal">pedidos</a>, alterei a seção <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/#widgetize-anything-5" class="liinternal">Sites recomendados</a> (<em>blogroll</em>), classificando os sites por ordem decrescente de atualização.</li></ol><p><span
id="more-200"></span>A exibição de sites recomendados por ordem de atualização, usando o parâmetro <code>orderby=updated</code>, é um problema antigo no WordPress.</p><p>As atualizações deveriam ser controladas pelo <a
href="http://pingomatic.com/" class="liexternal">Ping-O-Matic</a>, dos <a
href="http://automattic.com/" class="liexternal">desenvolvedores do WordPress</a>, entretanto isso não ocorre.</p><p>Pesquisando sobre o assunto, encontrei um <a
href="http://ottodestruct.com/blog/2007/06/11/how-to-make-wordpress-blogrolls-smarter/" class="liexternal">tutorial</a> ensinando como basear controlar as atualizações pelos <a
href="http://www.jlcarneiro.com/faq/#feeds" class="liinternal">feeds RSS</a>. Fiz algumas alterações pequenas no código fonte e, usando o plugin <a
href="http://scompt.com/projects/wp-crontrol/" class="liexternal">WP-Crontrol</a>, configurei execuções periódicas.</p><p>É possível colar este código diretamente no WP-Control ou incluí-lo como uma função no arquivo <del
datetime="2008-12-24T05:05:16+00:00"><code>themes.php</code></del> <code>functions.php</code>, associando-a a um evento (<em>hook</em>) do WordPress.</p><p><small><strong>Atualização:</strong> Veja o código atualizado em <a
href="http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao-3/" class="liinternal">Blogroll por ordem de atualização (3)</a>.</small></p> ]]></content:encoded> <wfw:commentRss>http://www.jlcarneiro.com/blogroll-por-ordem-de-atualizacao/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <series:name><![CDATA[Domando o Wordpress]]></series:name> </item> </channel> </rss>
