/**
  * @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);
     }
 }
Пример #2
0
 /**
  * @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);
     }
 }