Плагин карты сайта Jekyll - исключить страницы ресурсов
Я использую плагин jekyll-sitemap для Jekyll.
Есть ли способ исключить файлы.html внутри assets
папка? Некоторые из них содержат некоторые примеры 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>
куда with_picture.html
демонстрационный файл библиотеки Javascript, который поставляется вместе с ним при использовании npm install
(и я не могу потрудиться удалить их каждый раз для каждой библиотеки)
Согласно документам, используя sitemap: false
на нашем фронте вопрос должен решить это, но это, кажется, не работает вообще.
Поскольку у меня нет каких-либо предварительных материалов в этих файлах вендора, я использую для этого метод по умолчанию Front Matter в Jekyll, но безуспешно.
# in my _config.yml
defaults:
- scope:
path: 'assets/'
values:
sitemap: false
Я также попробовал следующее path
без удачи
путь: "активы"
Может быть так path: 'assets'
не принять во внимание подпапки?
3 ответа
Если ваша версия Jekyll v3.7.2
или выше и ваш jekyll-sitemap
версия v1.2.0
или выше, это должно работать:
defaults:
-
scope:
path: 'assets/**'
values:
sitemap: false
В **
будет соответствовать любому файлу в assets
каталог или в любом из его подкаталогов.
Вы можете легко создать свою собственную карту сайта без плагина: создайте файл с именем sitemap.xml в своей основной папке jekyll, как показано рядом с _post, _pages и _includes.
Все, что файл должен содержать, это следующее:
---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for post in site.posts %}
<url>
<loc>{{ site.url }}{{ post.url }}</loc>
{% if post.lastmod == null %}
<lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
{% else %}
<lastmod>{{ post.lastmod | date_to_xmlschema }}</lastmod>
{% endif %}
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
{% endfor %}
{% for page in site.pages %}
{% if page.sitemap != null and page.sitemap != empty %}
<url>
<loc>{{ site.url }}{{ page.url }}</loc>
<lastmod>{{ page.sitemap.lastmod | date_to_xmlschema }}</lastmod>
<changefreq>{{ page.sitemap.changefreq }}</changefreq>
<priority>{{ page.sitemap.priority }}</priority>
</url>
{% endif %}
{% endfor %}
</urlset>
В вашем файле _config.yml добавьте:
exclude :
- assets/vanilla-lazyload/demos