fn (SystemClockNow $n) => $n, ResponseFactoryInterface::class => fn (ResponseFactory $rf) => $rf, Emitter::class => fn (BasicEmitter $e) => $e, MiddlewareInterface::class => fn (RouteMiddleware $r) => $r, RoutedRequestHandler::class => fn (InvokerRoutedHandler $h) => $h, RequestFactory::class => fn (DiactorosRequestFactory $rf) => $rf, MarkdownParser::class => fn (ParsedownParser $p) => $p, MarkdownPageRepo::class => fn (CachedMarkdownPageRepo $r) => $r, EasyCache::class => fn (ApcuCache $c) => $c, CachedMarkdownPageRepo::class => fn (EasyCache $c, FileSystemMarkdownPageRepo $r) => new CachedMarkdownPageRepo($c, $r), // Factories ResponseInterface::class => fn (ResponseFactory $rf) => $rf->createResponse(), ServerRequestInterface::class => fn (RequestFactory $rf) => $rf->fromGlobals(), Renderer::class => fn (Mustache_Engine $e) => new MustacheRenderer($e), MLF::class => fn (Settings $s) => new MLF($s->templateDir, ['extension' => $s->templateExtension]), ME::class => fn (MLF $mfl) => new ME(['loader' => $mfl]), Dispatcher::class => fn () => simpleDispatcher(require __DIR__ . '/routes.php'), Pipeline::class => fn (PipelineProvider $p) => $p->getPipeline(), FileSystemMarkdownPageRepo::class => fn (Settings $s) => new FileSystemMarkdownPageRepo($s->pagesPath), ];