mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-09 00:46:31 +00:00
c142a3268e
* 3.x: Fix CHANGELOG Fix support for ignoring syntax erros in an undefined handler in guard Add missing CHANGELOG Fix timezone conversion on strings Use correct lineno for ForElseNode Add support for registered undefined element callbacks in tests Add UnaryInterface Add BinaryInterface Reimplement the cache tag in an adhoc way Fix CS Fix wrong array index Fix wrong array index Bump min PHP version to 8.1 Add even more tests Add some tests on balanced brackets Bump version Prepare the 3.19.0 release Added configuration for commonmark use in twig-extra-bundle.
53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Twig.
|
|
*
|
|
* (c) Fabien Potencier
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Twig\Extra\TwigExtraBundle\DependencyInjection;
|
|
|
|
use League\CommonMark\CommonMarkConverter;
|
|
use Symfony\Component\Config\FileLocator;
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Extension\Extension;
|
|
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
|
|
use Twig\Extra\TwigExtraBundle\Extensions;
|
|
|
|
/**
|
|
* @author Fabien Potencier <fabien@symfony.com>
|
|
*/
|
|
class TwigExtraExtension extends Extension
|
|
{
|
|
public function load(array $configs, ContainerBuilder $container): void
|
|
{
|
|
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Resources/config'));
|
|
$configuration = $this->getConfiguration($configs, $container);
|
|
$config = $this->processConfiguration($configuration, $configs);
|
|
|
|
if ($container->getParameter('kernel.debug')) {
|
|
$loader->load('suggestor.php');
|
|
}
|
|
|
|
foreach (array_keys(Extensions::getClasses()) as $extension) {
|
|
if ($this->isConfigEnabled($container, $config[$extension])) {
|
|
$loader->load($extension.'.php');
|
|
|
|
if ('markdown' === $extension && class_exists(CommonMarkConverter::class)) {
|
|
$loader->load('markdown_league.php');
|
|
|
|
if ($container->hasDefinition('twig.markdown.league_common_mark_converter_factory')) {
|
|
$container
|
|
->getDefinition('twig.markdown.league_common_mark_converter_factory')
|
|
->setArgument('$config', $config['commonmark'] ?? []);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|