array(..), 'mdText'=>string) function loadMarkdownFile($fileName){ $fileText = file_get_contents($fileName); $fileParts = preg_split('/[\n]*[-]{3}[\n]/', $fileText, 3); return array( 'yaml' => Spyc::YAMLLoadString($fileParts[1]) , 'mdText' => preg_replace("/^#(.*)$/m", "", $fileParts[2]) ); } /// @brief Gibt die URL der gerade aufgerufenen Seite zurück function getCurPagesUrl(){ $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on"){ $pageURL .= "s"; } $pageURL .= "://"; if($_SERVER["SERVER_PORT"] != "80"){ $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else{ $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $pageURL; } function htmlCardCode($article, $Parsedown){ if( empty($article['yaml']) && empty($article['mdText']) ) return ""; return "
" ."
" ."
" .( array_key_exists('yaml', $article) ?( array_key_exists('video', $article['yaml']) ?( "" ) :"" ) :"" ) ."
" ."
" ."" .$article['yaml']['title'] ."+" ."" ."
" ."
" ."" .$article['yaml']['title'] ."X" ."" .$Parsedown->text($article['mdText']) ."
" ."
" ."
"; } ?> Gürtelprüfungsordnung menu ".$kyuMetadata['title'].""); $dirNames = []; $dirIterator = new DirectoryIterator( $mdRoot ); foreach ( $dirIterator as $dirInfo ) { if(!$dirInfo->isDir() || $dirInfo->isDot()) continue; $dirNames[] = $dirInfo->__toString(); } sort($dirNames); foreach($dirNames as $dirName){ $fullDirName = $mdRoot."/".$dirName; $sectionMetadata = Spyc::YAMLLoad( $fullDirName."/meta.yaml" ); echo("
"); echo("

".$sectionMetadata['title']."

"); $fileIterator = new DirectoryIterator($fullDirName); $fileNames = []; foreach($fileIterator as $fileInfo){ if(!$fileInfo->isFile()) continue; if( $fileInfo->getExtension() != "md") continue; $fileNames[] = $fileInfo->__toString(); } sort($fileNames); foreach( $fileNames as $fileName){ $fullFileName = $fullDirName."/".$fileName; $article = loadMarkdownFile( $fullFileName ); echo( htmlCardCode($article, $Parsedown) ); } echo("
"); }; ?>