Mannequin Twig is a command line application that you can use to visualize and work on your Twig Templates in the browser. For example, you might use it to work on the templates inside of a Symfony or Silex application.
Quick Start
Using Composer, install Mannequin Twig from your project root. From the command line:
$ composer require lastcall/mannequin-twig
Next, create a new .mannequin.php
file in your project root. This file is where you will configure Mannequin. Inside of that file:
/**
* Create a finder to search and list the Twig template files.
*/
$twigTemplates = Finder::create()
->files()
->in(__DIR__.'/templates')
->name('*.twig');
$twigExtension = new TwigExtension([
'finder' => $twigTemplates,
'twig_root' => __DIR__,
]);
/*
* Create and return the configuration. Don't forget to return it!
*/
return MannequinConfig::create()
// JS and CSS can either be local (relative paths from the root),
// or remote (absolute URLs)
->setGlobalJs(['https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/js/foundation.min.js'])
->setGlobalCss(['https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/css/foundation.css'])
->addExtension($twigExtension);
See all of the configuration options, or view an example project
Setting up Components
While the .mannequin.php
file tells Mannequin where to find your components, you still need to describe them to Mannequin. To do that, we use a special YAML formatted comment block at the top of your twig files. For example, to describe a "Card" component living inside of card.html.twig
, you would add the following at the top of the file:
{# @Component
name: Card
group: Molecule
samples:
Small:
title: I am a small card
body: Lorem ipsum...
classes: ['small']
#}
<div class="{{ classes|join(' ') }}">
...
</div>
See the full YAML reference here
Workflow
When you're ready to begin work on your templates, you can use the following worklow:
-
Fire up a live development server so you can see your component. From the command line:
$ vendor/bin/mannequin start
- This will output a URL for the Mannequin UI. Visit it in your browser.
- In the UI, find the component you want to work on.
- Open the file, and make your changes.
- Reload the UI to see how your changes look.