From 047610f314d34b9861af102dc24d6ab192bb346e Mon Sep 17 00:00:00 2001 From: Egbert Teeselink Date: Thu, 25 Aug 2016 23:15:15 +0200 Subject: [PATCH] Add support for anchors on internal links --- libs/ContentTypes/Markdown/LinkRenderer.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libs/ContentTypes/Markdown/LinkRenderer.php b/libs/ContentTypes/Markdown/LinkRenderer.php index 4d9844e..d70a73e 100644 --- a/libs/ContentTypes/Markdown/LinkRenderer.php +++ b/libs/ContentTypes/Markdown/LinkRenderer.php @@ -87,10 +87,19 @@ class LinkRenderer extends \League\CommonMark\Inline\Renderer\LinkRenderer return $element; } + // if there's a hash component in the url, ensure we + // don't put that part through the resolver. + $urlAndHash = explode("#", $url); + $url = $urlAndHash[0]; + $file = $this->resolveInternalFile($url); $url = DauxHelper::getRelativePath($this->daux->getCurrentPage()->getUrl(), $file->getUrl()); + if(isset($urlAndHash[1])) { + $url .= "#" . $urlAndHash[1]; + } + $element->setAttribute('href', $url); return $element;