| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?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);    /**     * Loads guide structure from a set of files     * @param array $files     * @return array     */    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;    }}
 |