<?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>Mundo Ruby &#187; html</title>
	<atom:link href="http://www.mundoruby.com.ar/tag/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mundoruby.com.ar</link>
	<description>Ruby Artists, Hackers y otras yerbas ...</description>
	<lastBuildDate>Wed, 12 Aug 2009 23:02:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Syntax highlighting de Ruby en mi blog</title>
		<link>http://www.mundoruby.com.ar/2009/06/11/syntax-highlighting-de-ruby-en-mi-blog/</link>
		<comments>http://www.mundoruby.com.ar/2009/06/11/syntax-highlighting-de-ruby-en-mi-blog/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 20:45:24 +0000</pubDate>
		<dc:creator>FreedomCoder</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mundoruby.com.ar/?p=102</guid>
		<description><![CDATA[Tomando como base lo que dice en este post, hice un script en ruby que genera html con clases que se pueden poner coloritos con css:
#!/usr/bin/env ruby

require 'rubygems'
require 'syntax/convertors/html'

class Syntax::Convertors::HTML
  def convert( text, klass="" )
    html = "&#60;pre class=\"#{klass}\"&#62;"
    regions = []
    @tokenizer.tokenize( text ) [...]]]></description>
			<content:encoded><![CDATA[<p>Tomando como base lo que dice <a href="http://blog.michaelgreenly.com/2007/12/blog-post.html">en este post</a>, hice un script en ruby que genera html con clases que se pueden poner coloritos con css:</p>
<pre class="ruby"><span class="comment">#!/usr/bin/env ruby</span>

<span class="ident">require</span> <span class="punct">'</span><span class="string">rubygems</span><span class="punct">'</span>
<span class="ident">require</span> <span class="punct">'</span><span class="string">syntax/convertors/html</span><span class="punct">'</span>

<span class="keyword">class </span><span class="class">Syntax::Convertors::HTML</span>
  <span class="keyword">def </span><span class="method">convert</span><span class="punct">(</span> <span class="ident">text</span><span class="punct">,</span> <span class="ident">klass</span><span class="punct">="</span><span class="punct">"</span> <span class="punct">)</span>
    <span class="ident">html</span> <span class="punct">=</span> <span class="punct">"</span><span class="string">&lt;pre class=<span class="escape">\"</span><span class="expr">#{klass}</span><span class="escape">\"</span>&gt;</span><span class="punct">"</span>
    <span class="ident">regions</span> <span class="punct">=</span> <span class="punct">[]</span>
    <span class="attribute">@tokenizer</span><span class="punct">.</span><span class="ident">tokenize</span><span class="punct">(</span> <span class="ident">text</span> <span class="punct">)</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">tok</span><span class="punct">|</span>
      <span class="ident">value</span> <span class="punct">=</span> <span class="ident">html_escape</span><span class="punct">(</span><span class="ident">tok</span><span class="punct">)</span>
      <span class="keyword">case</span> <span class="ident">tok</span><span class="punct">.</span><span class="ident">instruction</span>
        <span class="keyword">when</span> <span class="symbol">:region_close</span> <span class="keyword">then</span>
          <span class="ident">regions</span><span class="punct">.</span><span class="ident">pop</span>
          <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="punct">"</span><span class="string">&lt;/span&gt;</span><span class="punct">"</span>
        <span class="keyword">when</span> <span class="symbol">:region_open</span> <span class="keyword">then</span>
          <span class="ident">regions</span><span class="punct">.</span><span class="ident">push</span> <span class="ident">tok</span><span class="punct">.</span><span class="ident">group</span>
          <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="punct">"</span><span class="string">&lt;span class=<span class="escape">\"</span><span class="expr">#{tok.group}</span><span class="escape">\"</span>&gt;<span class="expr">#{value}</span></span><span class="punct">"</span>
        <span class="keyword">else</span>
          <span class="keyword">if</span> <span class="ident">tok</span><span class="punct">.</span><span class="ident">group</span> <span class="punct">==</span> <span class="punct">(</span> <span class="ident">regions</span><span class="punct">.</span><span class="ident">last</span> <span class="punct">||</span> <span class="symbol">:normal</span> <span class="punct">)</span>
            <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="ident">value</span>
          <span class="keyword">else</span>
            <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="punct">"</span><span class="string">&lt;span class=<span class="escape">\"</span><span class="expr">#{tok.group}</span><span class="escape">\"</span>&gt;<span class="expr">#{value}</span>&lt;/span&gt;</span><span class="punct">"</span>
          <span class="keyword">end</span>
      <span class="keyword">end</span>
    <span class="keyword">end</span>
    <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="punct">"</span><span class="string">&lt;/span&gt;</span><span class="punct">"</span> <span class="keyword">while</span> <span class="ident">regions</span><span class="punct">.</span><span class="ident">pop</span>
    <span class="ident">html</span> <span class="punct">&lt;&lt;</span> <span class="punct">"</span><span class="string">&lt;/pre&gt;</span><span class="punct">"</span>
    <span class="ident">html</span>
  <span class="keyword">end</span>
<span class="keyword">end</span>

<span class="ident">convertor</span> <span class="punct">=</span> <span class="constant">Syntax</span><span class="punct">::</span><span class="constant">Convertors</span><span class="punct">::</span><span class="constant">HTML</span><span class="punct">.</span><span class="ident">for_syntax</span> <span class="punct">"</span><span class="string">ruby</span><span class="punct">"</span>
<span class="ident">puts</span> <span class="ident">convertor</span><span class="punct">.</span><span class="ident">convert</span><span class="punct">(</span> <span class="global">$stdin</span><span class="punct">.</span><span class="ident">read</span><span class="punct">,</span> <span class="punct">"</span><span class="string">ruby</span><span class="punct">"</span>  <span class="punct">)</span></pre>
<p>En el script monkeypatchié un toque para que agregue la clase &#8220;ruby&#8221; al tag pre que engloba todo el código y aparte estoy usando estos estilos:</p>
<p><code></p>
<pre>&lt;style&gt;
pre.ruby {
      background-color: #ffffcc;
      color: #000000;
      padding: 10px;
      font-size: 1.1em;
      overflow: auto;
      margin: 4px 0px;
      width: 95%;
      border: thin dashed;
}
.ruby .normal {}
.ruby .comment { color: #005; font-style: italic; }
.ruby .keyword { color: #A00; font-weight: bold; }
.ruby .method { color: #077; }
.ruby .class { color: #074; }
.ruby .module { color: #050; }
.ruby .punct { color: #447; font-weight: bold; }
.ruby .symbol { color: #099; }
.ruby .string { color: #944; }
.ruby .char { color: #F07; }
.ruby .ident { color: #004; }
.ruby .constant { color: #07F; }
.ruby .regex { color: #B66; }
.ruby .number { color: #D55; }
.ruby .attribute { color: #377; }
.ruby .global { color: #3B7; }
.ruby .expr { color: #227; }
&lt;/style&gt;</pre>
<p></code></p>
<p>Una cosa más, si estás viendo este post en otro lugar que no sea <a href="http://aurelianito.blogspot.com">aurelianito.blogspot.com</a> no vas a ver el resaltado de sintaxis (ya que no va a tener los estilos).</p>
<p>Hasta la próxima,<br />
Aureliano</p>
<div class="blogger-post-footer"><img src="http://aurelianito.blogspot.com//blogger.googleusercontent.com/tracker/1437970354124720603-8510335889692075579?l=aurelianito.blogspot.com" alt="" width="1" height="1" /></div>
<p>(Via <a href="http://aurelianito.blogspot.com/">aurelianito</a>.)  Original Link: <a href="http://aurelianito.blogspot.com/2009/06/syntax-highlighting-de-ruby-en-mi-blog.html">Syntax highlighting de Ruby en mi blog</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-7949681675937032";
google_ad_slot = "0874687580";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mundoruby.com.ar/2009/06/11/syntax-highlighting-de-ruby-en-mi-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

