$item) { // Use year as the first dimension if (!array_key_exists($item->year, $timeline)) { $timeline[$item->year] = []; } // And month as the second dimension if (!array_key_exists($item->month, $timeline[$item->year])) { $timeline[$item->year][$item->month] = []; } // Lastly, day as the third dimension if (!array_key_exists($item->day, $timeline[$item->year][$item->month])) { $timeline[$item->year][$item->month][$item->day] = []; } // Append Work instance on Timeline object to the output array by year->month->day $timeline[$item->year][$item->month][$item->day][] = $item->work; // Bail out here if we've reached the theshold for items to display if ($limit && $idx === $limit) { return $timeline; } } return $timeline; } } ?>

This timeline has most but not all of my FOSS software. If you want to see a list of all things I've created for the free software world, check out my repos on Codeberg or Forgejo.

$months): ?>

$days): ?>

$items): ?>

tags()): ?>
tags() as $tag): ?>

label->name ?>

title): ?>

title ?>

summary ?>

actions()): ?>