nepada/texy-nette

Nette 的 Texy 集成。

v5.1.0 2023-09-28 07:48 UTC

README

Build Status Coverage Status Downloads this Month Latest stable

安装

通过 Composer

$ composer require nepada/texy-nette

config.neon 中注册扩展

extensions:
    texy: Nepada\Bridges\TexyDI\TexyExtension

使用方法

配置

此扩展包含一个简单的 Texy 工厂,它只创建 Texy\Texy 的新实例。

通常,您会希望通过实现 Nepada\Texy\TexyFactory 定义自己的工厂,可能不止一个。

texy:
    factories:
        foo: @fooTexyFactory
        bar: @barTexyFactory

    defaultMode: foo

此示例添加了两个自定义工厂。注意名称 foobar - 我们称这些为 Texy 的“模式”。在应用程序的不同部分,您可能需要使用不同的模式(即不同配置的 Texy 实例)。

在模板中

有 2 个新的标签用于处理块和单行,两者都可以指定自定义模式

{texy fooMode}
    - one
    - two
{/texy}

<p>
    {texyLine barMode}Whatever...{/texyLine}
</p>

或者,您可以使用 3 个过滤器中的任何一个来达到类似的效果

  • |texy:customMode 调用 $texyMultiplier->processBlock()
  • |texyLine:customMode 调用 $texyMultiplier->processLine()
  • |texyTypo:customMode 调用 $texyMultiplier->processTypo()

在演示者和其他控件中

首选的方法是在需要的地方注入 Nepada\Texy\TexyMultiplier 实例,然后直接使用它或提取所需的 Texy 实例,例如

$multiplier->processBlock($text, 'myMode');
$texy = $multiplier->getTexy('myMode');