Lego2012
12/13/2016 - 10:36 AM

Detect Gists and Embed Them

Detect Gists and Embed Them

<!-- Just post a link to a GitHub Gist and it will be nicely embedded. Or use the format this snippet provides and create the shortcode yourself. For your functions.php file: -->

<?php
// 
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');

// Remove this function if you don't want autoreplace gist links to shortcodes
function gist_shortcode_filter($content) {
  return preg_replace('/https:\/\/gist.github.com\/([\d]+)[\.js\?]*[\#]*file[=|_]+([\w\.]+)(?![^<]*<\/a>)/i', '', $content );
} add_filter( 'the_content', 'gist_shortcode_filter', 9);
?>

<!-- Any of these formats will work: -->

    <!-- https://gist.github.com/1147076 -->
    <!-- https://gist.github.com/1147076#file_annotated.js -->
    <!-- https://gist.github.com/1147076.js?file=annotated.js -->