作者:互联网 时间: 2026-09-11 12:50: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 页面自动构建不兼容)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 文件夹中没有站点地图生成器插件。