Example #1
0
 function get($extension)
 {
     $extension = Template::normalizeExtension($extension);
     if (empty($this->engines[$extension])) {
         return;
     }
     return $this->engines[$extension];
 }
Example #2
0
 function __construct($root = null)
 {
     $this->root = $root;
     $this->loadPaths = new FileUtils\PathStack($this->root);
     $this->engines = Template::getEngines();
     # Enable resolving logical paths without extension.
     $this->loadPaths->appendExtensions(array_keys($this->engines->getEngines()));
     $this->loadPaths->appendExtensions(array_keys($this->contentTypes));
     $this->preProcessors = new ProcessorRegistry();
     $this->postProcessors = new ProcessorRegistry();
     $this->bundleProcessors = new ProcessorRegistry();
     $this->registerEngine('\\Pipe\\JstProcessor', '.jst');
     # Override Mustache compiler with more useful Mustache to JS compiler,
     # which is usable with the JST processor
     $this->registerEngine('\\MetaTemplate\\Template\\MustacheJsTemplate', '.mustache');
     # Register default processors
     $this->registerPreProcessor('text/css', '\\Pipe\\ImportProcessor');
     $this->registerPreProcessor('text/css', '\\Pipe\\DirectiveProcessor');
     $this->registerPreProcessor('application/javascript', '\\Pipe\\DirectiveProcessor');
     $this->registerPostProcessor('application/javascript', '\\Pipe\\SafetyColons');
 }
Example #3
0
 function testReturnsNullIfExtensionHasNoEngine()
 {
     $this->assertNull(Template::get('foo.erb'));
 }
 function testExtensionRegistered()
 {
     $templ = \MetaTemplate\Template::create(__DIR__ . '/fixtures/jsonbuilder/test.jsonbuilder');
     $this->assertInstanceOf('\\MetaTemplate\\Template\\JSONBuilderTemplate', $templ);
 }
Example #5
0
     * @return \MetaTemplate\Template\Base
     */
    static function create($source, $options = array(), $callback = null)
    {
        return static::getEngines()->create($source, $options, $callback);
    }
    /**
     * Registers an engine with an file extension
     *
     * @param  string $engine The Engine Class
     * @param  string|array $extension One ore more extensions
     * @return void
     */
    static function register($engine, $extension)
    {
        static::getEngines()->register($engine, $extension);
    }
    static function normalizeExtension($extension)
    {
        return Path::normalizeExtension($extension);
    }
    static function setupDefaultEngines()
    {
        $defaultEngines = array('PhpTemplate' => array('php', 'phtml'), 'LessTemplate' => array('less'), 'MarkdownTemplate' => array('md', 'markdown'), 'SassTemplate' => array('scss', 'sass'), 'CoffeeScriptTemplate' => array('coffee'), 'TwigTemplate' => array('twig'), 'JSONBuilderTemplate' => array('jsonbuilder'), 'TypeScriptTemplate' => array('.ts'));
        foreach ($defaultEngines as $engine => $extensions) {
            static::register("\\MetaTemplate\\Template\\{$engine}", $extensions);
        }
    }
}
Template::setupDefaultEngines();