最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
jekyll-sitemap:实践指南
时间:2026-09-11 12:18:01 编辑:袖梨 来源:一聚教程网
如果把jekyll-sitemap放进候选清单,不能只看热度;它的定位是Jekyll 插件可为您的 Jekyll 站点静默生成 sitemaps.org 兼容站点地图。对日常自动化任务来说,输入边界、依赖和失败处理如果不清楚就很难稳定复用往往决定它能否落地,不能只用安装成功来判断。我建议用一项范围明确的真实任务完成最小试跑,重点记录配置时间、输出质量、异常信息和维护痕迹,再与现有方案比较。如果团队属于愿意先做小范围验证并复查原始文档的团队,它有继续测试的理由;否则先看替代方案会更省时间。
Jekyll 站点地图生成器插件
Jekyll 插件可以为您的 Jekyll 站点静默生成 sitemaps.org 兼容站点地图
用途
- 将
gem 'jekyll-sitemap'添加到站点的 Gemfile 并运行bundle - 将以下内容添加到您站点的
_config.yml中:
url: "https://example.com" # the base hostname & protocol for your site
plugins:
- jekyll-sitemap
如果您使用的 Jekyll 版本低于 3.5.0,请使用 gems 密钥而不是 plugins。
如果所有gem插件都有相同的priority,它们将在
一般来说,它们是必需的。因此,如果您有其他插件
生成内容并将该内容存储在 site.pages、site.posts 中,或者
site.collections,请务必在之后要求 jekyll-sitemap
如果您“希望”站点地图包含生成的内容,那么这些其他宝石
内容,或者如果您“不希望”站点地图,则“在”其他宝石之前
包括宝石生成的内容。 (编程是难的。)
由于站点地图已添加到 site.pages,因此您可能需要修改任何内容
迭代所有页面的模板(例如,构建一个菜单
网站的所有内容)。
与 GitHub Pages Gem 一起使用的注意事项
GitHub Pages gem 会忽略 Gemfile 中包含的所有插件。如果您仅在 Gemfile 中包含 jekyll-sitemap 而没有将其包含在 _config.yml 中该插件将无法工作。这可能会令人困惑,因为 Jekyll 官方文档声明插件可以包含在 Gemfile 或 _config.yml 中。
当构建使用 GitHub Pages gem 的站点时,请按照上面的说明进行操作,并确保 jekyll-sitemap 列在 _config.yml 的 plugins 数组中。
:警告:如果您使用的是 Jekyll < 3.5.0,请使用 gems 密钥而不是 plugins。
sitemap.xml中的<lastmod>标签将按优先级反映:
- 如果您安装了
jekyll-last-modified-at插件,则文件系统报告的文件修改日期(与 GitHub 页面自动构建不兼容) - 如果您在 Front Matter 中添加变量
last_modified_at:和日期,则为个性化日期 - 您的帖子的创建日期(对应于
post.date变量)
排除情况
如果您想从站点地图中排除特定的 pages/posts,请设置
page/post 前面的站点地图标记为 false。
sitemap: false
从站点地图中排除文件。可以使用 Jekyll v3.7.2 和 jekyll-sitemap v1.2.0 进行配置来实现。
将 glob 配置添加到 _config.yml 文件中。
defaults:
-
scope:
path: "assets/**/*.pdf"
values:
sitemap: false
覆盖默认开发设置
请遵循 Jekyll 文档 上的说明。
本地开发
- 使用
script/bootstrap引导您的本地开发环境。 - 使用
script/console通过 Gem 加载本地 IRB 控制台。
测试
script/bootstrapscript/cibuild
已知问题
- 如果
sitemap.xml没有在_site文件夹中生成,请确保_config.yml没有safe: true。这会阻止所有插件工作。 - 如果
sitemap.xml未在_site文件夹中生成,请确保_plugin文件夹中没有站点地图生成器插件。