nepada/texy-nette

Texy integration for Nette.

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

README

Build Status Coverage Status Downloads this Month Latest stable

Installation

Via Composer:

$ composer require nepada/texy-nette

Register the extension in config.neon:

extensions:
    texy: Nepada\Bridges\TexyDI\TexyExtension

Usage

Configuration

This extension contains simple Texy factory that only creates new instance of Texy\Texy.

Usually you will want to define your own factory by implementing Nepada\Texy\TexyFactory, often more than one.

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

    defaultMode: foo

This example adds two custom factories. Note the names foo and bar - we call these Texy "modes". In different parts of your application you might need to use different mode (i.e. differently configured instance of Texy).

In templates

There are 2 new tags for processing blocks and single lines, both with possibility to specify a custom mode:

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

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

Alternatively, you can use one of 3 filters to achieve similar result:

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

In presenters and other controls

The preferred way is to inject Nepada\Texy\TexyMultiplier instance wherever you need it, and either use it directly or pull out desired Texy instance, e.g:

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