Carsten Brandt
11 years ago
4 changed files with 109 additions and 4 deletions
@ -0,0 +1,68 @@
|
||||
<?php |
||||
/** |
||||
* @link http://www.yiiframework.com/ |
||||
* @copyright Copyright (c) 2008 Yii Software LLC |
||||
* @license http://www.yiiframework.com/license/ |
||||
*/ |
||||
|
||||
namespace yii\apidoc\templates\online; |
||||
use yii\apidoc\models\Context; |
||||
use yii\apidoc\models\TypeDoc; |
||||
use yii\console\Controller; |
||||
use Yii; |
||||
use yii\helpers\Console; |
||||
use yii\helpers\FileHelper; |
||||
use yii\helpers\StringHelper; |
||||
|
||||
/** |
||||
* |
||||
* @author Carsten Brandt <mail@cebe.cc> |
||||
* @since 2.0 |
||||
*/ |
||||
class Renderer extends \yii\apidoc\templates\html\Renderer |
||||
{ |
||||
public $layout = false;//'@yii/apidoc/templates/offline/views/offline.php'; |
||||
public $indexView = '@yii/apidoc/templates/offline/views/index.php'; |
||||
|
||||
public $pageTitle = 'Yii Framework 2.0 API Documentation'; |
||||
|
||||
/** |
||||
* Renders a given [[Context]]. |
||||
* |
||||
* @param Context $context the api documentation context to render. |
||||
* @param Controller $controller the apidoc controller instance. Can be used to control output. |
||||
*/ |
||||
public function render($context, $controller) |
||||
{ |
||||
parent::render($context, $controller); |
||||
$dir = Yii::getAlias($this->targetDir); |
||||
$controller->stdout("writing packages file..."); |
||||
$packages = []; |
||||
$notNamespaced = []; |
||||
foreach(array_merge($context->classes, $context->interfaces, $context->traits) as $type) { |
||||
/** @var TypeDoc $type */ |
||||
if (empty($type->namespace)) { |
||||
$notNamespaced[] = str_replace('\\', '-', $type->name); |
||||
} else { |
||||
$packages[$type->namespace][] = str_replace('\\', '-', $type->name); |
||||
} |
||||
} |
||||
ksort($packages); |
||||
$packages = array_merge(['Not namespaced' => $notNamespaced], $packages); |
||||
foreach($packages as $name => $classes) { |
||||
sort($packages[$name]); |
||||
} |
||||
file_put_contents($dir . '/packages.txt', serialize($packages)); |
||||
$controller->stdout('done.' . PHP_EOL, Console::FG_GREEN); |
||||
} |
||||
|
||||
protected function generateLink($typeName) |
||||
{ |
||||
return strtolower(str_replace('\\', '-', $typeName)); |
||||
} |
||||
|
||||
protected function generateFileName($typeName) |
||||
{ |
||||
return $this->generateLink($typeName) . '.html'; |
||||
} |
||||
} |
@ -0,0 +1,32 @@
|
||||
<?php |
||||
|
||||
use yii\apidoc\models\ClassDoc; |
||||
use yii\apidoc\models\InterfaceDoc; |
||||
use yii\apidoc\models\TraitDoc; |
||||
/** |
||||
* @var ClassDoc[]|InterfaceDoc[]|TraitDoc[] $types |
||||
* @var yii\web\View $this |
||||
*/ |
||||
|
||||
?><h1>Class Reference</h1> |
||||
|
||||
<table class="summaryTable docIndex"> |
||||
<colgroup> |
||||
<col class="col-package" /> |
||||
<col class="col-class" /> |
||||
<col class="col-description" /> |
||||
</colgroup> |
||||
<tr> |
||||
<th>Class</th> |
||||
<th>Description</th> |
||||
</tr> |
||||
<?php |
||||
ksort($types); |
||||
foreach($types as $i=>$class): |
||||
?> |
||||
<tr> |
||||
<td><?= $this->context->typeLink($class, $class->name) ?></td>
|
||||
<td><?= \yii\apidoc\helpers\Markdown::process($class->shortDescription, $class) ?></td>
|
||||
</tr> |
||||
<?php endforeach; ?> |
||||
</table> |
Loading…
Reference in new issue