Skip to content

Latest commit

 

History

History
68 lines (44 loc) · 2.33 KB

README.md

File metadata and controls

68 lines (44 loc) · 2.33 KB

Texy integration for Nette

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

This extension relies on nepada/template-factory - make sure you've enabled it as well.

Usage

Configuration

This extension contains simple Texy factory that only creates new instance of Texy\Texy and sets output mode to HTML5.

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

Latte templates come with a couple of filters that you can use:

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

You can pass the name of custom mode as an argument to each of the filters.

Deprecated: Alternatively, you can wrap your code into macro {texyMode modeName}...{/texyMode}, which changes the default mode for all calls inside.

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');