Publicidad:
La Coctelera

Sugerencia de presentación

He nacido para vago

4 Diciembre 2006

Jugando a colorear

Ingredientes:

 pre {
     background-color: black;
     color: white;
     margin: 1em;
     padding: 1em;
 }
 
 code span.keyword    {color: #de9309}
 code span.method     {color: #ffffff}
 code span.attribute  {color: #ff0000}
 code span.punct      {color: #ffffff}
 code span.constant   {color: #ffffff}
 code span.symbol     {color: #3f92b7}
 code span.string     {color: #00e600}
 code span.ident      {color: #ffffff}
 

Resultado:

El sistema de inserción de código de RubyMola, y quizás, por qué no, algún día, de La Coctelera.

Si tienen la más mínima sensibilidad, se recomienda no mirar el diseño de lo que hay fuera del rectángulo negro =:-P

servido por porras 9 comentarios compártelo

9 comentarios · Escribe aquí tu comentario

Ale Muñoz

Ale Muñoz dijo

Ummm... yo acabé quitando el plugin que estaba usando para colorear código en WordPress porque el HTML que escupía era una castaña...

Pero hace tiempo me encontré con esto: http://www.dreamprojections.com/syntaxhighlighter/ que es una monería en JS que colorea el código de un textarea sin guarrear el HTML (JavaScript no intrusivo, lo llaman : )

Hay más, seguro, pero este me llamó la atención por lo simple...

4 Diciembre 2006 | 04:45 PM

sergio

sergio dijo

No, si eso pensaba yo... Pero el caso es que no es nada guarro, tan sólo mete [span class="loquesea"][/span], lo que además, si ves las clases que usa en el trozo de CSS que he puesto no deja de ser semánticamente impecable, y cambiarte algún símbolo por la entity correspondiente.

Lo del Javascript parece a priori buena idea (por aquello de que trabaje el cliente), sin embargo no termina de entusiasmarme por:

1) Es feo. Simplemente, pero de cojones.
2) Se lo ve cambiar con la página ya cargada. Ver 1)
3) Me parece bastante generoso llamar "no intrusivo" a algo que te obliga a poner en un textarea un contenido que no tiene por qué ser editable, ¿no crees?

Y porque el Javascript me da grima, ya lo sabes =:-P

5 Diciembre 2006 | 12:17 AM

demimismo

demimismo dijo

Hey hey, no te metas con mis amigos, que tavío. Efectivamente hay mejores cosas por ahí, pero creo que el resaltado de sintaxis es uno de esos sitios donde Javascript pega duro.

1) No es nada feo, de hecho es mucho más limpito que un huevo de spans directamente en el contenido ¿son contenido un montón de spans? ¿aporta algo al contenido un span style="color:red"

2) Lo de esperar a que cargue la página se soluciona con un $(document).ready (véase jQuery)

3) No entiendo lo que quieres decir en la 3, pero efectivamente, es no intrusivo (véase separación de comportamiento/presentación/contenido)

5 Diciembre 2006 | 12:52 AM

sergio

sergio dijo

¿Son amigos tuyos los del syntax highlighter en Javascript?

Quizá me pasé de expeditivo (a pesar de reconocer que tengo un grave prejuicio contra el JS, que poco a poco va remitiendo gracias a cosas como jQuery o Prototype), pero es que yo sigo siendo un server-side boy, y además de la vieja escuela: deja para el cliente sólo lo que no puedas hacer en el servidor, y te ahorrarás dolores de cabeza, sobre todo en cuanto a compatibilidad de navegadores. El entorno del servidor lo controlas, el del cliente no.

Aparte de la preferencia por la solución más simple. Si algo se puede hacer con "bueno y viejo CSS", no veo el punto en hacerlo con Javascript.

En cuanto al 1, 2, 3:

1) Con feo (por una vez) me refería exclusivamente al resultado estético, que me parece excesivamente recargado. Y eso es incontestable porque sobre gustos no hay nada escrito, y a mí, simplemente, no me gusta. Y en cuanto a si los span son contenido, pues a mí me parece que si en vez de meter style, le metes clases como keyword, attribute, comment, punct o method, pues la respuesta es sí. Puede que sea más detallado de lo necesario, pero semánticamente es impecable.

2) Cierto, y además es una tontería porque sólo ha sido la primera vez, una vez ya he tenido el JS cacheado, no ha vuelto a pasar.

3) Hasta donde yo sé (que no es mucho así que libertad para corregirme), textarea es exclusivamente para contenido editable (al menos yo lo he usado sólo para eso). Si así es (que ya digo que no estoy seguro), al obligarme a meter contenido no editable en un textarea, se está cargando la semántica del documento. Eso de no intrusivo tiene poco =;-)

5 Diciembre 2006 | 12:55 PM

demimismo

demimismo dijo

No son colegas tranqui, era coña.

Sigo sin ver la semántica y/o estructura que añades a un documento por marcar, o más bien por etiquetar lo que es una variable y lo que es una función dentro de un bloque de código.

Respecto a la 1) puedes ver un ejemplo en scriptia, limpio y bonito.

Respecto a la 3), no es necesario un textarea, basta con marcar el código con pre o code.

5 Diciembre 2006 | 02:20 PM

sergio

