Yosymfony\Spress\Core\ContentManager\Converter\ConverterManager::convertItem PHP Method

convertItem() public method

Converts an item. This method uses the SNAPSHOT_PATH_RELATIVE of Item path.
public convertItem ( Yosymfony\Spress\Core\DataSource\ItemInterface $item ) : Yosymfony\Spress\Core\ContentManager\Converter\ConverterResult
$item Yosymfony\Spress\Core\DataSource\ItemInterface The item
return Yosymfony\Spress\Core\ContentManager\Converter\ConverterResult
    public function convertItem(ItemInterface $item)
    {
        $path = $item->getPath(ItemInterface::SNAPSHOT_PATH_RELATIVE);
        $str = new StringWrapper($path);
        $extension = $str->getFirstEndMatch($this->textExtensions);
        if ($extension === '') {
            $extension = pathinfo($path, PATHINFO_EXTENSION);
        }
        return $this->convertContent($item->getContent(), $extension);
    }

Usage Example

 public function testConvertItemNoTextExtension()
 {
     $cm = new ConverterManager(['html']);
     $cm->addConverter(new MapConverter());
     $item = new Item('text', 'file.unknow');
     $item->setPath('file.unknow', Item::SNAPSHOT_PATH_RELATIVE);
     $result = $cm->convertItem($item);
     $this->assertEquals('text', $result->getResult());
     $this->assertEquals('unknow', $result->getExtension());
 }