jonkemp/gulp-useref

Add prefix to the src/href output path

Open

#175 aperta il 27 gen 2016

Vedi su GitHub
 (13 commenti) (1 reazione) (0 assegnatari)JavaScript (97 fork)batch import
feature requesthelp wanted

Metriche repository

Star
 (717 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

I have a use case where I use gulp to build a Wordpress theme. The src/href output path created by useref is relative to the directory containing the theme, but the website runs relative to the root directory. So if I use

<!-- build:css css/combined.css -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="bower_components/fontawesome/css/font-awesome.css" />
<!-- endbuild -->

the website looks for the 'combined.css' file in 'mydomain.com/css/combined.css', when in reality its location is something like this: 'mydomain.com/wp-content/themes/sometheme/css/combined.css'.

Wordpress has a php function to generate a path to the root of the theme like this: <? bloginfo('template_directory'); ?>. Right now I just add this manually to the places where I have useref blocks, but it would be much easier if I could just have useref prefix this using the options, since now I have to remember to add the above line every time i deploy my theme.

I tried just adding the Wordpress code in the blocks like this:

<!-- build:css <?bloginfo('template_directory');?>/css/combined.css -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="bower_components/fontawesome/css/font-awesome.css" />
<!-- endbuild -->

This would make the path inserted in the href attribute look correct, but gulp-useref would fail (it basically doesn't stop running at all - never halts the process). I guess the reason is obvious - useref now tries to create the 'combined.css' in a directory called '/css/' (which I assume is illegal).

Is there any way to prefix or add a base path to the src/href output path, without changing the actual path the 'combined.css' file is stored at?

Guida contributor