From 63a2ffc0b1722b0f271e8d1e0f3e6d34a9fcd37c Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Fri, 23 Jan 2015 17:09:37 -0700 Subject: [PATCH] fix for markdown images/links in pages with slug override --- system/src/Grav/Common/Grav.php | 1 - system/src/Grav/Common/Markdown/ParsedownGravTrait.php | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/system/src/Grav/Common/Grav.php b/system/src/Grav/Common/Grav.php index 26d68300f..2d39ae4dd 100644 --- a/system/src/Grav/Common/Grav.php +++ b/system/src/Grav/Common/Grav.php @@ -128,7 +128,6 @@ class Grav extends Container } } - // If no page found, fire event $event = $c->fireEvent('onPageNotFound'); diff --git a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php index 0039c653e..b893fa60c 100644 --- a/system/src/Grav/Common/Markdown/ParsedownGravTrait.php +++ b/system/src/Grav/Common/Markdown/ParsedownGravTrait.php @@ -210,16 +210,16 @@ trait ParsedownGravTrait { // if absolute and starts with a base_url move on if ($this->base_url != '' && strpos($markdown_url, $this->base_url) === 0) { - $new_url = $markdown_url; + return $markdown_url; // if its absolute and starts with / } elseif (strpos($markdown_url, '/') === 0) { - $new_url = $this->base_url . $markdown_url; + return $this->base_url . $markdown_url; } else { $relative_path = $this->base_url . $this->page->route(); + $real_path = $this->page->path() . '/' . parse_url($markdown_url, PHP_URL_PATH); - // If this is a 'real' filepath clean it up - if (file_exists($this->page->path() . '/' . parse_url($markdown_url, PHP_URL_PATH))) { - $relative_path = $this->base_url . preg_replace('/\/([\d]+\.)/', '/', str_replace($this->pages_dir, '', $this->page->path())); + // strip numeric order from markdown path + if (($real_path)) { $markdown_url = preg_replace('/^([\d]+\.)/', '', preg_replace('/\/([\d]+\.)/', '/', trim(preg_replace('/[^\/]+(\.md$)/', '', $markdown_url), '/'))); }