/**
  * Constructor
  *
  * @param array $config An array of default values.
  */
 public function __construct($config)
 {
     $this->config = $config;
     ShortcodesTrait::setShortcodesClass($this);
     // Set up Twig environment
     $this->loader = new \Twig_Loader_Array([]);
     $this->twig = new Twig\Environment($this->loader, ['use_strict_variables' => false]);
     // Set up sandbox for parsing shortcodes
     $this->policy = new \Twig_Sandbox_SecurityPolicy();
     $this->twig->addExtension(new \Twig_Extension_Sandbox($this->policy, true));
     $this->policy->setAllowedTags($this->loadShortcodes());
     // Modify lexer to match special shortcode syntax
     $lexer = new \Twig_Lexer($this->twig, array('tag_comment' => ['{#', '#}'], 'tag_block' => ['{{%', '%}}'], 'tag_variable' => ['{#', '#}'], 'interpolation' => ['#{', '}']));
     $this->twig->setLexer($lexer);
 }