2017 © Pedro Peláez
 

patternlab-plugin plugin-twig-namespaces

Twig Namespaces for Pattern Lab

image

evanlovely/plugin-twig-namespaces

Twig Namespaces for Pattern Lab

  • Saturday, November 11, 2017
  • by EvanLovely
  • Repository
  • 0 Watchers
  • 3 Stars
  • 53,913 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 3 Open issues
  • 5 Versions
  • 22 % Grown

The README.md

Packagist Gitter, (*1)

Twig Namespaces Plugin for Pattern Lab

This adds namespaces to Twig in Pattern Lab., (*2)

Installation

To add this plugin to your project using Composer type:, (*3)

composer require evanlovely/plugin-twig-namespaces

See Packagist for information on the latest release., (*4)

Usage

In config.yml, add this:, (*5)

plugins:
  twigNamespaces:
    enabled: true
    roots: 
      - ../root1
      - ../root2
    namespaces:
      foo:
        recursive: true
        paths:
          - ../bar
          - ../baz

Paths are relative to composer.json and vendor/ in the same directory as the config directory (not config file). Assuming this folder structure, (*6)

  • pattern-lab/
    • config/
    • config.yml
    • composer.json
  • root1/
    • 01-mountains/
    • hood.twig
    • 02-rivers
    • sandy.twig
  • bar/
    • item1.twig
    • subdir/
      • subitem1.twig
  • baz/
    • item2.twig

You could now use this in Twig:, (*7)

{% include "@mountains/hood.twig" %}
{% include "@rivers/sandy.twig" %}
{@ include "@foo/item1.twig" %}
{@ include "@foo/subitem1.twig" %}
{@ include "@foo/item2.twig" %}

You can use either the roots or the namespaces approach without the other. The roots approach is how Pattern Lab registers the namespaces of all folders under source/_patterns/ like @atoms and is therefore useful for including files from other Pattern Labs (watch out for namespace collisions - i.e. you can only have one @atoms). And the namespaces approach is how the Drupal Component Libraries module registers Twig namespaces, though it could also be used to register the core modules template files in Pattern Lab so you could {% extend "@blocks/block.html.twig" %} if you'd like. If using namespaces and you set recursive: true, then it will add all sub directories., (*8)

Also, you can set twigNamespaces.readFromFile to a path to a JSON or Yaml file and it will read those contents and use it in place of twigNamespaces.namespaces., (*9)

Disabling the Plugin

To disable the plugin you can either directly edit ./config/config.yml or use the command line option:, (*10)

php core/console --config --set plugins.twigNamespaces.enabled=false

Happy Pattern Labbing!, (*11)

The Versions

11/11 2017

dev-master

9999999-dev http://patternlab.io

Twig Namespaces for Pattern Lab

  Sources   Download

MIT

The Requires

 

twig pattern lab

11/11 2017

v1.1.1

1.1.1.0 http://patternlab.io

Twig Namespaces for Pattern Lab

  Sources   Download

MIT

The Requires

 

twig pattern lab

11/11 2017

v1.1.0

1.1.0.0 http://patternlab.io

Twig Namespaces for Pattern Lab

  Sources   Download

MIT

The Requires

 

twig pattern lab

12/10 2016

v1.0.0

1.0.0.0 http://patternlab.io

Twig Namespaces for Pattern Lab

  Sources   Download

MIT

The Requires

  • php >=5.4

 

twig pattern lab

11/10 2016

v0.1.0

0.1.0.0 http://patternlab.io

Twig Namespaces for Pattern Lab

  Sources   Download

MIT

The Requires

  • php >=5.4

 

twig pattern lab