【问题标题】:How to copy subdirectories as-is in a Jekyll site如何在 Jekyll 站点中按原样复制子目录
【发布时间】:2014-05-14 20:18:14
【问题描述】:

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

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

它工作得很好......除了 Jekyll 不复制以下划线开头的文件,我有很多:Sphinx 命名一些特殊目录,带有前导下划线(_static_modules... ),并且我发布了一些 python 代码,其中也使用了前导下划线(例如__init__.py)。

我知道我可以在_config.yml 中使用include 指令,并一一添加我想要保留的所有已知文件/目录。但是我仍然会冒着丢失一些文件的风险(尤其是当我的生成器进化时)。

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

有没有办法做到这一点?我找不到任何...

【问题讨论】:

  • 我不能确定,但​​ afaik 没有。您可能确实必须使用include 指令。

标签: jekyll


【解决方案1】:

我使用的策略(我假设是 jekyll 开发人员打算使用的策略)是让生成工具(sphinx、yard、...)直接生成到输出目录(例如 _site/api)并添加生成的文件夹到 _config.yml 中的 keep_files configuration option

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      这很奇怪。我的输出中没有包含名为 hippo_menus 的文件夹。以前是这样,后来突然停了。我将其更改为 hippomenus,现在它已包含在输出中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-27
        • 1970-01-01
        • 2013-05-14
        • 1970-01-01
        • 1970-01-01
        • 2016-08-16
        • 1970-01-01
        相关资源
        最近更新 更多