flash.moe/tpl/projects.php

86 lines
3.4 KiB
PHP
Raw Normal View History

<?php
2022-09-27 01:58:32 +00:00
$self->extends('master');
$self->header_title = 'flash.moe / projects';
$self->block('container', function($self) {
?>
<?php foreach($self->sections as $sectionId => $section): ?>
<div class="section" id="section-<?=$sectionId;?>">
<div class="section-content">
<div class="section-background"></div>
<h1><?=$section['title'];?></h1>
<p><?=$section['desc'];?></p>
</div>
</div>
<?php
foreach($section['items'] as $project):
$links = [];
if($project->hasHomePageUrl())
$links[] = ['class' => 'homepage', 'text' => 'Homepage', 'url' => $project->getHomePageUrl()];
if($project->hasSourceUrl())
$links[] = ['class' => 'repository', 'text' => 'Source', 'url' => $project->getSourceUrl()];
if($project->hasDiscussionUrl())
$links[] = ['class' => 'forum', 'text' => 'Discussion', 'url' => $project->getDiscussionUrl()];
$descLines = $project->hasDescription() ? $project->getDescription()->trim()->split("\n") : [];
$langs = $self->languages->getByProject($project);
if($project->hasColour())
$colour = $project->getColour();
else
foreach($langs as $lang)
if($lang->hasColour()) {
$colour = $lang->getColour();
break;
}
$colour = str_pad(dechex($colour), 6, '0', STR_PAD_LEFT);
?>
<div class="project project-type-<?=$sectionId;?>" id="<?=$project->getCleanName();?>" style="--project-colour: #<?=$colour;?>;">
<div class="project-content">
<div class="project-details">
<h2><?=$project->getName();?><div class="project-languages">
<?php
foreach($langs as $lang):
$langColour = str_pad(dechex($lang->getColour() ?? 0), 6, '0', STR_PAD_LEFT);
?>
<div class="project-language" style="--language-colour: #<?=$langColour;?>;"><?=$lang->getName();?></div>
<?php endforeach; ?>
</div></h2>
<?php if($project->hasSummary()): ?>
<p class="project-details-summary"><?=$project->getSummary();?></p>
<?php endif; ?>
<?php
foreach($descLines as $line):
$line = $line->trim();
if($line->isEmpty())
continue;
?>
<p><?=$line;?></p>
<?php endforeach; ?>
</div>
<?php if(!empty($links)): ?>
<div class="project-links">
<?php foreach($links as $link): ?>
<a class="project-link project-link-<?=$link['class'];?>" href="<?=$link['url'];?>" rel="noopener" target="_blank"><?=$link['text'];?></a>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
<?php
});