@luego/gulp-shadow-files
v4.0.1
Published
Ganerate shadow files from a array of names
Downloads
50
Readme
Gulp Shadow Files
Plugin Gulp para processar arquivos com shadow files (arquivos que começam com @) e obter dados dinâmicos.
Instalação
npm install @luego/gulp-shadow-filesUso
O plugin agora oferece dois métodos estáticos para uso em pipes separados:
1. LuegoGulpShadowFiles.createFiles(params)
Processa arquivos que começam com @ e cria novos arquivos baseados nos dados.
Parâmetros:
basePages: Diretório base das páginasbaseDataLocal: Diretório base dos dados locaisbaseDataRemoteCache: Diretório base do cache remotobaseDataRemote: Diretório base dos dados remotosdataGlobal: Dados globais (incluindo metas)
2. LuegoGulpShadowFiles.getData(params)
Obtém dados para todos os arquivos (incluindo os criados pelo createFiles).
Parâmetros: Mesmos parâmetros do createFiles.
Exemplos
Uso em um único pipe (recomendado)
const gulp = require('gulp');
const LuegoGulpShadowFiles = require('@luego/gulp-shadow-files');
gulp.task('process-files', function() {
return gulp.src('src/**/*.html')
// Primeiro: criar arquivos novos processando @
.pipe(LuegoGulpShadowFiles.createFiles({
basePages: 'src',
baseDataLocal: 'data/local',
baseDataRemoteCache: 'data/cache',
baseDataRemote: 'data/remote',
dataGlobal: {
metas: {
base: 'https://example.com/'
}
}
}))
// Segundo: obter dados de todos os arquivos
.pipe(LuegoGulpShadowFiles.getData({
basePages: 'src',
baseDataLocal: 'data/local',
baseDataRemoteCache: 'data/cache',
baseDataRemote: 'data/remote',
dataGlobal: {
metas: {
base: 'https://example.com/'
}
}
}))
.pipe(gulp.dest('dist'));
});Uso em pipes separados
gulp.task('create-files', function() {
return gulp.src('src/**/*.html')
.pipe(LuegoGulpShadowFiles.createFiles({
basePages: 'src'
}))
.pipe(gulp.dest('temp'));
});
gulp.task('get-data', function() {
return gulp.src('temp/**/*.html')
.pipe(LuegoGulpShadowFiles.getData({
basePages: 'src',
baseDataLocal: 'data/local',
baseDataRemoteCache: 'data/cache',
baseDataRemote: 'data/remote',
dataGlobal: {
metas: {
base: 'https://example.com/'
}
}
}))
.pipe(gulp.dest('dist'));
});
// Executar em sequência
gulp.task('process', gulp.series('create-files', 'get-data'));Como funciona
- createFiles: Processa arquivos que contêm
@no nome e cria novos arquivos baseados nos dados - getData: Obtém dados para todos os arquivos, incluindo os recém-criados
Esta separação permite maior controle sobre o processo e melhor performance em pipelines complexos.
