Gulp Jekyll在_site中关闭目录,尽管_config.yml。

Gulp Jekyll在_site中关闭目录,尽管_config.yml。,gulp,jekyll,Gulp,Jekyll,我正在与Jekyll建立一个站点,并使用Gulp管理资产。由于我使用Gulp来管理我的资产,我希望Jekyll在转换过程中忽略./assets,而在构建站点的其余部分时,让./site/assets/单独运行 我已将_config.yml配置为 exclude: [assets] # Exclude assets/ from the conversion keep: [assets] # Don't delete _site/assets when building the site 我

我正在与Jekyll建立一个站点,并使用Gulp管理资产。由于我使用Gulp来管理我的资产,我希望Jekyll在转换过程中忽略./assets,而在构建站点的其余部分时,让./site/assets/单独运行

我已将_config.yml配置为

exclude: [assets] # Exclude assets/ from the conversion
keep: [assets]    # Don't delete _site/assets when building the site
我的gulpfile.js是:

var gulp = require('gulp');
var sass = require('gulp-ruby-sass');

gulp.task('sass', function() {
  return sass('assets/stylesheets/main.scss')
    .on('error', sass.logError)
    .pipe(gulp.dest('_site/assets/'));
});

gulp.task('default', function() {
  gulp.start('sass');
});
然后我运行:

gulp
jekyll build

当我运行
gulp
时,./\u sites/assets/目录会按预期创建,但当我运行
jekyll build
/\u site/assets/时会被删除。我缺少什么配置?

正如前面提到的,keep_files指令是正确的,而不仅仅是keep。以下信息来自Jekyll的网站

目标文件夹将在站点生成中清理 在默认情况下,当站点处于 建造。不由您的站点创建的文件或文件夹将被删除 远离的。某些文件可以通过在 配置指令。不要使用重要位置 对于相反,将其用作临时区域并复制文件 从那里到您的web服务器

我决定通过一步一步从头做起来检验这一点 我附加到默认jekyll的_config.yml文件的部分如下所示

exclude: [someFolderHere]  
keep_files: [someFolderHere]
从头开始创建新的jekyll站点

wolf@sloth:~/blogs$jekyll新建虚拟博客 新的jekyll站点安装在/home/wolf/blogs/dummy blog中。 wolf@sloth:~/blogs$cd虚拟博客/ wolf@sloth:~/blogs/dummy blog$

正在检查站点文件夹的内容

运行第一个构建

再次检查站点文件夹的内容

现在我们有了_站点文件夹

在_站点下创建一些文件夹

正在检查此文件是否存在

再次运行构建

检查文件toasttoas123是否仍然存在

在修改之前为_config.yml创建备份

添加exclude和keep_files指令并将编辑的文件与备份进行比较

再次创建someFolderHere和dummy toasttoas123文件

运行构建

检查文件是否仍然存在


我认为这是
保留文件:
不仅仅是
保留
。你试过了吗?Ron是对的,keep_文件应该是正确的。从杰基尔的文档页面“目标文件夹在网站生成时被清理。默认情况下,在网站生成时,目标文件夹的内容会自动清理。”。将删除站点未创建的文件或文件夹。通过在configuration指令中指定某些文件,可以保留这些文件。不要在重要位置进行任何活动;取而代之的是,将它用作暂存区,并将文件从那里复制到您的web服务器上。
wolf@sloth:~/blogs/dummy-blog$ ll -rta
total 40
drwxr-xr-x 12 wolf wolf 4096 Jan 30 09:40 ..
-rw-r--r--  1 wolf wolf  435 Jan 30 09:40 _config.yml
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _layouts
-rw-r--r--  1 wolf wolf  451 Jan 30 09:40 index.html
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _includes
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 css
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _posts
-rw-r--r--  1 wolf wolf 1292 Jan 30 09:40 feed.xml
-rw-r--r--  1 wolf wolf  470 Jan 30 09:40 about.md
drwxr-xr-x  6 wolf wolf 4096 Jan 30 09:40 .
wolf@sloth:~/blogs/dummy-blog$
wolf@sloth:~/blogs/dummy-blog$ jekyll build
Configuration file: /home/wolf/blogs/dummy-blog/_config.yml
            Source: /home/wolf/blogs/dummy-blog
       Destination: /home/wolf/blogs/dummy-blog/_site
      Generating... 
                    done.
