<?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\apidoc\renderers; use Yii; use yii\apidoc\helpers\IndexFileAnalyzer; /** * Base class for all Guide documentation renderers * * @author Carsten Brandt <mail@cebe.cc> * @since 2.0 */ abstract class GuideRenderer extends BaseRenderer { /** * Render markdown files * * @param array $files list of markdown files to render * @param $targetDir */ abstract public function render($files, $targetDir); protected function loadGuideStructure($files) { $chapters = []; foreach ($files as $file) { $contents = file_get_contents($file); if (basename($file) == 'README.md') { $indexAnalyzer = new IndexFileAnalyzer(); $chapters = $indexAnalyzer->analyze($contents); break; } if (preg_match("/^(.*)\n=+/", $contents, $matches)) { $headlines[$file] = $matches[1]; } else { $headlines[$file] = basename($file); } } return $chapters; } }