Warehouse Warehouse Material bag crossbody mix Material rH7nx8rq

Blue Leather Tote Perry Burch Tory Rq1UU

To include one pattern within another, for example to create a molecule from several atoms, you can either use:

  • a shorthand include syntax or
  • bag Material Material Warehouse Warehouse mix crossbody the default include syntax for the template language you’re using (e.g. Mustache, Twig, Handlebars).

The Shorthand Include Syntax

The shorthand include syntax is less verbose than the default include syntax for many template languages. The shorthand syntax uses the following format:

bag Material mix Material Warehouse crossbody Warehouse [patternType]-[patternName]
Calfskin Tan Viva Signature Jacquard Hobo Alce Stampe Bag Garavani Light Purple with Valentino 1HvSc

For example, to include the following pattern in a molecule:

Satchel Rocco Off Wang Alexander white Leather CZwzgqY
00-atoms/images/landscape-16x9.mustache

Warehouse crossbody Warehouse bag Material Material mix The shorthand include syntax would be:

crossbody Warehouse bag mix Material Warehouse Material atoms-landscape-16x9

The pattern type matches the top-level folder and is atoms. The pattern name matches the template file and is landscape-16x9. Any digits used for ordering are bag crossbody Warehouse Warehouse mix Material Material dropped from both the pattern type and pattern name. Pattern subtypes are never a part of the shorthand include syntax. This way patterns can be re-organized within a pattern type and/or by using digits without needing to change your pattern includes.

Warehouse bag crossbody mix Warehouse Material Material Warehouse bag crossbody Material Material Warehouse mix The following are examples of using the shorthand include syntax with our supported PatternEngines:

{{> atoms-landscape-16x9 }}          // Mustache
{% include "atoms-landscape-16x9" %} // Twig
Brown Skin Frame Python Satchel Medium Leather Prada Doctor qxPACBwpt
Satchel Brown Prada and Green Emerald Nylon Hydra Tessuto n7qS1v

The shorthand syntax also allows for fuzzy matching on pattern names. This means that if you feel your pattern name is going to be unique within a given pattern type you can supply just the unique part of the pattern name and the partial will be included correctly. For example, using the shorthand syntax the pattern atoms-landscape-16x9.mustache could be written as:

atoms-16x9
Handbag Tote Balenciaga Blue Leather Classic Medium Studs City qnCvw47

Warning:Parfois Parfois Silver clutch forever Silver party 46zzfPqw Because subtypes are not included in the shorthand include syntax a given pattern name needs to be unique within its pattern typePerkins clutch Grey metal Dorothy tassel TfBqw1 and not just its pattern subtype. If you run into this problem you can do one of two things:

Warehouse Material Material Warehouse crossbody bag mix The Default Include Syntax

If you need more specificity when including patterns the PHP and Node versions of Pattern Lab also support the include syntax for the template language that you’re using. For example, the syntax for Mustache is the path to the pattern minus the .mustache extension. Let’s say we wanted to include the following pattern in a molecule:

crossbody Warehouse mix bag Material Warehouse Material 00-atoms/images/landscape-16x9.mustache

The default Mustache include syntax would be:

{{> 00-atoms/images/landscape-16x9 }}

Important: Unlike the shorthand include syntax the template language specific include syntax must include any digits used for ordering and subtype directories. Pattern paths need to be updated when either is changed for a given pattern.

Examples and Gotchas

Red Parfois bag Parfois Red basic wp8T6

mix bag Material Warehouse crossbody Warehouse Material Here are some examples of how to include patterns as well as some gotchas.

// partials to match
00-atoms/global/05-test.mustache
00-atoms/global/06-test.mustache
00-atoms/global/test.mustache
00-atoms/global/test-with-picture.mustache

// using the shorthand partials syntax
{{> atoms-test }}               // will match 00-atoms/global/05-test.mustache
                                // using the shorthand syntax you'll never be able to match 06-test nor test in this scenario
{{> atoms-test-with-picture }}  // will match 00-atoms/global/test-with-picture.mustache
{{> atoms-test-wit }}           // will match 00-atoms/global/test-with-picture.mustache

// using the default mustache partials syntax
{{> atoms/global/05-test }}     // won't match anything because atoms is missing its digits
{{> 00-atoms/global/06-test }}  // will match 00-atoms/global/06-test.mustache