不要将“Jade include”文件转换为html文件

时间:2015-06-04 08:12:27

标签: node.js pug metalsmith

我正在使用metalsmith静态站点生成器并分别从jade / sass构建html / css文件。

当我编译时,我得到以下

  • .scss文件为.css文件
  • ._ scss文件不是作为.css文件生成的,但我可以将它们包含在.scss文件中。 (包括sass文件)
  • .jade文件为.html文件

我很高兴Sass的工作方式。但是当我将一些包含文件保存为.jade文件时,包含文件也会创建为.html文件。

例如:


    -home.jade
    -include.jade

转换为


    -home.html
    -include.html

但我只想要


    -home.html

我不希望构建目录中有多个html文件(包含文件不应转换为html文件)。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您是否正在使用metalmith-in-place作为模板?您可以简单地创建一个快速内联过滤器功能来删除与模式匹配的文件:

function(){
  var minimatch = require("minimatch");

  return function skip(files, metalsmith, done){
    for (var file in files) {
      if (minimatch(file, "/**/_*.jade")) delete files[file];
    }

    done();
  };
}

因此,将跳过任何带有下划线前缀的文件。

或者你在使用metalsmith-layouts?

答案 1 :(得分:0)

我们可以为所有html-layout文件创建一个文件夹,并将它们保存在我们的工作目录之外(应调整路径以在我们的工作html文件中调用布局html)。因此,只会生成工作的html文件而不是布局文件。