2015-04-24 5 views
0

Я использую gulp для генерации статических файлов *.html. В настоящее время все они находятся в корневой папке.Создайте файлы index.html в разных папках для создания URL-адресов без расширения

Например:

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

Я хотел бы разместить их на статический хост, но с extensionless URLs. Чтобы справиться с этим, я хотел бы мой глоток на самом деле вывода что-то вроде этого:

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

С index.html по умолчанию для моего статического хоста, это привело бы к about/, contact/, faq/ extensionless URLs.

Я проиграл, как это сделать, и мне понравилась бы помощь.

ответ

1

Найдено решение с использованием gulp-foreach и 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('.')) + '/')); 
     })); 
});