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, CacheInterface::class => fn (FilesystemAdapter $a) => $a, MarkdownPageRepo::class => fn (CachedMarkdownPageRepo $r) => $r, MarkdownParser::class => fn (ParsedownParser $p) => $p, // 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(), MarkdownPageFilesystem::class => fn (Settings $s) => new MarkdownPageFilesystem($s->pagesPath), CachedMarkdownPageRepo::class => fn (CacheInterface $c, MarkdownPageFilesystem $r, Settings $s) => new CachedMarkdownPageRepo($c, $r, $s), EntityManagerInterface::class => fn (DoctrineEm $f) => $f->create(), ];