this articleにJohn Dayで説明したように、あなたはこのコンテンツを持つサイトのルートでsitemap.xml
ファイルを作成することができます:_config.yml
で
---
layout: nil
title : "Sitemap"
sitemap_exclude: y
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for post in site.posts %}
<url>
<loc>{{site.production_url}}{{ post.url | remove: 'index.html' }}</loc>
</url>
{% endfor %}
{% for page in site.pages %}
{% if page.sitemap_exclude != 'y' %}
<url>
<loc>{{site.production_url}}{{ page.url | remove: 'index.html' }}</loc>
</url>
{% endif %}
{% endfor %}
</urlset>
を、(例えばhttp://example.com
)サイトの完全なベースURLをproduction_url
という名前の変数を定義します。
リンクをサイトマップから除外する場合は、ページまたは投稿の前面にsitemap_exclude: y
を含めます。
さらに高度な例については、を参照してください。
これは、投稿では可能ですが、ページではできません。静的ページがある場合、たとえば「私について」ページでは、site.posts配列の一部にはなりません。したがって、このappproachでサイトマップが不完全になります。 – Polygnome
ポリゴン - これは正しくありません。あなたは '{site.pages%}のページの% 'を介してすべてのページ(投稿ではない)にアクセスできるページアクセッサがあります。関連する情報源はここにあります:https://github.com/mojombo/jekyll/blob/master/lib/jekyll/site.rb – heliotrope
興味深い。 https://github.com/mojombo/jekyll/wiki/Template-Dataには記載されていません。たぶんあなたはそれをそこに加えますか? – Polygnome