protected function generatePage()
{
$this->initialize();
$params = $this->params;
$entry_page = [];
if ($this->homepage) {
if ($params->isMultilanguage()) {
foreach ($params['languages'] as $key => $name) {
$entry_page[$name] = $params['base_page'] . $params['entry_page'][$key]->getUrl();
}
} else {
$entry_page['View Documentation'] = $params['base_page'] . $params['entry_page']->getUrl();
}
}
$page = ['entry_page' => $entry_page, 'homepage' => $this->homepage, 'title' => $this->file->getTitle(), 'filename' => $this->file->getName(), 'language' => $this->language, 'path' => $this->file->getPath(), 'relative_path' => $this->file->getRelativePath(), 'modified_time' => filemtime($this->file->getPath()), 'markdown' => $this->content, 'request' => $params['request'], 'content' => $this->getPureContent(), 'breadcrumbs' => $params['html']['breadcrumbs'], 'prev' => $this->file->getPrevious(), 'next' => $this->file->getNext()];
if ($page['breadcrumbs']) {
$page['breadcrumb_trail'] = $this->getBreadcrumbTrail($this->file->getParents(), $params->isMultilanguage());
$page['breadcrumb_separator'] = $params['html']['breadcrumb_separator'];
}
$context = ['page' => $page, 'params' => $params];
$template = new Template($params['templates'], $params['theme']['templates']);
return $template->render($this->homepage ? 'theme::home' : 'theme::content', $context);
}