Content.php
<?php
// echo '<pre>';
// print_r($project);
// echo '</pre>';
$path = $router->fileFor($url = $url ?? '');
if (is_dir($path)
&&file_exists($readme=$path.'README.md')){
$file=$readme;
$source = file_get_contents($readme);
$extension = 'md';
} else if (is_dir($path)){
$extension = 'md';
$source = $lia->view('Docu/DirListing',['url'=>$url,'project'=>$project,'router'=>$router]);
} else if (is_file($path)) {
$file = $path;
$source = file_get_contents($file);
$extension = pathinfo($file,PATHINFO_EXTENSION);
} else {
ob_start();
$router->handleProjectError(\Taeluf\ProjectViewer\ProjectRouter::FILE_NOT_FOUND, '');
$source = '## '.ob_get_clean();
$extension = 'md';
}
$mimetype = \Lia\Content\RawContent::extensionMimeType($extension);
$mimeparts = explode('/',$mimetype);
if ($mimeparts[0]=='image'){
$blob = 'data:'.$mimetype.';base64,'.base64_encode($source);
$html = '<img src="'.$blob.'" />';
// var_dump($path);
// var_dump($page);
// exit;
} else if ($extension=='md'){
$cm = new \League\CommonMark\CommonMarkConverter([
'html_input' => 'strip',
'allow_unsafe_links' => false,
]);
$source = $source;
$html = $cm->convertToHtml($source);
} else {
$source = htmlentities($source);
$basename = basename($path);
$html =
<<<HTML
<h2>{$basename}</h2>
<pre><code class="language-{$extension}">{$source}</code></pre>
HTML;
}
echo $html;