首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止"jekyll build“覆盖输出目录中的现有文件?

问如何阻止"jekyll build“覆盖输出目录中的现有文件?
EN

Stack Overflow用户
提问于 2014-01-23 18:40:38
回答 2查看 2.6K关注 0票数 5

我的Jekyll驱动的网站的来源生活在一个git回购,但该网站也需要有两个大的静态文件,太大,以进行版本控制。因此,它们不是Jekyll构建管道的一部分。

我想让它们简单地生活在Jekyll目的地的assets目录中(这是一个服务器目录;请注意,这里我没有对服务器的任何控制;我所能做的就是将静态文件转储到指定的目录中),这个目录在git中是不存在的。但是,运行jekyll build会删除输出目录中的所有内容。

在这种情况下,有办法改变Jekyll的行为吗?还是有其他好办法来处理这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-27 20:53:40

如果您通过FTP将Jekyll的输出目录上传到服务器,则可以使用FTP工具来忽略文件夹。

例如,我自己的站点是用Jekyll构建的,但是托管在我自己的网站上,所以我通过FTP上传它。

在这个答案中,我解释了我是如何编写建筑脚本和上传过程的。,所以我只需一次点击就可以更新我的网站。

在我的例子(Windows)中,我使用了WinSCP,一个免费的命令行FTP客户机.

如果您不在Windows上,则需要使用其他工具,但可能还有其他FTP工具可以忽略文件夹。

若要忽略assets文件夹中的WinSCP,只需将这一行放入脚本文件:

(包含实际WinSCP命令的文件-阅读我的https://stackoverflow.com/a/21223950/6884以获得更多信息)

代码语言:javascript
复制
option exclude "assets/"

现在您可以将您的大型assets文件夹上传到服务器上一次,以后通过FTP更新站点时不会覆盖/删除该文件夹。

票数 3
EN

Stack Overflow用户

发布于 2016-08-02 20:00:03

不确定这是否解决了OP中的具体情况,但是当我最终找到一个答案这里时,考虑到我是如何继续访问这个页面的,我想我应该为这个问题添加一个答案,以防它帮助到其他人。

我有一个git后钩子,当我推送到我的主机时,它会在我的网页上构建我的jekyll站点,但是它也删除了任何我已经FTP过的内容。所以现在我已经把我需要的东西放在一个目录中(在我的例子中是external/),并将以下内容添加到我的_config.yml中

代码语言:javascript
复制
exclude: [external]
keep_files: [external]

现在,external/中的文件仍然存在。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21316679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档