Content.php

<?php
// echo '<pre>';
// print_r($project);
// echo '</pre>';

$path = $project->fileForPath($url = $url ?? $project->file);


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;