Jekyll 的站点地图插件 - 排除资产页面

Alv*_*aro 1 jekyll jekyll-extensions

我正在使用Jekyll 的jekyll-sitemap插件。

有没有办法排除assets文件夹中的 .html 文件?其中一些包含一些 HTML 示例,我最终在我的 sitemaps.xml 中得到如下内容,这是没有意义的:

<url>
<loc>https://example.com/blog/assets/vanilla-lazyload/demos/with_picture.html</loc>
<lastmod>2017-11-18T15:05:22+01:00</lastmod>
</url>
Run Code Online (Sandbox Code Playgroud)

哪里with_picture.html有 Javascript 库的演示文件,使用时附带它npm install(我懒得每次为每个库删除这些文件)

根据文档,sitemap: false在我们的前文中使用应该可以解决这个问题,但它似乎根本不起作用。

因为我在这些供应商文件中没有任何 Front Matter,所以我使用Jekyll 的 Front Matter 默认方法来执行此操作,但没有成功。

# in my _config.yml
defaults:
  - scope:
      path: 'assets/'
    values:
      sitemap: false
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下方法path但没有运气:

路径:“资产”

可能path: 'assets'不会考虑子文件夹吗?

Eth*_*han 6

如果你的 Jekyll 版本是v3.7.2或更高版本并且你的jekyll-sitemap版本是v1.2.0或更高版本,这应该可以工作:

defaults:
  -
    scope:
      path: 'assets/**'
    values:
      sitemap: false
Run Code Online (Sandbox Code Playgroud)

将**匹配assets目录或其任何子目录中的任何文件。

这是文档中的相关部分。