Mie
23
Jul

Cómo mostrar código fuente en los comentarios[0]


void postear(){
     printf("

Lectores, comentadores, visitantes en general: ¡Pueden escribir código en los comentarios!
Los que visitan seguido el blog habrán notado un nuevo recuadro al lado de la caja de comentarios. Esta indica cómo escribir código sin que el querido WordPress transforme sus signos de < y > y su indentación en papas fritas.

En varios posts hemos tenido el problema de querer mostrar código fuente, y no lograr los resultados que esperábamos. Destaco los posts sobre sintaxis, y más recientemente el post de AWK, o el de Wordpress y caption, donde pasó lo mismo (malditos <>).

Como estoy usando el plugin WP-Syntax para mostrar código fuente, pueden hacer uso de él a la hora de comentar. Su código respetará la indentación, y se mostrará coloreado acorde al lenguaje que usen. En el recuadro del cual les hablaba pueden encontrar la forma de uso (no me hagan repetir :P ).

Los lenguajes reconocidos hasta el momento se listan a continuación. A su vez, son los nombres que hay que poner para comentar en el tag “pre”: <pre lang=”L“>código</pre> donde L es uno de los siguientes:

abap, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoit, bash, blitzbasic, bnf, c, c_mac, caddcl, cadlisp, cfdg, cfm, cpp-qt, cpp, csharp, css, d, delphi, diff, div, dos, dot, eiffel, fortran, freebasic, genero, gettext, glsl, gml, groovy, haskell, html4strict, idl, ini, inno, io, java, java5, javascript, kixtart, latex, lisp, lotusformulas, lotusscript, lua, m68k, matlab, mirc, mpasm, mxml, mysql, nsis, objc, ocaml-brief, caml, oobas, oracle8, pascal, per, perl, php-brief, php, plsql, python, qbasic, rails, reg, robots, ruby, sas, scala, scheme, sdlbasic, smalltalk, smarty, sql, tcl, text, thinbasic, tsql, vb, vbnet, verilog, vhdl, visualfoxpro, winbatch, xml, xpp, z80

Espero que les guste, y cualquier sugerencia, crítica u opinión, me la hacen llegar. Gracias por leer!

");
}

Si te gustó éste post, podés apoyar a PicandoCódigo a través de PayPal!



38 Comentarios para “Cómo mostrar código fuente en los comentarios[0]”

  1. fernando a las 1:44 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
    import java.util.*;
    public class Comentario{
    	public Comentario(){}
     
    	public static void main(String argv[]){
    		System.out.println("Esto es un comentario en Java");
    	}
    }
  2. francisco a las 2:27 pm 23 Julio. 2008
    Firefox 3.0SuSE
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0) Gecko/2008061600 SUSE/3.0-0.2 Firefox/3.0

    muy bueno el plugin, se ve de maravilla el codigo.

    Saludos

  3. Rodolfo Pilas a las 3:16 pm 23 Julio. 2008
    Firefox 3.0GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008062517 Firefox/3.0

    A ver en uno de mis lenguajes preferidos:

    do 10
    say “Muy lindo plugin!”
    end

    Ya te has dado cuenta que esto es código rexx (en realidad Regina Rexx), verdad?

    De todas formas, cuando estas escribiendo el comentario sigue siendo medio a “suerte y verdad” que pasará luego de poner “Enviar comentario”, por eso te sugiero el plugin Live Comment Preview, que me permite como autor del comentario, tomar medidas correctivas en el momento.

  4. Rodolfo Pilas a las 3:18 pm 23 Julio. 2008
    Firefox 3.0GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008062517 Firefox/3.0

    Bueno, Regina Rexx no es de los lenguajes soportados…. asi que lenguage reg no es rexx.

    Como te dije: “a suerte y verdad”, en este caso “a mala suerte”…. que podría haberlo previsto de tener el preview.

  5. Rodolfo Pilas a las 3:22 pm 23 Julio. 2008
    Firefox 3.0GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008062517 Firefox/3.0

    Infeliz!!! (de mi!)

    reg es Microsoft Registry Editor Language File

    (me bajé el plugin y revisé el código fuente!)

    …. jajaja rexx!!! Solo los dinosaurios usan rexx!!!!

  6. zetta a las 3:28 pm 23 Julio. 2008
    Firefox 3.0.1GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071719 Firefox/3.0.1

    final class Comentario{
    protected $name = ‘zetta’;
    protected $text = ”;
    public function __construct($str){
    $this->text = $this->name.’ dice: ‘.$str;
    return $this;
    }
    public function __toString(){
    return $this->text;
    }
    }
    $saludo = new Comentario(’Solo probando el codigo =) ‘);
    echo $saludo;

  7. zetta a las 3:29 pm 23 Julio. 2008
    Firefox 3.0.1GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071719 Firefox/3.0.1

    que hice mal???
    =’(

  8. Juan Funez | One Frag Left! a las 3:31 pm 23 Julio. 2008
    Firefox 1.5.0.7Fedora
    Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.0.7) Gecko/20061011 Fedora/1.5.0.7-7.fc6 Firefox/1.5.0.7

    1,2, probando…

    Write(”Este es el intento: “,1);
    Write(”Todavia me acuerdo de Pasacal!”);

  9. Juan Funez | One Frag Left! a las 3:35 pm 23 Julio. 2008
    Firefox 1.5.0.7Fedora
    Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.0.7) Gecko/20061011 Fedora/1.5.0.7-7.fc6 Firefox/1.5.0.7

    1,2, sigo probando…

    Write(”Este es el intento: “,2);
    Write(”Todavia me acuerdo de Pasacal!”);

  10. Juan Funez | One Frag Left! a las 3:37 pm 23 Julio. 2008
    Firefox 1.5.0.7Fedora
    Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.0.7) Gecko/20061011 Fedora/1.5.0.7-7.fc6 Firefox/1.5.0.7

    :( y eso que segui las instrucciones :(

  11. Eduardo a las 3:49 pm 23 Julio. 2008
    Opera 9.51Windows XP
    Opera/9.51 (Windows NT 5.1; U; es-ES)

    if ((bool) plugin::comments::isActive())
    {
    echo ‘funciona’;
    }

  12. Eduardo a las 3:50 pm 23 Julio. 2008
    Opera 9.51Windows XP
    Opera/9.51 (Windows NT 5.1; U; es-ES)

    else
    {
    echo ‘todo mal fer, no funciona :( ‘;
    }

  13. fernando a las 3:58 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Ups!
    Mis disculpas, creo que ya se de donde viene el problema. Si se fijan a la derecha de la caja de texto donde se escriben los comentarios, muestra las tags permitidas para comentar. Esto no está escrito a mano, sino que llama a una función en PHP allowed_tags().

    Lo que tengo que hacer, es buscar la forma de permitirles a los usuarios usar el tag pre…
    ¡Perdón por el amague!
    ¡Ya me pongo a solucionar eso!

  14. Fernando a las 4:05 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Vamos a hacer la prueba ahora sin estar logueado en Wordpress:

    printf("Hola mundo");
    
  15. fernando a las 4:12 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    ¡Maldigo! Wordpress…

    Si estoy logueado en el blog, anda, sino no!
    Maldita sea, ¡maldita sea!

    printf("Me c*go en Wordpress y su WYSIWYG");

    Ya lo voy a arreglar… Mientras voy instalando el plugin que menciona Rodolfo.

  16. luciano a las 4:12 pm 23 Julio. 2008
    Opera 9.25Windows Vista
    Opera/9.25 (Windows NT 6.0; U; en)
    
    /pre>
  17. luciano a las 4:13 pm 23 Julio. 2008
    Opera 9.25Windows Vista
    Opera/9.25 (Windows NT 6.0; U; en)
    
    		
  18. fernando a las 4:25 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Ya está instalado el plugin que menciona Rodolfo. Ahora, cuando comentan, pueden ver el resultado de lo que están comentando más abajo.
    A ver si me muestra bien:

    System.Out.println("Muestra cualquier cosa");

    Lo que está entre pre no lo muestra… Parece que esto va a llevar un rato…

  19. fernando a las 4:42 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Muy bien, estuve mirando el código del plugin y está bien. Lo que está pasando es que Wordpress no guarda los “pre” de los comentarios. Por lo menos ya descarté que sea problema del plugin, ahora tengo que ver cómo habilitar bien el pre en los comentarios… ¡Maldigo de nuevo!

  20. Casidiablo a las 6:05 pm 23 Julio. 2008
    Firefox 3.0GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.9) Gecko/2008061015 Firefox/3.0

    Y eso de poner el plugin a trabajar en los comentarios… ¿es una característica del plugin o un hack que hiciste?

    Es que me gustaría hacer lo mismo en mi blog!

    Un saludo!

  21. Imzyos a las 10:34 pm 23 Julio. 2008
    Firefox 3.0Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9) Gecko/2008052906 Firefox/3.0

    Jejeje, yo siempre he usado http://paste.mootools.net/ cuando deseo publicar código :p, pero definitivamente esta manera es un poco más sencilla

  22. fernando a las 11:18 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    A ver…

    printf("Hola");
  23. Fernando a las 11:19 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Y ahora:

    printf("Hola");
  24. Fernando a las 11:20 pm 23 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG! ¡OMG!
    ¡¡Parece que funciona!!

    <?php
         $var = "Hola, esto es una variable";
         echo $var;
    ?>
  25. jk a las 12:00 am 24 Julio. 2008
    Firefox 3.0GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0 (Linux Mint)

    Test:

    void encrypt (unsigned long* v, unsigned long* k) {
        unsigned long v0=v[0], v1=v[1], sum=0, i;           /* set up */
        unsigned long delta=0x9e3779b9;                     /* a key schedule constant */
        unsigned long k0=k[0], k1=k[1], k2=k[2], k3=k[3];   /* cache key */
        for (i=0; i < 32; i++) {                            /* basic cycle start */
            sum += delta;
            v0 += ((v15) + k1);
            v1 += ((v05) + k3);  /* end cycle */
        }
        v[0]=v0; v[1]=v1;
    }
    
  26. fernando a las 12:11 am 24 Julio. 2008
    Konqueror 3.5Debian GNU/Linux
    Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.9 (like Gecko) (Debian)

    jk:
    Estoy haciendo pruebas todavía. Es más, estoy subiendo el plugin totalmente hackeado, a ver si anda.
    La solución que había encontrado, era terrible chanchada para salir del paso, pero creo que con esta le pegué…
    Unos minutos más y ya lo pruebo!

  27. Fernando a las 12:16 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)


    printf("Probando con el plugin hackeado");

  28. fernando a las 2:04 am 24 Julio. 2008
    Konqueror 3.5Debian GNU/Linux
    Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.9 (like Gecko) (Debian)


    printf("pasan las horas, y seguimos dándole vueltas...")

  29. Fernando a las 2:04 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)


    printf("Ahora sé que funciona el hack que hice, pero sigue funcionando solo para el usuario registrado...");

  30. fernando a las 2:07 am 24 Julio. 2008
    Konqueror 3.5Debian GNU/Linux
    Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.9 (like Gecko) (Debian)


    < ?php
    echo "Sí, está comprobado";
    echo " funciona perfectamente estando logueado";
    ?>

  31. Fernando a las 2:22 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)


    System.out.println("Y?");

  32. Fernando a las 2:38 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)


    printf("Nada");

  33. Fernando a las 2:39 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)


    printf("A ver ahora...");

  34. fernando a las 2:44 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Jojojo

    System.out.println("¡Eureka!");

  35. fernando a las 2:47 am 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)

    Ahora de vicio nomás:

    hola="Estoy contento ;) ";
    print hola;

  36. fernando a las 5:34 pm 24 Julio. 2008
    Debian IceWeasel 3.0.1Debian GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
    <?php
        echo "Cuánta vuelta se le dió al plugin";
        echo "Al final volvió a <pre>";
    ?>
  37. evas a las 2:28 am 21 Junio. 2009
    Firefox 3.0.11Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
    System.Console.WriteLine("esta es un prueba en c#, para ver si funca")

Trackbacks

  1. {WP-Syntax Hackeado} Cómo mostrar código fuente en los comentarios[1] | Picando Código
    WordPress 2.6
    Incutio XML-RPC -- WordPress/2.6

Dejar un comentario

Al agregar un comentario en esta página, usted acepta la siguiente licencia para su publicación:
Creative Commons License Creative Commons Attribution-Share Alike 3.0 Unported License.

Si quieres mostrar código, enciérralo entre los tags pre de esta forma:
<pre lang="L"> y </pre>, donde L es un lenguaje compatible GeSHI. Más info.

XHTML: Las siguientes tags están permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">





Búsqueda personalizada