Abstract Class yii\apidoc\renderers\GuideRenderer

Inheritanceyii\apidoc\renderers\GuideRenderer » yii\apidoc\renderers\BaseRenderer » yii\base\Component
Subclassesyii\apidoc\templates\bootstrap\GuideRenderer, yii\apidoc\templates\html\GuideRenderer, yii\apidoc\templates\pdf\GuideRenderer, yii\apidoc\templates\project\GuideRenderer
Available since extension's version2.0
Source Code https://github.com/yiisoft/yii2-apidoc/blob/master/renderers/GuideRenderer.php

Base class for all Guide documentation renderers

Public Properties

Hide inherited properties

Property Type Description Defined By
$apiContext yii\apidoc\models\Context|null The yii\apidoc\models\Context currently being rendered. yii\apidoc\renderers\BaseRenderer
$apiUrl string|null yii\apidoc\renderers\BaseRenderer
$controller \yii\console\Controller<\yii\console\Application>|null The apidoc controller instance. yii\apidoc\renderers\BaseRenderer
$guidePrefix string yii\apidoc\renderers\BaseRenderer
$guideUrl string|null yii\apidoc\renderers\BaseRenderer
$pageTitle string|null String to use as the title of the generated page. yii\apidoc\renderers\BaseRenderer
$readmeUrl string|null URL for the README to use for the index of the guide. yii\apidoc\renderers\BaseRenderer

Public Methods

Hide inherited methods

Method Description Defined By
createSubjectLink() Creates a link to a subject yii\apidoc\renderers\BaseRenderer
createTypeLink() Creates a link to a type (class, interface or trait) yii\apidoc\renderers\BaseRenderer
generateApiUrl() Generate an url to a type in apidocs yii\apidoc\renderers\BaseRenderer
generateGuideUrl() Generate an url to a guide page yii\apidoc\renderers\BaseRenderer
init() yii\apidoc\renderers\BaseRenderer
render() Render markdown files yii\apidoc\renderers\GuideRenderer

Protected Methods

Hide inherited methods

Method Description Defined By
generateLink() Generate link markup yii\apidoc\renderers\BaseRenderer
loadGuideStructure() Loads guide structure from a set of files yii\apidoc\renderers\GuideRenderer

Constants

Hide inherited constants

Constant Value Description Defined By
PHPSTAN_TYPE_BASE_URL 'https://phpstan.org/writing-php-code/phpdoc-types#' yii\apidoc\renderers\BaseRenderer
PHP_CLASS_BASE_URL 'https://www.php.net/class.' yii\apidoc\renderers\BaseRenderer
PHP_TYPES [ 'callable', 'array', 'string', 'boolean', 'bool', 'integer', 'int', 'float', 'object', 'resource', 'null', 'false', 'true', 'iterable', 'mixed', 'never', 'void', ] yii\apidoc\renderers\BaseRenderer
PHP_TYPE_ALIASES [ 'true' => 'boolean', 'false' => 'boolean', 'bool' => 'boolean', 'int' => 'integer', ] yii\apidoc\renderers\BaseRenderer
PHP_TYPE_BASE_URL 'https://www.php.net/language.types.' yii\apidoc\renderers\BaseRenderer
PHP_TYPE_DISPLAY_ALIASES [ 'bool' => 'boolean', 'int' => 'integer', ] yii\apidoc\renderers\BaseRenderer
PSALM_TYPE_BASE_URL 'https://psalm.dev/docs/annotating_code/type_syntax/' yii\apidoc\renderers\BaseRenderer

Method Details

Hide inherited methods

createSubjectLink() public method

Defined in: yii\apidoc\renderers\BaseRenderer::createSubjectLink()

Creates a link to a subject

public string createSubjectLink ( yii\apidoc\models\BaseDoc|yii\apidoc\models\PseudoTypeDoc|yii\apidoc\models\PseudoTypeImportDoc $subject, string|null $title null, array $options = [], yii\apidoc\models\TypeDoc|null $type null )
$subject yii\apidoc\models\BaseDoc|yii\apidoc\models\PseudoTypeDoc|yii\apidoc\models\PseudoTypeImportDoc
$title string|null
$options array

Additional HTML attributes for the link.

$type yii\apidoc\models\TypeDoc|null

createTypeLink() public method

Defined in: yii\apidoc\renderers\BaseRenderer::createTypeLink()

Creates a link to a type (class, interface or trait)

public string createTypeLink ( yii\apidoc\models\BaseDoc|yii\apidoc\models\BaseDoc[]|\phpDocumentor\Reflection\Type|\phpDocumentor\Reflection\Type[]|string|string[]|null $types, yii\apidoc\models\BaseDoc|null $context null, string|null $title null, array $options = [], ?\yii\apidoc\models\TypeDoc $currentTypeDoc null )
$types yii\apidoc\models\BaseDoc|yii\apidoc\models\BaseDoc[]|\phpDocumentor\Reflection\Type|\phpDocumentor\Reflection\Type[]|string|string[]|null
$context yii\apidoc\models\BaseDoc|null
$title string|null

A title to be used for the link TODO check whether [[yii...|Class]] is supported

$options array

Additional HTML attributes for the link.

$currentTypeDoc ?\yii\apidoc\models\TypeDoc

generateApiUrl() public abstract method

Defined in: yii\apidoc\renderers\BaseRenderer::generateApiUrl()

Generate an url to a type in apidocs

public abstract mixed generateApiUrl ( mixed $typeName )
$typeName mixed

                abstract public function generateApiUrl($typeName);

            
generateGuideUrl() public method

Defined in: yii\apidoc\renderers\BaseRenderer::generateGuideUrl()

Generate an url to a guide page

public string generateGuideUrl ( string $file )
$file string

                public function generateGuideUrl($file)
{
    //skip parsing external url
    if ((str_contains($file, 'https://')) || (str_contains($file, 'http://'))) {
        return $file;
    }
    $hash = '';
    if (($pos = strpos($file, '#')) !== false) {
        $hash = substr($file, $pos);
        $file = substr($file, 0, $pos);
    }
    return rtrim((string) $this->guideUrl, '/') . '/' . $this->guidePrefix . basename($file, '.md') . '.html' . $hash;
}

            
generateLink() protected abstract method

Defined in: yii\apidoc\renderers\BaseRenderer::generateLink()

Generate link markup

protected abstract mixed generateLink ( mixed $text, mixed $href, array $options = [] )
$text mixed
$href mixed
$options array

Additional HTML attributes for the link.

init() public method
public mixed init ( )

                public function init()
{
    ApiMarkdown::$renderer = $this;
    ApiMarkdownLaTeX::$renderer = $this;
}

            
loadGuideStructure() protected method

Loads guide structure from a set of files

protected array loadGuideStructure ( array $files )
$files array

                protected function loadGuideStructure($files)
{
    $chapters = [];
    foreach ($files as $file) {
        $contents = file_get_contents($file);
        if (basename((string) $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((string) $file);
        }
    }
    return $chapters;
}

            
render() public abstract method

Render markdown files

public abstract mixed render ( array $files, mixed $targetDir )
$files array

List of markdown files to render

$targetDir mixed

                abstract public function render($files, $targetDir);