theme-lib-mix icon indicating copy to clipboard operation
theme-lib-mix copied to clipboard

globally/static config eg set default path?

Open codemonkeynorth opened this issue 3 years ago • 2 comments

Hi,

it'd be useful to be able to globally set the path to something other than build so it doesn't need to be called every time I call mix

I will probably be using it a lot in my templates, but my files are in dist, so ideally I could configure this in my bootstrap functions

<script src="{{ mix('js/app.js') }}"></script>
<link rel="stylesheet" href="{{ mix('css/app.css')" />

also it would be good if you could namespace your class/methods to Mindkomm maybe?

anyway in the meantime I've done it like this (adding the namespace to your file):

public function add_to_twig( $twig ) {
    $twig->addFunction( new \Timber\Twig_Function( 'mix', [$this, 'mix']));
    return $twig;
}

public function mix($path) {
    return \Mindkomm\mix($path, ['manifest_directory' => 'dist']);
}

hope that's useful to somebody.

codemonkeynorth avatar May 27 '22 03:05 codemonkeynorth

it'd be useful to be able to globally set the path to something other than build so it doesn't need to be called every time I call mix

You can already do that using the theme/mix/args/defaults filter:

functions.php

add_filter( 'theme/mix/args/defaults', function( $defaults ) {
    $defaults['manifest_directory'] = 'dist';

    return $defaults;
} );

also it would be good if you could namespace your class/methods to Mindkomm maybe?

I’ll consider that for the future. Namespacing surely is a good idea in WordPress land.

gchtr avatar Jun 03 '22 09:06 gchtr

Thanks!

codemonkeynorth avatar Jun 03 '22 11:06 codemonkeynorth