kzykhys/twig-extensions

v0.1.0 2013-12-20 10:08 UTC

This package is not auto-updated.

Last update: 2024-09-10 02:19:50 UTC


README

Latest Unstable Version Build Status Coverage Status SensioLabsInsight

Twig增加更多乐趣。灵感来自 Jinja2、Jekyll ...

{% block css %}
  <style type="text/css">
  {% less %}
    {% include 'mixins.less' %}
    .container {
      .row {
        &:first-child { margin-bottom: @m; }
      }
    }
  {% endless %}
  </style>
{% endblock %}

{% unless user.active %}
  <div class="alert">Please <a href="#">Login</a></div>
{% endunless %}

{{ gist(6421704) }}

{{ post.content|markdown }}

{% pygments brainfuck linenos %}
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.
------------.<++++++++.--------.+++.------.--------.>+.
{% endpygments %}

自定义文件系统加载器

<?php

use KzykHys\TwigExtensions\Loader\Filesystem;

$loader = new Filesystem('/path/to/templates');
$twig   = new Twig_Environment($loader);

$twig->render(array('date.twig', 'archive.twig', 'default.twig'));

要求

  • PHP5.3

可选要求

  • Python2.4+ 和 Pygments (kzykhys/Pygments.php) 用于 SyntaxHighlight 扩展

    {
        "require": {
            "kzykhys/pygments": ">=1.0"
        }
    }
  • PHP5.4+ 和 kzykhys/Ciconia 用于 Markdown 扩展

    {
        "require": {
            "kzykhys/ciconia": ">=1.0"
        }
    }
  • leafo/lessphp 用于 Less 扩展

    {
        "require": {
            "leafo/lessphp": ">=0.4"
        }
    }
  • symfony/process 用于 Pipe 扩展

    {
        "require": {
            "symfony/process": ">=2.3"
        }
    }

安装

{
    "require": {
        "kzykhys/twig-extensions": "dev-master"
    }
}
<?php

use KzykHys\TwigExtensions\ExtensionAggregate;

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig   = new Twig_Environment($loader);

// Registers all extensions
$twig->setExtensions(ExtensionAggregate::getExtensions());

扩展列表

将扩展注册到 Twig

注册所有功能扩展

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig   = new Twig_Environment($loader);
$twig->setExtensions(ExtensionAggregate::getExtensions());

或注册您喜欢的扩展

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig   = new Twig_Environment($loader);
$twig->addExtension(new \KzykHys\TwigExtensions\Extension\Core());
$twig->addExtension(new \KzykHys\TwigExtensions\Extension\Snippet());

Twig 扩展参考

标签

过滤器

函数

测试

许可

MIT 许可证

作者

Kazuyuki Hayashi (@kzykhys)