From 51d6c0fafd2ef2f36495f93f8933f4936e279b3d Mon Sep 17 00:00:00 2001 From: Javier Eguiluz Date: Mon, 13 Sep 2021 16:02:22 +0200 Subject: [PATCH] Fix some edge-case related to TOCs of docs without titles --- src/Generator/JsonGenerator.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Generator/JsonGenerator.php b/src/Generator/JsonGenerator.php index 6a087b6..bc6cdd6 100644 --- a/src/Generator/JsonGenerator.php +++ b/src/Generator/JsonGenerator.php @@ -68,13 +68,15 @@ public function generateJson(string $masterDocument = 'index'): array $crawler = new Crawler(file_get_contents($this->buildConfig->getOutputDir().'/'.$filename.'.html')); + // happens when some doc is a partial included in other doc an it doesn't have any titles + $toc = false === current($metaEntry->getTitles()) ? [] : $this->generateToc($metaEntry, current($metaEntry->getTitles())[1]); $next = $this->determineNext($parserFilename, $flattenedTocTree, $masterDocument); $prev = $this->determinePrev($parserFilename, $flattenedTocTree); $data = [ 'title' => $metaEntry->getTitle(), 'parents' => $this->determineParents($parserFilename, $tocTreeHierarchy) ?: [], 'current_page_name' => $parserFilename, - 'toc' => $toc = $this->generateToc($metaEntry, current($metaEntry->getTitles())[1]), + 'toc' => $toc, 'toc_options' => TocExtension::getOptions($toc), 'next' => $next, 'prev' => $prev,