* @since 2.0 */ class GuideRenderer extends \yii\apidoc\templates\html\GuideRenderer { use RendererTrait; public $layout = '@yii/apidoc/templates/bootstrap/layouts/guide.php'; /** * @inheritDoc */ public function render($files, $targetDir) { $types = array_merge($this->apiContext->classes, $this->apiContext->interfaces, $this->apiContext->traits); $extTypes = []; foreach ($this->extensions as $k => $ext) { $extType = $this->filterTypes($types, $ext); if (empty($extType)) { unset($this->extensions[$k]); continue; } $extTypes[$ext] = $extType; } parent::render($files, $targetDir); if ($this->controller !== null) { $this->controller->stdout('generating search index...'); } $indexer = new ApiIndexer(); $indexer->indexFiles(FileHelper::findFiles($targetDir, ['only' => ['*.html']]), $targetDir); $js = $indexer->exportJs(); file_put_contents($targetDir . '/jssearch.index.js', $js); if ($this->controller !== null) { $this->controller->stdout('done.' . PHP_EOL, Console::FG_GREEN); } } }