2016-04-19 3 views
1

J'essaie d'obtenir Gulp pour compiler tous mes fichiers MOINS à partir d'un dossier MOINS et ensuite créer un dossier CSS dans leurs dossiers de thème Wordpress respectifs compilés dans un répertoire CSS /main.css fichier. C'est en utilisant Wordpress wp-content/themes/theme-name/less en tant que structure de fichier. Chaque fois que j'essaie de le compiler, il le jette dans un dossier/themes/** ou si j'utilise .pipe (gulp.dest ('./ css /')); il le crée à la racine du projet. Je veux qu'il crée un nouveau dossier css dans chacun des dossiers de thème et compile main.css dans chacun de ces dossiers en fonction de leurs fichiers MOINS respectifs.Gulp pour compiler MOINS dans plusieurs dossiers de thème Wordpress et créer des dossiers CSS respectifs

gulp.task('less', ['clean'], function() { 

var paths = [ 
    "wp-content/themes/theme-name-1/less/_compile.less", 
    "wp-content/themes/theme-name-2/less/_compile.less", 
    "wp-content/themes/theme-name-3/less/_compile.less" 
]; 

var compile = gulp.src(paths, { base: './'}) 
    .pipe(rename({ 
     basename: "main", 
     extname: ".css" 
    })) 
    .pipe(sourcemaps.init()) 
    .pipe(less()) 
    .pipe(autoprefixer()) 
    .pipe(sourcemaps.write('./css')) 
    .pipe(gulp.dest('wp-content/themes/**/css')); 

return (compile); 
    }); 

La façon dont je veux que cela se produise est:

Lorsque vous exécutez lampée, il compile et crée un dossier: wp-content/themes/thème Nom/css de wp-content/themes/thème -sans nom. Je veux qu'il regarde dans chaque dossier de nom de thème et crée un dossier/css/respectif avec le moins compilé étant main.css. À l'heure actuelle, il semble créer un dossier ** à la racine de wp-content/themes.

Répondre

0

gulp.dest est la destination d'où vos fichiers seront placés, alors .pipe(gulp.dest('wp-content/themes/**/css')); placera vos fichiers compilés dans le dossier wp-content/themes/**/css.

Donc changé à la destination de l'endroit où vous voulez que vos fichiers soient placés, alors utilisez-le comme ceci: .pipe(gulp.dest('wp-content/themes/theme-name/css'));.

+0

Existe-t-il un moyen de conserver le nom du thème dans gulp.dest? J'ai plusieurs dossiers de thème (thèmes parent et enfant) et chacun d'eux aurait besoin de cela fait dans chaque dossier respectif. Si j'utilise votre méthode, il utilisera simplement un dossier de thème et le reste n'aura pas son dossier/css/respectif. ex: contenu wp/thèmes/thème-name-1/moins -> wp-content/themes/thème-name-1/css contenu wp/thèmes/thème-name-2/moins - -> wp-content/themes/theme-name-2/css Est-il possible d'y parvenir? – dope

+0

@dope Je ne sais pas si c'est possible, vous pourriez faire différentes tâches? Parce que je pense que vous ne travaillerez pas sur différents projets au même moment? – Peurr

+0

Je pourrais - je me demandais s'il y avait un moyen de compiler en vrac les fichiers LESS, puis cracher dans leurs dossiers de thème respectifs. Je voudrais juste ajouter les chemins de la var dans le futur si nous devions créer un autre thème enfant. – dope