diff --git a/cache/lastCache.txt b/cache/lastCache.txt index 5a63a82..8d19340 100644 --- a/cache/lastCache.txt +++ b/cache/lastCache.txt @@ -1 +1 @@ -1543940450 \ No newline at end of file +1544124516 \ No newline at end of file diff --git a/system/Controllers/ContentApiController.php b/system/Controllers/ContentApiController.php index 9c075b3..ed5ab46 100644 --- a/system/Controllers/ContentApiController.php +++ b/system/Controllers/ContentApiController.php @@ -668,8 +668,11 @@ class ContentApiController extends ContentController $blockArray = $parsedown->text($blockMarkdown); } + # needed for ToC links + $relurl = '/tm/content/' . $this->settings['editor'] . '/' . $this->item->urlRel; + /* parse markdown-content-array to content-string */ - $blockHTML = $parsedown->markup($blockArray); + $blockHTML = $parsedown->markup($blockArray, $relurl); return $response->withJson(array('content' => $blockHTML, 'markdown' => $blockMarkdown, 'blockId' => $blockId, 'id' => $id, 'errors' => false)); } diff --git a/system/Controllers/ContentBackendController.php b/system/Controllers/ContentBackendController.php index 55d713f..6c5770c 100644 --- a/system/Controllers/ContentBackendController.php +++ b/system/Controllers/ContentBackendController.php @@ -127,14 +127,17 @@ class ContentBackendController extends ContentController # turn markdown into an array of markdown-blocks $content = $parsedown->markdownToArrayBlocks($content); } - + + # needed for ToC links + $relurl = '/tm/content/' . $this->settings['editor'] . '/' . $this->item->urlRel; + foreach($content as $key => $block) { /* parse markdown-file to content-array */ $contentArray = $parsedown->text($block); /* parse markdown-content-array to content-string */ - $content[$key] = $parsedown->markup($contentArray); + $content[$key] = $parsedown->markup($contentArray, $relurl); } # extract title and delete from content array, array will start at 1 after that. diff --git a/system/Controllers/PageController.php b/system/Controllers/PageController.php index 75251d3..f458393 100644 --- a/system/Controllers/PageController.php +++ b/system/Controllers/PageController.php @@ -132,9 +132,9 @@ class PageController extends Controller /* get the first image from content array */ $firstImage = $this->getFirstImage($contentArray); - + /* parse markdown-content-array to content-string */ - $contentHTML = $parsedown->markup($contentArray); + $contentHTML = $parsedown->markup($contentArray, $item->urlRel); $contentHTML = $this->c->dispatcher->dispatch('onHtmlLoaded', new OnHtmlLoaded($contentHTML))->getData(); /* extract the h1 headline*/ diff --git a/system/Extensions/ParsedownExtension.php b/system/Extensions/ParsedownExtension.php index cb0d652..85ce938 100644 --- a/system/Extensions/ParsedownExtension.php +++ b/system/Extensions/ParsedownExtension.php @@ -25,7 +25,7 @@ class ParsedownExtension extends \ParsedownExtra return $Elements; } - function markup($Elements) + function markup($Elements, $relurl) { # convert to markup $markup = $this->elements($Elements); @@ -39,7 +39,7 @@ class ParsedownExtension extends \ParsedownExtra # create table of contents if(isset($this->DefinitionData['TableOfContents'])) { - $TOC = $this->buildTOC($this->headlines); + $TOC = $this->buildTOC($this->headlines, $relurl); $markup = preg_replace('%(
]*>\[TOC\]
)%i', $TOC, $markup); } @@ -108,9 +108,8 @@ class ParsedownExtension extends \ParsedownExtra # build the markup for table of contents - protected function buildTOC($headlines) + protected function buildTOC($headlines, $relurl) { - $markup = '