/** * @inheritdoc */ public function render($context, $targetDir) { echo "Phundament EE Docs Renderer\n"; $types = array_merge($context->classes, $context->interfaces, $context->traits); $extTypes = []; foreach ($this->extensions as $k => $ext) { $extType = $this->filterTypes($types, $ext); if (empty($extType)) { unset($this->extensions[$k]); continue; } $extTypes[$ext] = $extType; } // render view files parent::render($context, $targetDir); if ($this->controller !== null) { $this->controller->stdout('generating extension index files...'); } foreach ($extTypes as $ext => $extType) { $readme = @file_get_contents("https://raw.github.com/yiisoft/yii2-{$ext}/master/README.md"); $indexFileContent = $this->renderWithLayout($this->indexView, ['docContext' => $context, 'types' => $extType, 'readme' => $readme ?: null]); file_put_contents($targetDir . "/ext-{$ext}-index.html", $indexFileContent); } #$yiiTypes = $this->filterTypes($types, 'yii'); #if (empty($yiiTypes)) { // $readme = @file_get_contents("https://raw.github.com/yiisoft/yii2-framework/master/README.md"); $indexFileContent = $this->renderWithLayout($this->indexView, ['docContext' => $context, 'types' => $this->filterTypes($types, 'app'), 'readme' => null]); /*} else { $readme = @file_get_contents("https://raw.github.com/yiisoft/yii2-framework/master/README.md"); $indexFileContent = $this->renderWithLayout($this->indexView, [ 'docContext' => $context, 'types' => $yiiTypes, 'readme' => $readme ?: null, ]); }*/ file_put_contents($targetDir . '/index.html', $indexFileContent); if ($this->controller !== null) { $this->controller->stdout('done.' . PHP_EOL, Console::FG_GREEN); $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); } }
/** * @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); } }