various improvements to image handling .. still some places to fix

This commit is contained in:
Andy Miller
2016-02-02 18:48:39 -07:00
parent 3541ea8ec8
commit c4e72819a6
7 changed files with 67 additions and 12 deletions

View File

@@ -255,7 +255,7 @@ trait ParsedownGravTrait
$medium->urlHash($url['fragment']);
}
$excerpt['element'] = $medium->parseDownElement($title, $alt, $class);
$excerpt['element'] = $medium->parseDownElement($title, $alt, $class, true);
} else {
// not a current page media file, see if it needs converting to relative

View File

@@ -1,6 +1,7 @@
<?php
namespace Grav\Common\Page\Medium;
use Grav\Common\Utils;
use Grav\Common\Data\Blueprint;
class ImageMedium extends Medium
@@ -136,7 +137,15 @@ class ImageMedium extends Medium
*/
public function url($reset = true)
{
$output = preg_replace('|^' . preg_quote(GRAV_ROOT) . '|', '', $this->saveImage());
$pages_dir = self::$grav['locator']->findResource('page://');
$image_path = self::$grav['locator']->findResource('cache://images', true);
$image_dir = self::$grav['locator']->findResource('cache://images', false);
$output = preg_replace('|^' . preg_quote($pages_dir) . '|', '', $this->saveImage());
if (Utils::startsWith($output, $image_path)) {
$output = '/' . $image_dir . preg_replace('|^' . preg_quote($image_path) . '|', '', $output);
}
if ($reset) {
$this->reset();
@@ -155,6 +164,7 @@ class ImageMedium extends Medium
if (!$this->image) {
$this->image();
}
return $this;
}
@@ -261,6 +271,7 @@ class ImageMedium extends Medium
if ($this->image) {
$this->image();
$this->image->clearOperations(); // Clear previously applied operations
$this->querystring('');
$this->filter();
}

View File

@@ -155,7 +155,7 @@ class Medium extends Data implements RenderableInterface
*/
public function querystring($querystring = null, $withQuestionmark = true)
{
if ($querystring) {
if (!is_null($querystring)) {
$this->set('querystring', ltrim($querystring, '?&'));
foreach ($this->alternatives as $alt) {