demo

    public function demo()
    {
        $name = preg_replace('~[^a-z0-9_-]+~ims', '', trim($_GET['page'] ?: $_GET['id']));
        if ( ! $name) {
            return _404();
        }
        $cls_assets = _class($assets);
        $all = $this->_get_assets();
        if ( ! isset($all[$name])) {
            return _404();
        }
        $content = $all[$name]['content'];
        if (is_callable($content)) {
            $content = $content($cls_assets);
        }
        asset($name);
        if (isset($content['demo'])) {
            $demo = $content['demo'];
            if (is_callable($demo)) {
                $demo = $demo();
            }
            $out[] = $demo;
        }
        $out[] = '<pre><code>' . _prepare_html(var_export($content, true)) . '</code></pre>';
        return implode('<br>' . PHP_EOL, $out);
    }
array (
  'versions' => 
  array (
    '2.7.1' => 
    array (
      'css' => '//rawgit.yfix.net/yfix/fullcalendar/v2.7.1/dist/fullcalendar.min.css',
      'js' => 
      array (
        0 => '//rawgit.yfix.net/yfix/fullcalendar/v2.7.1/dist/fullcalendar.min.js',
        1 => '//rawgit.yfix.net/yfix/fullcalendar/v2.7.1/dist/gcal.js',
        2 => '//rawgit.yfix.net/yfix/fullcalendar/v2.7.1/dist/lang-all.js',
      ),
    ),
  ),
  'require' => 
  array (
    'js' => 
    array (
      0 => 'jquery',
      1 => 'momentjs',
    ),
  ),
  'info' => 
  array (
    'url' => 'http://fullcalendar.io/',
    'name' => 'FullCalendar',
    'desc' => 'A JavaScript event calendar. Customizable and open source. 
			FullCalendar is a drag-n-drop jQuery plugin for displaying events on a full-sized calendar.',
    'git' => 'https://github.com/yfix/fullcalendar.git',
  ),
)