dire che ho un MENO struttura di directory CSS in questo modo:Rinomina file in base a espressioni regolari nel Gulp
less/
core/
_main.less
header.less
body.less
footer.less
contact/
_main.less
form.less
details.less
Voglio scrivere un compito Gulp che andrà a cercare i file _main.less
in ogni sottodirectory della less/
dir, Passare questo gulp-meno e scrivere l'output al css/
dir così:
css/
core.css
contact.css
Perché _main.less
include gli altri file nella sua directory, solo i file _main.less
dovranno essere analizzati, ma voglio il file di output per avere il nome della directory è in
Finora ho questo:.
gulp.src('less/*/*/_main.less')
.pipe(less())
.pipe(gulp.dest('css'));
Ma questo creerà una struttura di directory simile a questo:
css/
core/
_main.css
contact/
_main.css
Ma non è quello che voglio. Stavo pensando di usare un'espressione regolare per abbinare il nome della directory, recuperare questo in una variabile matches
e rinominare il file di conseguenza. Qualcosa del genere:
gulp.src(/less\/[^\/]+\/([^\/]+)\/_main.less/)
.pipe(less())
.pipe(rename(function(context) {
context.src.matches[1] + '.css'
}))
.pipe(gulp.dest('css'));
Questo codice è solo un esempio. Non riesco a capire come fare una cosa del genere, o se è anche possibile.
È possibile? Se é cosi, come?