sergio dijo

Ah, pues si te referías al Dr. Naranja y a Don Blat también son amigos míos! =:-D

Sí que añades semántica por cuanto es una descripción del contenido y no de su aspecto. No es lo mismo el ejemplo que ponías de [span style="color: red"] que [span class="keyword"].

El ejemplo de la portada de scriptia (no sé si te referías a ese) es limpio, bonito y con CSS =;-) Además usa unos nombres de clase muy similares a los que te comentaba.

Lo del textarea me habré equivocado, en los ejemplos del enlace que envió Ale aparecía siempre con textarea y me pareció entender que debía ser así. Un problema menos =;-)

La verdad es que ambas opciones son suficientemente buenas, aunque tengan sus pros y sus contras, en realidad no sé aún por cuál decantarme porque ambas me valen.

5 Diciembre 2006 | 03:11 PM

demimismo

demimismo dijo

Sí que añades semántica por cuanto es una descripción del contenido y no de su aspecto. No es lo mismo el ejemplo que ponías de [span style="color: red"] que [span class="keyword"].

Las clases por sí solas no añaden semántica, si al menos me dijeras que vas a utilizar un microformato destinado a tal fin (o incluso a inventarlo si no existe) podría pensar que estás añadiendo algo de pimienta semántica en minúsculas, pero tenemos que ir quitándonos la idea de que class="fecha" añade semántica porque no es así. Si fuera así se mencionaría en el documento de especificación de HTML 4.01

El ejemplo de la portada de scriptia (no sé si te referías a ese) es limpio, bonito y con CSS =;-) Además usa unos nombres de clase muy similares a los que te comentaba.

Es limpito, no semántico y con CSS, claro, pero las clases se inyectan desde javascript so-called no intrusivo, el contenido va limpito utilizando un elemento pre y un code, que es lo que hay que utilizar únicamente para marcar estas cosas.

La verdad es que ambas opciones son suficientemente buenas, aunque tengan sus pros y sus contras, en realidad no sé aún por cuál decantarme porque ambas me valen.

Dime una desventaja de la versión javascript, venga, mójate =:-)

5 Diciembre 2006 | 04:57 PM

sergio

sergio dijo

Puede que no sea Semántica con letras mayúsculas al estilo W3C, pero si tú quieres encontrar las palabras clave de Ruby que hay en una página te bastará con buscar por "code.ruby span.keyword", y eso es semántica, en minúsula si quieres, al menos en el mismo sentido que los microformatos lo son. Vamos, que aunque físicamente sea parecido, hay un abismo entre el style="color:red" y el class="keyword".

Lo del ejemplo de la portada de scriptia demuestra mi absoluta ignorancia =:-S Desde el principio había asumido que todas estas movidas de JS tocaban directamente el DOM sin modificar el código, por eso cuando he visto que el código incluía los span's he supuesto que el coloreado se hacía en el servidor. Así que ahora, como soy un desconfiado de mierda, he entrado con el JS desactivado y el cabrón de eĺ sale todo negro =:-D Mea culpa.

En cualquier caso, si al final resulta que todo el mundo mete los span's, sea en el servidor o en el cliente, no sé lo que estamos discutiendo. ¿En qué lenguaje hacerlo?

Así pues, la única pega que por mi parte le resta al enfoque JS es la compatibilidad de los distintos navegadores. Aunque supongo que tampoco importa mucho si estás usando un código de terceros que se encargan de mantener y tal.

Ya sabes, si en nochebuena sale el tema del resaltado de sintaxis, seguramente consigas un segundo "demimismo wins" =;-)

5 Diciembre 2006 | 06:21 PM

Sugerencia de presentación

Sugerencia de presentación referenció

Resaltado de sintaxis: la solución

En resumen: demimismo wins.

Tras un apasionado pero amistoso flame, vengo a proponer la solución contraria a la que proponía hace unos días, con la furia del converso...

10 Diciembre 2006 | 01:46 PM

Escribe tu comentario


Sobre mí

Avatar de porras

Sugerencia de presentación

ver perfil »
contacto »

Me llamo Sergio Gil Pérez de la Manga, y mi madre se cabrea si escribo mi nombre con un sólo apellido. Vivo, trabajo y hago casi todo lo demás en Madrid.

Trabajo como programador porque es lo más parecido que he encontrado a no trabajar. Sobre todo si lo haces bien. Y en eso estoy, en hacerlo cada vez mejor para trabajar cada vez menos. Alguno lo llamaría vagancia, y yo ahí no me meto.

Algunas de las herramientas que en este momento me llevan al Nirvana de no dar un palo al agua son Ruby, Ruby on Rails, Textmate, cualquier sabor de Unix (en este momento principalmente MacOSX pero también Ubuntu Linux) y sus herramientas, o Rake. En ocasiones hablo de ellas aquí, pienso que a alguien le pueden servir y que no puedo ser el único al que no le gusta trabajar.

Y como no sólo de tecnología vive el hombre (bueno, el hombre no sé, pero desde luego yo no), por aquí aparece de vez en cuando la punta del iceberg de mis pequeños pensamientos; al menos la parte de ellos que no cabe en Twitter.

Bienvenidos todos.

Y ahora: ¿Y tú?

Fotos

porras todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera