Shortcode para los Gist de GitHub

Como todos saben en GitHub puedes crear repositorios para los proyectos de software que estés trabajando o bien publicar el fuente para que todos tengan acceso a el, además de publicar fragmentos de códigos de múltiples lenguajes de programación como son los Gist. Este código te permite hacer un Embed de los fragmentos de códigos que publiques en GitHub, solo pasando la URL junto al ID o simplemente el ID haciendo el uso de los Shortcode que nos facilita wordpress o de forma automática, solo copia y pega en el archivo functions.php de tu tema.

[php]
<?php
// [gist id="ID" file="FILE"]
function gist_shortcode($atts) {
return sprintf(
‘<script src="https://gist.github.com/%s.js%s"></script>’,
$atts[‘id’],
$atts[‘file’] ? ‘?file=’ . $atts[‘file’] : ”
);
} add_shortcode(‘gist’,’gist_shortcode’);

// Quita esta función si no quieres auto-reemplazar los enlaces gist a shortcodes
function gist_shortcode_filter($content) {
return preg_replace(‘/https:\/\/gist.github.com\/([\d]+)[\.js\?]*[\#]*file[=|_]+([\w\.]+)(?![^)/i’, ‘[gist id="${1}" file="${2}"]’, $content );
} add_filter( ‘the_content’, ‘gist_shortcode_filter’, 9);
?>
[/php]

Cualquiera de estos formato funciona:

  • https://gist.github.com/1147076
  • https://gist.github.com/1147076#file_annotated.js
  • https://gist.github.com/1147076.js?file=annotated.js
  • [gist id=1147076]
  • [gist id=1147076 file=annotated.js]

Para hacer uso de la función solo usa el shortcode [gist id=1147076] pasando el ID de la URL.

GitHub nos facilita hacer un embed de los gists pero con esta función nos da la facilidad de hacerlo sin tener que agregar ningún código o script a nuestros post para hacer el embed.

Recomendado