use Pagekit\View\Helper\MapHelper;
use Pagekit\View\Helper\MarkdownHelper;
use Pagekit\View\Helper\MetaHelper;
use Pagekit\View\Helper\ScriptHelper;
use Pagekit\View\Helper\SectionHelper;
use Pagekit\View\Helper\StyleHelper;
use Pagekit\View\Helper\TokenHelper;
use Pagekit\View\Helper\UrlHelper;
use Pagekit\View\Loader\FilesystemLoader;
use Pagekit\View\PhpEngine;
use Pagekit\View\View;
use Symfony\Component\HttpFoundation\Response;
return ['name' => 'view', 'main' => function ($app) {
$app['view'] = function ($app) {
$view = new View(new PrefixEventDispatcher('view.', $app['events']));
$view->addEngine(new PhpEngine(null, isset($app['locator']) ? new FilesystemLoader($app['locator']) : null));
$view->addGlobal('app', $app);
$view->addGlobal('view', $view);
$view->addHelpers([new DataHelper(), new DeferredHelper($app['events']), new GravatarHelper(), new MapHelper(), new MetaHelper(), new ScriptHelper($app['scripts']), new SectionHelper(), new StyleHelper($app['styles']), new UrlHelper($app['url'])]);
if (isset($app['csrf'])) {
$view->addHelper(new TokenHelper($app['csrf']));
}
if (isset($app['markdown'])) {
$view->addHelper(new MarkdownHelper($app['markdown']));
}
return $view;
};
$app['assets'] = function () {
return new AssetFactory();
};
$app['styles'] = function ($app) {