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 (
    'v1.2.0' => 
    array (
      'js' => '//rawgit.yfix.net/tristanjahier/chosen-order/v1.2.0/dist/chosen.order.jquery.min.js',
    ),
  ),
  'github' => 
  array (
    'name' => 'tristanjahier/chosen-order',
    'version' => 'v1.2.0',
    'js' => 
    array (
      0 => 'dist/chosen.order.jquery.min.js',
    ),
  ),
  'require' => 
  array (
    'asset' => 'chosen',
  ),
)