bluecadet/timber-fractal-paths

There is no license information available for the latest version (3.0.0) of this package.

A custom twig loader for Timber and Fractal

Installs: 1 950

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 3

Forks: 0

Open Issues: 0

Type:wordpress-plugin

3.0.0 2023-07-14 15:10 UTC

This package is auto-updated.

Last update: 2024-05-14 17:07:31 UTC


README

Custom loader that allows Fractal paths to reroute to Fractal files.

Fractal

Your Fractal build should use a twig engine. You can then call your fractal patterns as is typical of Fractal:

{% include
  '@patterns/components/awesome-pattern' with {
    data: {
      title: 'Hi',
      content: 'Am content'
    }
  }
%}

{% include
  '@patterns/components/cool-patterns/real-cool-pattern' with {
    data: {
      title: 'Hi',
      content: 'Am content'
    }
  }
%}

The loader will attempt to load a .twig file matching the parent folders name, which is the last item in the include path. This assumes that you have the following file structure (given the above example):

THEME_DIR
- fractal
  - patterns
    - awesome-pattern
      - awesome-pattern.twig
    - cool-patterns
      - really-cool-pattern
        - really-cool-pattern.twig

@patterns is the default namespace used in this plugin, but @components is typical for Fractal.

Configuration

Namespace defaults to '@patterns'. Define FRACTAL_HANDLE in your theme to change the handle (DO NOT use @ in the definition, i.e. 'patterns' not '@patterns').

define('FRACTAL_HANDLE', 'patterns' );

Path defaults to 'THEME_PATH/fractal/patterns' (get_stylesheet_directory() . '/fractal/patterns'). Define FRACTAL_PATH in your theme to change the handle (DO NOT use @ in the definition, i.e. 'patterns' not '@patterns').

define('FRACTAL_PATH', get_stylesheet_directory() . '/fractal/patterns' );

Want to add other Custom Loaders?

The timber_fractal_paths/loaders provides and array of loaders before they are pushed into the custom chain loader. Create your loader, add it to the array, and return it.

add_filter('timber_fractal_paths/loaders', function($loaders) {
  $loaders[] = new SomeCustomLoaderClass($paths);
  return $loaders;
}));

The scaffolding of this plugin came from weareindi/timber-custom-loader