protected function extractAssetContent($asset)
{
$assetSettings = $this->extractAssetSettings($asset);
$fileRelativePathAndFilename = $assetSettings['path'];
$fileRelativePath = dirname($assetSettings['path']);
$absolutePathAndFilename = GeneralUtility::getFileAbsFileName($fileRelativePathAndFilename);
$isExternal = true === isset($assetSettings['external']) && true === (bool) $assetSettings['external'];
$isFluidTemplate = true === isset($assetSettings['fluid']) && true === (bool) $assetSettings['fluid'];
if (false === empty($fileRelativePathAndFilename)) {
if (false === $isExternal && false === file_exists($absolutePathAndFilename)) {
throw new \RuntimeException('Asset "' . $absolutePathAndFilename . '" does not exist.');
}
if (true === $isFluidTemplate) {
$content = $this->renderAssetAsFluidTemplate($asset);
} else {
$content = $this->buildAsset($asset);
}
} else {
$content = $this->buildAsset($asset);
}
if ('css' === $assetSettings['type'] && true === (bool) $assetSettings['rewrite']) {
$content = $this->detectAndCopyFileReferences($content, $fileRelativePath);
}
return $content;
}