ocubom/twig-html-extension

一组用于HTML操作的Twig过滤器

v2.1.0 2023-12-06 10:48 UTC

This package is auto-updated.

Last update: 2024-09-07 10:34:42 UTC


README

Ocubom Twig HTML 扩展

一组用于HTML操作的Twig过滤器

Contributors Forks Stargazers Issues License

Version CI Code Quality Coverage

探索文档

报告错误 · 请求功能

内容

关于TwigHtmlExtension

TwigHtmlExtension 是一组用于HTML操作的 Twig过滤器

这个套件最初是基于 nochso/html-compress-twig 的内部类,用于允许使用 wyrihaximus/html-compress 与Twig 3.0。这个类曾经嵌入到几个项目中。随着时间的推移,每个项目都对其版本做了轻微的调整,导致开发碎片化和维护困难。因此,开发被统一在这个扩展中,以便在它对其他项目有用时公开。

入门

安装

只需使用 composer 添加依赖项

composer require ocubom/twig-html-extension

或者手动添加依赖项

  1. 使用以下行更新 composer.json 文件

    {
        "require": {
            "ocubom/twig-html-extension": "^1.0.0"
        }
    }
  2. 然后更新依赖项

    composer update "ocubom/twig-html-extension"

使用

只需注册Twig扩展

$twig = new \Twig\Environment();
$twig->addExtension(new \Ocubom\Twig\Extension\HtmlExtension());
$thig->addRuntimeLoader(use Twig\RuntimeLoader\FactoryRuntimeLoader([
    \Ocubom\Twig\Extension\HtmlAttributesRuntime::class => function() {
        return new \Ocubom\Twig\Extension\HtmlAttributesRuntime();
    },
    \Ocubom\Twig\Extension\HtmlCompressRuntime::class => function() {
        return new \Ocubom\Twig\Extension\HtmlCompressRuntime();
    },
]));

// You can also dynamically create a RuntimeLoader 
$twig->addRuntimeLoader(new class() implements RuntimeLoaderInterface {
    public function load($class)
    {
        if (\Ocubom\Twig\Extension\HtmlAttributesRuntime::class === $class) {
            return new \Ocubom\Twig\Extension\HtmlAttributesRuntime();
        }
        
        if (\Ocubom\Twig\Extension\HtmlCompressRuntime::class === $class) {
            return new \Ocubom\Twig\Extension\HtmlCompressRuntime();
        }
        
        return null;
    }
});

有关更多示例,请参阅文档

路线图

有关建议功能(和已知问题的完整列表)的详细信息,请参阅开放问题

贡献

贡献使得开源社区成为一个如此美妙的学习、灵感和创造的地方。您做出的任何贡献都将被 高度重视

如果您有改进此项目的建议,请 fork 存储库并创建一个拉取请求。您也可以简单地通过标签 "enhancement" 打开一个问题。

  1. 分支项目。
  2. 创建您的功能分支(git checkout -b feature/your-feature)。
  3. 提交您的更改(git commit -m 'Add your-feature')。
  4. 将分支推送到远程仓库(git push origin feature/your-feature)。
  5. 打开一个拉取请求。

作者

请参阅参与此项目的贡献者列表

许可协议

在MIT许可下分发。有关更多信息,请参阅LICENSE