Returns the default template engine

@return Eden\Handlebars\Index
488482
public function getEngine()
    {
        if($this->engine) {
            return $this->engine;
        }

        //get the template path
        $path = eve()->path('template');

        //create engine
        $this->engine = eve('handlebars');

        //add helpers
        $helpers = include(__DIR__.'/helpers.php');

        foreach($helpers as $name => $callback) {
            $this->engine->registerHelper($name, $callback);
        }

        return $this->engine;
    }
699152
private function getTemplate()
    {
        if ($this->template) {
            return $this->template;
        }

        return $this->template = $this->twig->load('@EkynaCms/Editor/Block/tabs.html.twig');
    }
695449
public static function getEngine()
    {
        if (!static::$engine) {
            $loader = new \Twig_Loader_Filesystem();
            $loader->setPaths(__DIR__ . '/../../views');
            foreach (app('extension')->getExtensions() as $extension) {
                $path = $extension->getPath() . '/views';
                if (file_exists($path)) {
                    $loader->setPaths($path, $extension->getPackage());
                }
            }
            static::$engine = new \Twig_Environment($loader);
            static::$engine->addGlobal('assets', static::getAssetManager());
            static::$engine->addGlobal('config', Config::get());
        }
        return static::$engine;
    }
278211
public function template() {

		if ( is_null( $this->template ) ) {
			$this->template = $this->locate();
		}

		return $this->template;
	}
623118
public function create()
	{
		$out	= $this->template;																	//  local copy of set template
		$out	= $this->loadNestedTemplates( $out );												//  search for nested templates and load them
		
		foreach( $this->plugins as $plugin )
			if( $plugin->type == 'pre' )
				$out	= $plugin->work( $out );

 		$out	= preg_replace( '/<%--.*--%>/sU', '', $out );										//  remove template engine style comments
 		if( self::$removeComments )																	//  HTML comments should be removed
			$out	= preg_replace( '/<!--.+-->/sU', '', $out );									//  find and remove all HTML comments 
 		if( self::$removeOptional )																	//  optional parts should be removed
			$out	= preg_replace( '/<%\?--.+--%>/sU', '', $out );									//  find and remove optional parts
		else																						//  otherwise
			$out	= preg_replace( '/<%\?--(.+)--%>/sU', '\\1', $out );							//  find, remove markup but keep content

		foreach( $this->elements as $label => $element )											//  iterate over all registered element containers
		{
			$tmp = '';																				//  
			if( is_object( $element ) )																//  element is an object
			{
				if( !( $element instanceof $this->className ) )										//  object is not an template of this template engine
					continue;																		//  skip this one
				$element = $element->create();														//  render template before concat
			}
			$tmp	.= $element;
			$out	= preg_replace( '/<%(\?)?' . preg_quote( $label, '/' ) . '%>/', $tmp, $out );	//  find placeholder and set in content
 		}
		$out = preg_replace( '/<%\?.*%>/U', '', $out );    											//  remove left over optional placeholders
#        $out = preg_replace( '/\n\s+\n/', "\n", $out );												//  remove double line breaks

		foreach( $this->plugins as $plugin )
			if( $plugin->type == 'post' )
				$out	= $plugin->work( $out );

		$tags = array();																			//  create container for left over placeholders
		if( preg_match_all( '/<%.*%>/U', $out, $tags ) === 0 )										//  no more placeholders left over
		    return $out; 																			//  return final result

		$tags	= array_shift( $tags );																//  
		foreach( $tags as $key => $value )
			$tags[$key]	= preg_replace( '@(<%\??)|%>@', "", $value );
		if( $this->fileName )
			throw new Exception_Template( Exception_Template::FILE_LABELS_MISSING, $this->fileName, $tags );
		throw new Exception_Template( Exception_Template::LABELS_MISSING, NULL, $tags );
	}
1007094
public static function getDefault()
    {
        if (static::$_default != null) {
            return static::$_default;
        }

        // check if running into laravel context
        if (Context::checkLaravel()) {
            static::$_default = new self(['socket' => 'Laravel']);

            return static::$_default;
        }

        // check if registered container
        if (Context::checkContainer()) {
            return Context::getContainerDatabase();
        }
    }
