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
|
||||
$environment->addBlockRenderer('FencedCode', new FencedCodeRenderer());
|
||||
$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