Fix markup for image from external sources for Confluence
This commit is contained in:
parent
5ada801e6d
commit
b7983f101b
@ -16,5 +16,7 @@ class CommonMarkConverter extends \Todaymade\Daux\ContentTypes\Markdown\CommonMa
|
|||||||
//Add code renderer
|
//Add code renderer
|
||||||
$environment->addBlockRenderer('FencedCode', new FencedCodeRenderer());
|
$environment->addBlockRenderer('FencedCode', new FencedCodeRenderer());
|
||||||
$environment->addBlockRenderer('IndentedCode', new IndentedCodeRenderer());
|
$environment->addBlockRenderer('IndentedCode', new IndentedCodeRenderer());
|
||||||
|
|
||||||
|
$environment->addInlineRenderer('Image', new ImageRenderer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
<?php namespace Todaymade\Daux\Format\Confluence\ContentTypes\Markdown;
|
||||||
|
|
||||||
|
use League\CommonMark\ElementRendererInterface;
|
||||||
|
use League\CommonMark\HtmlElement;
|
||||||
|
use League\CommonMark\Inline\Element\AbstractInline;
|
||||||
|
use League\CommonMark\Inline\Element\Image;
|
||||||
|
|
||||||
|
class ImageRenderer extends \League\CommonMark\Inline\Renderer\ImageRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Image $inline
|
||||||
|
* @param ElementRendererInterface $htmlRenderer
|
||||||
|
*
|
||||||
|
* @return HtmlElement
|
||||||
|
*/
|
||||||
|
public function render(AbstractInline $inline, ElementRendererInterface $htmlRenderer)
|
||||||
|
{
|
||||||
|
// External Images need special handling
|
||||||
|
if (strpos($inline->getUrl(), 'http') === 0) {
|
||||||
|
return new HtmlElement(
|
||||||
|
'ac:image',
|
||||||
|
[],
|
||||||
|
new HtmlElement('ri:url', ['ri:value' => $inline->getUrl()])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::render($inline, $htmlRenderer);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user