993873
protected function getTemplate()
    {
        if ($this->template === null) {
            $this->template = \Tx_Oelib_TemplateRegistry::get(
                $this->templateFileName
            );
        }

        return $this->template;
    }
1204618
public function getTemplate()
    {
        $view = 'articles' . str_replace('//', '.', $this->slug);
        if (view()->exists($view)) {
            return $view;
        }

        return $this->hasTemplate() ? $this->blade_template : 'article.show';
    }
374425
public function getPanel(): string
    {
        $params = [
            'class'                   => get_class($this->translator),
            'listUsedTranslate'       => $this->translator->getListUsedTranslate(),         // list used translate index
            'listAllDefaultTranslate' => $this->translator->getListAllDefaultTranslate(),   // list default translate
            'listDefaultTranslate'    => $this->translator->getListDefaultTranslate(),      // list default translate path
            'dictionary'              => $this->translator->getDictionary(),                // list dictionary
        ];
        $latte = new Engine;
        return $latte->renderToString(__DIR__ . '/PanelTemplate.latte', $params);
    }
999545
public function getToolbar()
    {
        $view = $this->_template->getView();
        $toolbar = $view->getState()->toolbar;
        if (!$toolbar) {
            $controller = $this->getController($view->getName());
            $toolbar = $controller->getIdentifier()->name;
            if ($controller->hasToolbar($toolbar)) {
                $toolbar = $controller->getToolbar($toolbar);
            }
            $controller->toolbar = $toolbar;
        }

        return $view->getState()->toolbar;
    }
1372167
public function resolveTemplate()
    {
        if (strpos($this->template, '*') !== false) {
            return str_replace('*', $this->getTheme(), $this->template);
        }
        return $this->template;
    }
360451
public function getEngine($new = false)
    {
        if (!$this->engine || $new) {
            $this->engine = new \Mustache_Engine($this->config->get('options', []));
        }

        return $this->engine;
    }
311176
public function getConfigTreeBuilder()
    {
        $builder = new TreeBuilder();

        $builder
            ->root('alchemy_embed')
                ->children()
                    ->arrayNode('exceptions')
                        ->addDefaultsIfNotSet()
                        ->children()
                            ->arrayNode('content_types')
                                ->fixXmlConfig('content_type')
                                ->addDefaultChildrenIfNoneSet()
                                ->prototype('scalar')
                                    ->defaultValue('application/json')
                                ->end()
                            ->end()
                            ->scalarNode('enabled')->defaultTrue()->end()
                            ->scalarNode('transformer')->defaultNull()->end()
                        ->end()
                    ->end()
                ->end()
            ->end();

        return $builder;
    }
560316
public function getTemplatesToGenerate()
    {
        return parent::getTemplatesToGenerate() + array(
            'ListBuilderTemplate'.self::TWIG_EXTENSION
                => 'Resources/views/'.$this->getBaseGeneratorName().'List/index.html.twig',
            'List/FiltersBuilderTemplate'.self::TWIG_EXTENSION
                => 'Resources/views/'.$this->getBaseGeneratorName().'List/filters.html.twig',
            'List/ResultsBuilderTemplate'.self::TWIG_EXTENSION
                => 'Resources/views/'.$this->getBaseGeneratorName().'List/results.html.twig',
            'List/RowBuilderTemplate'.self::TWIG_EXTENSION
                => 'Resources/views/'.$this->getBaseGeneratorName().'List/row.html.twig',
        );
    }
558792
protected function getEngine()
    {
        Template::addPath(dirname(__DIR__).'/templates');
        $template = new Template();
        $template->addExtension(HtmlExtension::class);
        return $template->initialize();
    }
811277
final private function getTemplate() {
		
		if (!$this->template or !$this->template->areKeysPopulated()) {
			$this->template = Template::getDefault();
		}
		
		// if this is derived template, load derived.php file
		if ($this->template->derived) {
			$derivedFile = $this->template->getBaseFolder() . '/'  . strtolower($this->template->name) . '/derived.php';
			if (file_exists($derivedFile)) require $derivedFile;
		}
		
		return $this->template;

	}
690395
public function getTemplate()
    {
        if (null === $this->template) {
            $this->template = $this->getTemplatePathDefault('layout');
        }

        return $this->template;
    }