Class yii\apidoc\templates\json\ApiRenderer

Inheritanceyii\apidoc\templates\json\ApiRenderer » yii\apidoc\renderers\ApiRenderer » yii\apidoc\renderers\BaseRenderer » yii\base\Component
Implementsyii\base\ViewContextInterface
Available since extension's version2.0.5
Source Code https://github.com/yiisoft/yii2-apidoc/blob/master/templates/json/ApiRenderer.php

The class for outputting documentation data structures as a JSON text.

Constants

Hide inherited constants

Constant Value Description Defined By
GUIDE_PREFIX 'guide-' Deprecated since 2.0.1 use $guidePrefix instead which allows configuring this options 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 ( $subject, $title null, $options = [] )
$subject yii\apidoc\models\PropertyDoc|yii\apidoc\models\MethodDoc|yii\apidoc\models\ConstDoc|yii\apidoc\models\EventDoc
$title string
$options array

Additional HTML attributes for the link.

createTypeLink() public method

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

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

public string createTypeLink ( $types, $context null, $title null, $options = [] )
$types yii\apidoc\models\ClassDoc|yii\apidoc\models\InterfaceDoc|yii\apidoc\models\TraitDoc|yii\apidoc\models\ClassDoc[]|yii\apidoc\models\InterfaceDoc[]|yii\apidoc\models\TraitDoc[]|string|string[]
$context yii\apidoc\models\BaseDoc
$title string

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

$options array

Additional HTML attributes for the link.

generateApiUrl() public method

Generate an url to a type in apidocs

public mixed generateApiUrl ( $typeName )
$typeName

                public function generateApiUrl($typeName)
{
}

            
generateFileName() protected method

protected void generateFileName ( $typeName )
$typeName

                protected function generateFileName($typeName)
{
}

            
generateGuideUrl() public method

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

Generate an url to a guide page

public string generateGuideUrl ( $file )
$file string

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

            
generateLink() protected method

Generate link markup

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

Additional HTML attributes for the link.

getSourceUrl() public method

public void getSourceUrl ( $type, $line null )
$type
$line

                public function getSourceUrl($type, $line = null)
{
}

            
getViewPath() public method

public void getViewPath ( )

                public function getViewPath()
{
}

            
init() public method
public void init ( )

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

            
render() public method

Writes a given yii\apidoc\models\Context as JSON text to file 'types.json'.

public void render ( $context, $targetDir )
$context yii\apidoc\models\Context

The api documentation context to render.

$targetDir

                public function render($context, $targetDir)
{
    $types = array_merge($context->classes, $context->interfaces, $context->traits);
    foreach($types as $name => $type) {
        $types[$name] = (array) $type;
        if ($type instanceof ClassDoc) {
            $types[$name]['type'] = 'class';
        } elseif ($type instanceof InterfaceDoc) {
            $types[$name]['type'] = 'interface';
        } elseif ($type instanceof TraitDoc) {
            $types[$name]['type'] = 'trait';
        }
    }
    file_put_contents($targetDir . '/types.json', json_encode($types, JSON_PRETTY_PRINT));
}