register(new Silex\Provider\TwigServiceProvider(), array( 'twig.path' => __DIR__.'/views', 'twig.options' => array('cache' => __DIR__.'/cache'), )); $app->register(new Git\GitServiceProvider(), array( 'git.client' => $config['git']['client'], 'git.repos' => $config['git']['repositories'], )); $app->register(new Application\UtilsServiceProvider()); $app->register(new Silex\Provider\UrlGeneratorServiceProvider()); $app['twig'] = $app->share($app->extend('twig', function($twig, $app) { // Add the md5() function to Twig scope $twig->addFilter('md5', new Twig_Filter_Function('md5')); return $twig; })); // Load controllers include 'controllers/indexController.php'; include 'controllers/treeController.php'; include 'controllers/blobController.php'; include 'controllers/commitController.php'; include 'controllers/statsController.php'; include 'controllers/rssController.php'; // Error handling $app->error(function (\Exception $e, $code) use ($app) { return $app['twig']->render('error.twig', array( 'message' => $e->getMessage(), )); }); $app->run();