如何在Jekyll站点中按原样复制子目录

时间:2014-05-14 20:18:15

标签: jekyll

我有一个网站;我手动维护的一些页面,其他一些页面,我使用工具生成(主要是Shinx)。对于手动维护的页面,我想迁移到Jekyll。

所以我的想法是将我的整个网站复制到一个jekyll项目中,并逐步将页面从静态HTML文件移动到jekyll管理的markdown文件,更容易维护。另一方面,生成的页面将不受影响地复制。

它工作得很好......除了Jekyll没有复制以下划线开头的文件,我有很多:Sphinx用一个前导下划线命名一些特殊目录(_static,{{1} } ...),我发布了一些python代码,其中也使用了前导下划线(例如 _modules)。

我知道我可以在__init__.py中使用include指令,并逐个添加我想保留的所有已知文件/目录。但我仍然冒险错过一些文件(特别是当我的发电机进化时)。

我宁愿能够告诉Jekyll,对于每个生成的子目录,"这个目录应该按原样复制"。这样可以防止它查看其中的每个文件以查看是否应该对其进行处理,因此任何文件(以下划线开头)都会被盲目复制。

有办法吗?我找不到任何......

3 个答案:

答案 0 :(得分:7)

我使用的策略(我认为,jekyll开发人员的策略)是将生成工具(sphinx,yard,...)直接生成到输出目录(例如_site / api)并添加生成的文件夹到_config.yml

中的keep_files configuration option

答案 1 :(得分:2)

Jekyll会复制它找到的所有文件夹,除非,否则名称以下划线开头。下划线告诉Jekyll不要直接将目录复制到_sites。

当您转向Jekyll时,我会说最好遵循Jekyll的标准命名格式,并从您希望复制到_sites的目录中删除下划线。

答案 2 :(得分:0)

这很奇怪。名为hippo_menus的文件夹未包含在我的输出中。它曾经,但后来突然停止了。我将它改为hippomenus,现在它已包含在输出中。