get('/etc.php', mkiRedirect('/etc')); $router->get('/etc.html', mkiRedirect('/etc')); $router->get('/etcetera', mkiRedirect('/etc')); $router->get('/etcetera.html', mkiRedirect('/etc')); $router->get('/etcetera.php', mkiRedirect('/etc')); $router->get('/misc', mkiRedirect('/etc')); $router->get('/misc.html', mkiRedirect('/etc')); $router->get('/misc.php', mkiRedirect('/etc')); $router->get('/etc', function() { $links = [ [ 'title' => 'ASCII Table', 'desc' => 'ASCII character set table with minor filtering functionality.', 'link' => '//flash.moe/ascii.php', ], [ 'title' => 'IP Address Display', 'desc' => 'Looks up both your IPv4 and IPv6 addresses and display them to you.', 'link' => '//ip.flash.moe', ], [ 'title' => 'MIDI Collection', 'desc' => 'My collection of MIDI and SF2 files.', 'link' => '//flash.moe/midis', ], [ 'title' => 'Randomised Keys', 'desc' => 'Generates a number of random keys at various lengths using a secure random number generator.', 'link' => '//flash.moe/key.php', ], [ 'title' => 'Forum Archive', 'desc' => 'Temporary archive of the flash.moe message board.', 'link' => '//forum.flash.moe', ], [ 'title' => 'The Abyss', 'desc' => 'Accumulated collection of historical trash. Beware that the things here are unaltered products of their time.', 'link' => '//abyss.flash.moe', ], ]; $historical = [ [ 'title' => 'flash.moe / 2014', 'desc' => 'The first iteration of flash.moe. Very simple and to the point.', 'link' => '//2014.flash.moe', ], [ 'title' => 'flash.moe / 2015', 'desc' => 'My first attempt to make something with a properly thought out design. It\'s definitely a first attempt.', 'link' => '//2015.flash.moe', ], [ 'title' => 'flash.moe / 2018', 'desc' => 'An attempt at a redesign that didn\'t go anywhere. I wanted to go all in on the pixel grid aesthetic but phones made it difficult so this was never used.', 'link' => '//2018.flash.moe', ], [ 'title' => 'flash.moe / 2019', 'desc' => 'A return to basics. Just a blog, a bar with links and a list of projects. I attempted to add the necessary fallbacks to make this version of the site work well in IE5.5 and Netscape 4.', 'link' => '//2019.flash.moe', ], [ 'title' => 'flash.moe / 2020', 'desc' => 'A refinement of the 2019 design, largely based on the same code also. Added more subpages but with a more consistent look.', 'link' => '//2020.flash.moe', ], [ 'title' => 'flash.moe / 2021', 'desc' => 'I always thought previous iterations of flash.moe lacked personality. I threw out a lot of preconceptions when making the 2021 design and I think it paid off. Currently this is still the face of flash.moe but the backend is pretty much entirely different, I\'m planning an overhaul that puts more focus on the blog again and also fixes the JSON trash navigation issues.', 'link' => '//2021.flash.moe', ], ]; $body = fm_component('header', [ 'title' => 'flash.moe / etcetera', ]); $body .= <<

Etcetera

HTML; foreach($links as $link) { $body .= <<

{$link['title']}

{$link['desc']}

HTML; } $body .= <<

Historical

HTML; foreach($historical as $link) { $body .= <<

{$link['title']}

{$link['desc']}

HTML; } $body .= fm_component('footer'); return $body; });