<?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>Blog do Beraldo &#187; coloração</title>
	<atom:link href="http://www.rberaldo.com.br/blog/tag/coloracao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rberaldo.com.br/blog</link>
	<description>Programação, Música, Entretenimento e o que mais me vier à mente</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:30:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Como postar códigos em sites usando o SyntaxHighlighter</title>
		<link>http://www.rberaldo.com.br/blog/como-postar-codigos-em-sites-usando-o-syntaxhighlighter/</link>
		<comments>http://www.rberaldo.com.br/blog/como-postar-codigos-em-sites-usando-o-syntaxhighlighter/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 22:09:00 +0000</pubDate>
		<dc:creator>Beraldo</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[coloração]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[syntaxhighlighter]]></category>

		<guid isPermaLink="false">http://www.rberaldo.com.br/blog/2009/08/19/como-postar-codigos-em-sites-usando-o-syntaxhighlighter/</guid>
		<description><![CDATA[Um recurso muito útil para blogs sobre programação é o SyntaxHighlighter. Essa ferramenta, desenvolvida em JavaScript, cria caixas de texto para códigos-fonte de programas, com numeração de linha e coloracção (highlight) de código.]]></description>
			<content:encoded><![CDATA[<p>Um recurso muito útil para blogs e sites sobre programação é o <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter?referer=');">SyntaxHighlighter</a>. Essa ferramenta, desenvolvida em JavaScript, cria caixas de texto para códigos-fonte de programas, com numeração de linha e coloracção (<em>highlight</em>) de código.</p>
<p>O SyntaxHighlighter possui módulos para diversas linguagens, dentre elas Bash (Shell Script), C#, C, C++, CSS, Delphi, JavaScript, Java, Perl, PHP, Python, Ruby, SQL e XML, com sistema de coloração específico para cada uma delas, além de possuir uma caixa de texto simples, para texto comum (<em>plain text</em>). </p>
<p><span id="more-23"></span></p>
<p>Esse recurso também possui diversos temas por padrão, mas, logicamente, você pode criar um tema próprio para se adequar ao seu site ou blog. Os temas disponíveis podem ser visualizados por meio <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Themes" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Themes?referer=');">deste link</a>.</p>
<p>Alguns exemplos do SyntaxHighlighter podem ser vistos <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter?referer=');">no site oficial</a>. As demonstrações que constavam aqui foram removidas pois deixei de usar o Syntax Highlighter, para usar o WP-Syntax.</p>
<p>É muito simples instalar o SyntaxHighlighter. Basta <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Download" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Download?referer=');">baixar o arquivo fonte</a> e inserir algumas linhas em seu HTML, fazendo a inserção dos arquivos necessários.</p>
<p>Inserindo o arquivo principal do SyntaxHighlighter:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;caminho/para/o/syntaxhighlighter/scripts/shCore.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Feito isso, basta inserir os arquivos referentes às linguagens cujos códigos-fonte serão postados, a fim de habilitar a coloração para cada uma delas.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;caminho/para/o/syntaxhighlighter/scripts/shBrushLINGUAGEM.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Onde &#8220;<em>LINGUAGEM</em>&#8221; deverá ser substituída por cada uma das linguagens que serão utilizadass. Obtenha a lista completa <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Brushes?referer=');">aqui</a>.</p>
<p>Incluiremos mais duas linhas referentes ao tema utilizado.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;caminho/para/o/syntaxhighlighter/styles/shCore.css&quot;</span> /<span style="color: #00AA00;">&gt;</span>
&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;caminho/para/o/syntaxhighlighter/styles/shThemaNOME_DO_TEMA.css&quot;</span> /<span style="color: #00AA00;">&gt;</span></pre></div></div>

<p>Onde &#8220;<em>NOME_DO_TEMA</em>&#8221; deverá ser substituído pelo nome do tema que deseja utilizar. Obtenha a lista completa <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Themes" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Themes?referer=');">aqui</a>. Como citei antes, você pode criar o seu próprio tema, adicionando apenas a primeira linha acima e criando um novo arquivo CSS com as mesmas regras presentes nos shTheme*.css.</p>
<p>Por fim, vamos iniciar o SyntaxHighlighter com o seguinte trecho JavaScript:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
 SyntaxHighlighter.<span style="color: #660066;">all</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>A partir daí o SyntaxHighlighter já está funcionando. Porém, é possível fazer diversas outras configurações. Uma delas é desabilitar a barra de ferramentas que é exibida por padrão, inserindo a seguinte linha acima de &#8220;SyntaxHighlighter.all();&#8221; no código acima:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">SyntaxHighlighter.<span style="color: #660066;">defaults</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'toolbar'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

<p>Veja todas as configurações <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Configuration" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Configuration?referer=');">aqui</a>.</p>
<p>Para quem não possui um sistema de hospedagem próprio, não tendo onde hospedar os arquivos do SyntaxHighlighter, o site oficial mantém uma cópia online de todas as versões da ferramenta. Veja <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Hosting" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter_Hosting?referer=');">neste link</a>.</p>
<p>Mais informações e detalhes sobre o SyntaxHighlighter poderão ser encontradas no <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter" target="_blank" onclick="urchinTracker('/outgoing/alexgorbatchev.com/wiki/SyntaxHighlighter?referer=');">site oficial</a>.</p>
<p>Porém, há um &#8220;problema&#8221; quando se postam códigos muito extensos. O SyntaxHighlighter não gera barras de rolagem, deixando a página muito extensa e cansativa para o usuário. A solução é simples: HTML e CSS.</p>
<p>Basta inserir a tag &lt;pre&gt; do código dentro de uma DIV com &#8220;<em>overflow: auto</em>&#8220;. </p>
<p>Uma possível (e simples) regra CSS para essa DIV é a seguinte:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.codeBox</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">850px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">550px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">solid</span> <span style="color: #933;">1px</span> <span style="color: #cc00cc;">#666</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Assim, basta inserir seus códigos da seguinte maneira:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;codeBox&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>pre <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;brush: linguagem&quot;</span><span style="color: #339933;">&gt;</span>
código aqui</pre></div></div>

</div>
</pre>
<p>Dessa forma, a postagem de códigos-fonte em sites fica bem mais amigável e organizada. :)</p>
<p>Espero que tenham gostado da dica.</p>
<p>Abraços e até apróxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rberaldo.com.br/blog/como-postar-codigos-em-sites-usando-o-syntaxhighlighter/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

