2015-04-24 2 views
0

J'utilise gulp pour générer des fichiers *.html statiques. Actuellement, ils sont tous situés dans le dossier racine.Générer des fichiers index.html dans différents dossiers pour créer des URLs sans extension

Par exemple:

|- about.html 
|- contact.html 
|- faq.html 

Je voudrais accueillir ces derniers sur un hôte statique, mais avec urls sans extension. Pour gérer cela, je voudrais que mon gulp à quelque chose en fait sortie comme ceci:

|- about 
    |- index.html 
|- contact 
    |- index.html 
|- faq 
    |- index.html 

Depuis index.html est la valeur par défaut pour mon hôte statique, il en résulterait about/, contact/, faq/ urls sans extension. Je suis perdu sur la façon d'accomplir cela et aimerais de l'aide.

Répondre

1

trouvé une solution à l'aide gulp-foreach et gulp-rename:

gulp.task('extensionless-create', ['fileinclude'], function() { 
    return gulp.src(['./.tmp/*.html', '!./.tmp/index.html']) 
     .pipe($.foreach(function (stream, file) { 
      return stream 
       .pipe($.rename('index.html')) 
       .pipe(gulp.dest('./.tmp/' + file.relative.substring(file.relative.lastIndexOf('/') + 1, file.relative.lastIndexOf('.')) + '/')); 
     })); 
});