Si utilizas Emacs con org-mode y tu blog es WordPress, org2blog es la mejor herramienta para publicar directamente desde orgmode a WordPress. Si no sabes de qué estoy hablando, no dejes de leer por si quieres adaptar esta forma escribir no solo artículos para tu blog sino también todo tipo de textos y documentación.

wpid-screenie-org2blog1.png

</p>

En este artículo, basado en el de vxlabs y binchen, pretende animarte a introducir bloques de código en tus artículos de tal forma que resulte útil su identificación como código, facilite su lectura y permita su reutilización.

Primer paso: adaptar org2blog/wp-sourcecode-langs

org2blog tiene una variable org2blog/wp-sourcecode-langs que soporta muchos lenguajes de programación… pero no incluye lisp.

Por tanto, hay que modificar ese código añadiendo lisp, elisp y lua:

(setq org2blog/wp-sourcecode-langs
      '("actionscript3" "bash" "coldfusion" "cpp" "csharp" "css" "delphi"
        "erlang" "fsharp" "diff" "groovy" "javascript" "java" "javafx" "matlab"
        "objc" "perl" "php" "text" "powershell" "python" "ruby" "scala" "sql"
        "vb" "xml"
        "sh" "elisp" "lisp" "lua"))

Segundo paso: modificar SyntaxHighlighter Evolved

Por el lado de WordPress, tendremos que insalar el plugin SyntaxHighlighter Evolved para señalar el código. También hay que editar este plugin para permitir que reconozca lenguajes como elisp. En el archivo syntaxhighlighter.php añade estas líneas donde corresponde:

'text'          => 'clojure',
'elisp'         => 'clojure',
'lisp'          => 'clojure',
'sh'            => 'bash',
'lua'           => 'ruby',

En el artículo original decidieron utilizar el resaltado propio de clojure para text, lisp y elisp, bash para sh y ruby para lua. Puedes mantenerlo así o adaptarlo como prefieras con otras configuraciones.

El motivo por el que señalar un bloque de código en text es porque si no señalas el tipo de lenguaje que estás poniendo en el código, éste no aparecerá señalado. Si usas Emacs, lo habitual es poner mucho código en lisp, por lo que si no quieres identificarlo, de esta manera te aseguras que el bloque de texto text tenga el mismo resaltado que lisp.

Postdata: otra opción

Hay un comentario en el blog de binchen que apunta que si añadimos:

(setq org-src-fontify-natively t)

Nos evitamos la modificación de emacs. Habrá que probarlo :)