#!/usr/bin/php get($url)->getBody()->getContents(); $json = json_decode($data, true); $results[$image] = array_merge($results[$image], $json['results']); if ($json['next']) { $url = $json['next']; } else { $allLoaded = true; } } } $tableBuilder = new TableBuilder(); $tableBuilder->headers(['Name', 'Architecture', 'Size', 'Last Updated', 'Microbadger']); $tableBuilder->align(['L','L', 'R','R','C']); foreach($results as $image => $variants){ foreach($variants as $variant) { $fullImageName = $image . ":" . $variant['name']; $megabytes = number_format($variant['full_size'] / 1024 / 1024, 2); $sizeColour = 'green'; if($megabytes > 150){ $sizeColour = 'orange'; } if($megabytes > 180){ $sizeColour = 'red'; } $arches = []; foreach($variant['images'] as $archSpecificImage){ $arches[] = $archSpecificImage['architecture']; } $tableBuilder->row([ $fullImageName, strtoupper(implode(", ", $arches)), "[![Layers](https://img.shields.io/badge/{$megabytes}MB-{$sizeColour}.svg)](https://hub.docker.com/r/{$image})", date("Y-m-d H:i:s", strtotime($variant['last_updated'])), "[![](https://images.microbadger.com/badges/image/{$fullImageName}.svg)](https://microbadger.com/images/{$fullImageName} \"Get your own image badge on microbadger.com\")", ]); } } $readme = file_get_contents(__DIR__ ."/../README.template"); $readme = str_replace("{{TABLE}}", $tableBuilder->render(), $readme); file_put_contents(__DIR__ . "/../README.md", $readme);