从Jekyll watch中排除目录
我正在使用Jekyll3.1.1来生成一个博客,最近我引入了一个Git钩子来自动发布推送前的更改 引入此钩子后,我在运行从Jekyll watch中排除目录,jekyll,Jekyll,我正在使用Jekyll3.1.1来生成一个博客,最近我引入了一个Git钩子来自动发布推送前的更改 引入此钩子后,我在运行jekyllservice时开始出现以下错误: Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml Source: /Users/egillespie/Projects/blog.givingjar.org Destination: /U
jekyllservice
时开始出现以下错误:
Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
Source: /Users/egillespie/Projects/blog.givingjar.org
Destination: /Users/egillespie/Projects/blog.givingjar.org/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 0.223 seconds.
** ERROR: directory is already being watched! **
Directory: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks
is already being watched through: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks
MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors
Auto-regeneration: enabled for '/Users/egillespie/Projects/blog.givingjar.org'
Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
奇怪的是,我将\u config.yml
中的节点模块排除在外:
exclude:
- Gemfile
- Gemfile.lock
- LICENSE
- README.md
- package.json
- Gruntfile.js
- node_modules
节点模块
被正确地排除在建筑之外(即站点
中没有节点模块
子目录)
我还排除了.gitignore
中的节点\u模块
:
# project
node_modules
_site*
.sass-cache
.jekyll-metadata
# general
.DS_Store
Thumbs.db
ehthumbs.db
基于并且似乎应该将节点单元模块
从手表中排除,但事实并非如此。如果有其他方法可以从手表中排除文件,我无法从文档中解读
从监视中排除目录并避免上述错误的正确方法是什么?在_config.yml中排除参数的值应为数组,即
exclude: ['_site', 'node_modules', ...]
来源:请将此信息发送到您的\u config.yml
:
keep_files: [node]
其中,节点
是要从--watch
中排除的文件夹。这样做的目的是保留文件夹节点
。然后在站点root
中添加所有要保留但不是由Jekyll呈现的文件。我使用的语法是在YAML中创建数组的另一种方法。不过,我确实试过你的方法,但我仍然会出错。我发现这是一个有效的解决方案。看看这是否适合你。谢谢你指出这个解决方法,贾伯伦。不幸的是,在我的例子中,它并没有消除错误。同样的问题,但这没有帮助。我添加了node\u模块
,但我仍然得到错误。文档建议保留文件
告诉Jekyll将文件单独留在站点
中。不幸的是,node\u modules
是我项目的基础,node没有提供一种方法来改变这一点。我确实试着将。/node\u模块
传递到保存文件
,看看我是否能欺骗杰基尔,但也没用。嗯。。。尝试exclude:[node\u modules,Gemfile等]
并查看其运行情况。。。如果不起作用,并且这里的答案都不起作用,您可以尝试继续提问。我尝试了排除:[node\u modules,Gemfile,etc]
,也没有用。我会查一下杰基尔的谈话,然后回来汇报。谢谢。请尝试将这一行添加到文件.gitignore
:node\u modules
wow。这真是太奇怪了!最好试试杰基尔谈话。问一下帕克-他是那里的“老板”!你的问题解决了吗?如果没有,你能展示更多关于钩子本身的信息吗?你解决过这个问题吗?一年后,我还在为同样的手表问题而挣扎…@RossR我一直无法解决这个问题。我迁移到Netlify,这样我就不再需要Git钩子了,它解决了导致这个问题的场景。我猜:我有一些符号链接,Jekyll Watch会导入符号链接的父项(可能是为了提高效率)。无论如何,我删除了符号链接并解决了问题。