Me preguntó un amigo qué plugin uso para mostrar el código en este blog y respondo por aquí por si a alguien más le interesa.
Lo cierto es que no utilizo ninguno de los habituales para embellecer el código o, como se dice en inglés, para aplicarle un pretty-print, como el conocido plugin para wp de Alex Gorbatchev SyntaxHighlighter, ya que por razones didácticas me interesa aplicar colores y negritas en función de lo que estoy explicando y no de la sintaxis del lenguaje. Además, estos plugins suelen funcionar mediante tablas y yo prefiero que sean líneas en un div. Así que me limito a hacer esto:
1). En las CSS tengo estos estilos:
.prettyprint {
padding: 5px;
border: 1px solid #CCC;
background: #f9f9f9; /* #f3f3f3; */
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 1em;
margin: 1em;
text-align: left;
word-wrap:break-word;
line-height: 180%;
}
.prettyprint p {
margin-bottom: 0.1em;
margin-top: 0.1em;
}
.prettyprint p:hover {
background: #ffffcc !important;
}
ul.linenums {
margin: 0;
padding: 0;
list-style-type: none;
}
.linenums_tab {
margin-left: 3em;
padding: 0;
}
li.linenums {
display: list-item;
}
.linenums li:hover {
background: #ffffcc !important;
}
.linenums ul {
list-style-type: none;
margin-left: 1em;
padding: 0;
}
ol.linenums {
margin: 0.1em;
}
2). Luego es tan sencillo como añadir este shortcode en functions.php:
function shortcode_codigo($atts, $content = null) {
$content = do_shortcode($content);
$content = str_replace("<ul>","<ul class='linenums'>",$content);
$content = str_replace("<ol>","<ol class='linenums'>",$content);
$content = str_replace("<em>","<span style='margin-left:3em;'>",$content);
$content = str_replace("</em>","</span>",$content);
return "<div class='prettyprint'>".$content."</div>";
}
add_shortcode('codigo', 'shortcode_codigo');
Y ya luego basta con escribir lo que sea entre corchetes:
[ codigo ]
Aquí código tabulado o listas numeradas si necesito numerakos.
[ /codigo ]
Si encuentro tiempo, lo subo al repo de wp, pero, vamos, que es más simple que un botijo.