* @since 2.0 */ class ApiMarkdown extends GithubMarkdown { use ApiMarkdownTrait; /** * @var BaseRenderer */ public static $renderer; /** * @var array translation for guide block types * @since 2.0.5 */ public static $blockTranslations = []; protected $renderingContext; protected $headings = []; /** * @return array the headlines of this document * @since 2.0.5 */ public function getHeadings() { return $this->headings; } /** * @inheritDoc */ protected function prepare() { parent::prepare(); $this->headings = []; } public function parse($text) { $markup = parent::parse($text); $markup = $this->applyToc($markup); return $markup; } /** * @since 2.0.5 */ protected function applyToc($content) { // generate TOC if (!empty($this->headings)) { $toc = []; foreach ($this->headings as $heading) $toc[] = '
language} language-{$block['language']}\">{$result->value}language}\">{$result->value}