:)
Copyright 2013 Michael Paulukonis http://michaelpaulukonis.com
Uses code from https://github.com/blairvanderhoof/gist-embed
Actually, it's pretty much of a PmWiki markup-wrapper for gist-embed.
All rights respective to gist-embed remain with the project authors.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
*/
$RecipeInfo['pmwiki-gists']['Version'] = '2013.09.03';
Markup('gist', 'inline',
'/\\(:gist(\\s+.*?)?:\\)/ei',
"IncludeGist(PSS('$1'))");
function IncludeGist($inp) {
$inp = trim($inp);
$undefined = 'undefined';
$defaults = array('id'=>$undefined, 'hide_line_nbrs'=>$undefined,
'hide_footer'=>$undefined, 'line'=>$undefined,
'file'=>$undefined);
$args = array_merge($defaults, ParseArgs($inp));
$gistId = $args['id'];
$hideLineNbrs = $args['hide_line_nbrs'];
$line = $args['line'];
$hidefooter = $args['hide_footer'];
$file = $args['file'];
$params = array();
//sms('inp: ' . $inp);
if ($gistId == $undefined) {
$gistId = $inp;
}
if ($hideLineNbrs == 'true') {
array_push($params, 'data-gist-hide-line-numbers="true"');
}
if ($hidefooter == 'true') {
array_push($params, 'data-gist-hide-footer="true"');
}
if ($line != $undefined) {
array_push($params, sprintf('data-gist-line="%s"', $line));
}
if ($file != $undefined) {
array_push($params, sprintf('data-gist-file="%s"', $file));
}
if (is_numeric($gistId)) {
array_push($params, sprintf('data-gist-id="%s"', $gistId));
$gist = sprintf('', implode($params, ' ') );
global $HTMLFooterFmt;
$HTMLFooterFmt['gist'] = '
';
}
Keep($gist);
}
// Debug function - dumps to the (:messages:) markup, if present
function sms($text,$switch=0){
global $MessagesFmt;
if ($switch == true || is_array($text)) {
$MessagesFmt[] = "
" . print_r($text,true) . "\n"; } else { $MessagesFmt[] = $text . "