wolf@sloth:~/blogs/dummy-blog$
wolf@sloth:~/blogs/dummy-blog$ ll -rta
total 44
drwxr-xr-x 12 wolf wolf 4096 Jan 30 09:40 ..
-rw-r--r--  1 wolf wolf  435 Jan 30 09:40 _config.yml
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _layouts
-rw-r--r--  1 wolf wolf  451 Jan 30 09:40 index.html
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _includes
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 css
drwxr-xr-x  2 wolf wolf 4096 Jan 30 09:40 _posts
-rw-r--r--  1 wolf wolf 1292 Jan 30 09:40 feed.xml
-rw-r--r--  1 wolf wolf  470 Jan 30 09:40 about.md
drwxr-xr-x  5 wolf wolf 4096 Jan 30 09:41 _site
drwxr-xr-x  7 wolf wolf 4096 Jan 30 09:41 .
wolf@sloth:~/blogs/dummy-blog$ ll _site/
total 32
drwxr-xr-x 3 wolf wolf 4096 Jan 30 09:41 jekyll
-rw-r--r-- 1 wolf wolf 5816 Jan 30 09:41 index.html
-rw-r--r-- 1 wolf wolf 2954 Jan 30 09:41 feed.xml
drwxr-xr-x 2 wolf wolf 4096 Jan 30 09:41 css
drwxr-xr-x 2 wolf wolf 4096 Jan 30 09:41 about
drwxr-xr-x 7 wolf wolf 4096 Jan 30 09:41 ..
drwxr-xr-x 5 wolf wolf 4096 Jan 30 09:41 .
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$ mkdir _site/someFolderHere
wolf@sloth:~/blogs/dummy-blog$ touch _site/someFolderHere/toasttoast123
wolf@sloth:~/blogs/dummy-blog$
wolf@sloth:~/blogs/dummy-blog$ ll _site/someFolderHere/toasttoast123 
-rw-r--r-- 1 wolf wolf 0 Jan 30 09:42 _site/someFolderHere/toasttoast123
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$ jekyll build
Configuration file: /home/wolf/blogs/dummy-blog/_config.yml
            Source: /home/wolf/blogs/dummy-blog
       Destination: /home/wolf/blogs/dummy-blog/_site
      Generating... 
                    done.
wolf@sloth:~/blogs/dummy-blog$
wolf@sloth:~/blogs/dummy-blog$ ll _site/someFolderHere/toasttoast123 
ls: cannot access _site/someFolderHere/toasttoast123: No such file or directory
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$ cp -p _config.yml _config.yml.somebackup
wolf@sloth:~/blogs/dummy-blog$ rvim _config.yml
wolf@sloth:~/blogs/dummy-blog$ diff -u _config.yml _config.yml.somebackup 
--- _config.yml 2016-01-30 09:44:26.238366056 +0200
+++ _config.yml.somebackup  2016-01-30 09:40:08.422370474 +0200
@@ -10,6 +10,3 @@
 # Build settings
 markdown: kramdown
 permalink: pretty
-
-exclude: [someFolderHere]
-keep_files: [someFolderHere]    
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$ mkdir _site/someFolderHere
wolf@sloth:~/blogs/dummy-blog$ touch _site/someFolderHere/toasttoast123
wolf@sloth:~/blogs/dummy-blog$ jekyll build
Configuration file: /home/wolf/blogs/dummy-blog/_config.yml
            Source: /home/wolf/blogs/dummy-blog
       Destination: /home/wolf/blogs/dummy-blog/_site
      Generating... 
                    done.
wolf@sloth:~/blogs/dummy-blog$
wolf@sloth:~/blogs/dummy-blog$ ll _site/someFolderHere/toasttoast123 
-rw-r--r-- 1 wolf wolf 0 Jan 30 09:45 _site/someFolderHere/toasttoast123
wolf@sloth:~/blogs/dummy-blog$ 
wolf@sloth:~/blogs/dummy-blog$