No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec/InFw/Pug
src/InFw/Pug
templates
.codeclimate.yml
.gitignore
.scrutinizer.yml
.travis.yml
CHANGELOG.md
README.md
composer.json
phpcs.xml.dist
phpspec.yml.dist
phpstan.neon
phpunit.xml.dist

README.md

Expressive Phug Template Renderer

Scrutinizer Code Quality Code Coverage Build Status Maintainability

Zend Expressive template renderer based on PHP Pug template engine

Installation

Install with composer

For Zend expressive 3

composer require infw/pug

For Zend expressive 2

composer require infw/pug:0.0.2

Enable config provider

<?php
// config/config.php

use Zend\ConfigAggregator\ArrayProvider;
use Zend\ConfigAggregator\ConfigAggregator;
use Zend\ConfigAggregator\PhpFileProvider;

// To enable or disable caching, set the `ConfigAggregator::ENABLE_CACHE` boolean in
// `config/autoload/local.php`.
$cacheConfig = [
    'config_cache_path' => 'data/cache/config-cache.php',
];

$aggregator = new ConfigAggregator([
    \InFw\Pug\ConfigProvider::class,

    ...

    new PhpFileProvider('config/autoload/{{,*.}global,{,*.}local}.php'),

    // Load development config if it exists
    new PhpFileProvider('config/development.config.php'),
], $cacheConfig['config_cache_path']);

return $aggregator->getMergedConfig();

Enable dependencies

<?php
// config/autoload/templates.global

use Zend\Expressive\Template\TemplateRendererInterface;
use InFw\Pug\PugRendererFactory;

return [
    'dependencies' => [
        'factories' => [
            TemplateRendererInterface::class => PugRendererFactory::class,
        ],
    ],

    'templates' => [
        'extension' => 'pug',
    ],
];

Config options

// config/autoload/templates.global.php
    ...
        'pug' => [
            'pretty' => true,
            'expressionLanguage' => 'js',
            'pugjs' => false,
            'localsJsonFile' => false,
            'cache' => 'data/cache/pug',
            'template_path' => 'templates/',
            'default_params' => [
                // globals go here option will be deprecate on 1.0.0 version
                // '*' => [
                //     param => mixed value
                // ]
                // template default params
                // 'template_path::name' => [
                //     param => mixed value
                // ]
            ],
            'filters' => [
                // filter_name => invokable class
            ],
            'keywords' => [
                // keyword => invokable class
            ],
            'helpers' => [
                // helper_name => invokable class
            ]
        ],
    ...    

See full PHP Pug documentation for more detail.